এন্ড্রয়েড পাইথন প্রোগ্রামিং জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল জেকুয়েরি এইচটিএমএল সিএসএস বুটস্ট্রাপ এঙ্গুলার জেএস
ফোরাম
 

এন্ড্রয়েড আর্কিটেকচার (Android Architecture)



গাদি গাদি সফ্টওয়্যার উপাদানের সমন্বয়ে গঠিত হয়েছে  অ্যান্ড্রয়েড অপারেটিং সিস্টেম। এই অপারেটিং সিস্টেমকে পাঁচটি বিভাগ এবং চারটি প্রধান স্তরে বিভক্ত করা হয়েছে। নিম্নের  আর্কিটেকচার ডায়াগ্রামে অ্যান্ড্রয়েড অপারেটিং সিস্টেমের বিভাগ এবং স্তরসমূহ দেখানো হলঃ।



লিনাক্স কার্নেল (Linux Kernel)

এটি অ্যান্ড্রয়েড আর্কিটেকচারের হৃদয় যা অ্যান্ড্রয়েড আর্কিটেকচারের একেবারে মূলে রয়েছে। এন্ড্রয়েড সিস্টেমের ডিভাইস ড্রাইভার, পাওয়ার ম্যানেজমেন্ট, মেমরি ম্যানেজমেন্ট, ডিভাইস ম্যানেজমেন্ট এবং রিসোর্স অ্যাক্সেসের সব দায় দায়িত্ব বর্তায় লিনাক্স কার্নেলের উপরে।



লিনাক্স কার্নেল (Linux Kernel)

এটি অ্যান্ড্রয়েড আর্কিটেকচারের হৃদয় যা অ্যান্ড্রয়েড আর্কিটেকচারের একেবারে মূলে রয়েছে। এন্ড্রয়েড সিস্টেমের ডিভাইস ড্রাইভার, পাওয়ার ম্যানেজমেন্ট, মেমরি ম্যানেজমেন্ট, ডিভাইস ম্যানেজমেন্ট এবং রিসোর্স অ্যাক্সেসের সব দায় দায়িত্ব বর্তায় লিনাক্স কার্নেলের উপরে।

লাইব্রেরি(Library)

লিনাক্স কার্নেলের উপরে থাকে নেটিভ লাইব্রেরি যেমন ওয়েবকিট, ওপেনজিএল, ফ্রিটাইপ, এসকিউএলাইট, মিডিয়া, সি রানটাইম লাইব্রেরি (libc) ইত্যাদি ওয়েবকিট লাইব্রেরি ব্রাউজার সমর্থনের জন্য, এসকিউএলাইট ডাটাবেসের জন্য, ফ্রি টাইপ ফন্ট সমর্থনের জন্য, মিডিয়া অডিও এবং ভিডিও ফর্ম্যাট প্লে এবং রেকর্ডিংয়ের জন্য ব্যবহৃত হয়।



এন্ড্রয়েড রানটাইম (Android Runtime)

এটি আর্কিটেকচারের তৃতীয় বিভাগ এবং নীচে থেকে উপরের দিকে দ্বিতীয় স্তরে অবস্থিত। এই বিভাগটি ডালভিক ভার্চুয়াল মেশিন(Dalvik Virtual Machine) নামে একটি মূল উপাদান সরবরাহ করে যা  জাভা ভার্চুয়াল মেশিনের মতই  এবং যাকে অ্যান্ড্রয়েডের জন্য বিশেষভাবে ডিজাইন ও  অপ্টিমাইজড করা হয়েছে।

ডালভিক ভিএম মেমরি ম্যানেজমেন্ট এবং মাল্টি-থ্রেডিংয়ের মতো লিনাক্সের মূল বৈশিষ্ট্যগুলি ব্যবহার করে। 

ডালভিক ভিএম  প্রতিটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনকে তার নিজস্ব প্রক্রিয়ায় চালিত করতে সক্ষম করে।

এন্ড্রয়েড রানটাইম এছাড়া  এক সেট মূল লাইব্রেরি সরবরাহ করে যা অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশকারীদেরকে স্ট্যান্ডার্ড জাভা প্রোগ্রামিং ভাষা ব্যবহার করে অ্যান্ড্রয়েড অ্যাপ্লিকেশন লিখতে সক্ষম করে।



এপ্লিকেশন ফ্রেমওয়ার্ক (Application Framework)

অ্যাপ্লিকেশন ফ্রেমওয়ার্ক স্তর অ্যাপ্লিকেশ ডেভেলপের সময়  জাভা ক্লাস আকারে বহুবিধ হাইয়ার-লেভেল সার্ভিস(higher-level service) সরবরাহ করে।

অ্যান্ড্রয়েড ফ্রেমওয়ার্কে নিম্নলিখিত প্রধান প্রধান সার্ভিসগুলি অন্তর্ভুক্ত থাকে-

Activity Manager − অ্যাপ্লিকেশনের  জীবনচক্র এবং এক্টিভিটি স্ট্যাকের সমস্ত দিক নিয়ন্ত্রণ করে।

  • Content Provider − এক অ্যাপ্লিকেশনকে  অ্যাপ্লিকেশনের সাথে ডেটা প্রকাশ এবং শেয়ার  করার অনুমতি দেয়।
  • Resource Manager − স্ট্রিংস, কালার সেটিংস এবং ইউজার  ইন্টারফেস লেআউটের মতো নন-কোড এম্বেডেড রিসোর্সে(non-code embedded resources) অ্যাক্সেস সরবরাহ করে।
  • Notifications Manager − অ্যাপ্লিকেশনকে ইউজারের কাছে  সতর্ক বার্তা  এবং বিজ্ঞপ্তি প্রদর্শন করার অনুমতি দেয়।
  • View System − অ্যাপ্লিকেশনের ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত একটি বর্ধিত দৃশ্য।


এপ্লিকেশন (Application)

আপনি এন্ড্রয়েড সিস্টেমে যে সমস্ত অ্যাপ্লিকেশন দেখতে পান তার সবগুলোই উপরোল্লিখিত ডায়াগ্রামের সবচেয়ে উপরের স্তরে থাকে। আপনি আপনার অ্যাপ্লিকেশনগুলো  এই স্তরে ইনস্টল করার জন্যই ডেভেলপ করবেন। এই জাতীয় অ্যাপ্লিকেশনগুলির উদাহরণ হলঃ প্লে স্টোর, কন্ট্যাক্ট, ব্রাউজার, গেমস ইত্যাদি