AndroidX ওভারভিউ

androidx নেমস্পেসের অধীনে অ্যান্ড্রয়েড জেটপ্যাক লাইব্রেরিগুলো রয়েছে। সাপোর্ট লাইব্রেরির মতোই, androidx নেমস্পেসের লাইব্রেরিগুলো অ্যান্ড্রয়েড প্ল্যাটফর্ম থেকে আলাদাভাবে সরবরাহ করা হয় এবং বিভিন্ন অ্যান্ড্রয়েড রিলিজের মধ্যে ব্যাকওয়ার্ড কম্প্যাটিবিলিটি প্রদান করে।

AndroidX হলো মূল Android Support Library- এর একটি উন্নত সংস্করণ, যা এখন আর রক্ষণাবেক্ষণ করা হয় না। androidx প্যাকেজগুলো ফিচারের সমতা এবং নতুন লাইব্রেরি প্রদানের মাধ্যমে Support Library-কে সম্পূর্ণরূপে প্রতিস্থাপন করে।

এছাড়াও, AndroidX-এ নিম্নলিখিত বৈশিষ্ট্যগুলো অন্তর্ভুক্ত রয়েছে:

  • AndroidX-এর সমস্ত প্যাকেজ androidx স্ট্রিং দিয়ে শুরু হওয়া একটি সামঞ্জস্যপূর্ণ নেমস্পেসে থাকে। সাপোর্ট লাইব্রেরি প্যাকেজগুলোকে সংশ্লিষ্ট androidx.* প্যাকেজে ম্যাপ করা হয়েছে। সমস্ত পুরোনো ক্লাস এবং বিল্ড আর্টিফ্যাক্টকে নতুনগুলোর সাথে সম্পূর্ণভাবে ম্যাপ করার জন্য, প্যাকেজ রিফ্যাক্টরিং পৃষ্ঠাটি দেখুন।

  • সাপোর্ট লাইব্রেরির মতো নয়, androidx প্যাকেজগুলো আলাদাভাবে রক্ষণাবেক্ষণ ও আপডেট করা হয়। androidx প্যাকেজগুলো কঠোর সিম্যান্টিক ভার্সনিং ব্যবহার করে, যা ভার্সন 1.0.0 থেকে শুরু হয়েছে। আপনি আপনার প্রোজেক্টে AndroidX লাইব্রেরিগুলো স্বাধীনভাবে আপডেট করতে পারেন।

  • ভার্সন ২৮.০.০ হলো সাপোর্ট লাইব্রেরির সর্বশেষ রিলিজ। android.support লাইব্রেরির আর কোনো রিলিজ আসবে না। সকল নতুন ফিচারের উন্নয়ন androidx নেমস্পেসে করা হবে।

আপনার প্রকল্পে androidx লাইব্রেরি ব্যবহার করা

বর্তমান AGP ডিফল্টরূপে androidx লাইব্রেরি ব্যবহার সমর্থন করে। একটি বিদ্যমান প্রজেক্ট কীভাবে মাইগ্রেট করতে হয় তা জানতে 'Migrating to AndroidX' দেখুন।

যেসব প্রোজেক্ট মাইগ্রেট করা হয়নি, অথবা যেগুলোর লিগ্যাসি ডিপেন্ডেন্সি মাইগ্রেট করা হয়নি, সেগুলোর জন্য AGP নিম্নলিখিত ফ্ল্যাগগুলো প্রদান করে, যা আপনার প্রোজেক্টের gradle.properties ফাইলে সেট করা যেতে পারে।

  • android.useAndroidX : Android Gradle Plugin 9.0.0 এবং তার পরবর্তী সংস্করণগুলিতে এটি ডিফল্টরূপে True থাকে, এবং 9.0.0-এর পূর্ববর্তী সংস্করণগুলিতে এটি False থাকে। যখন এই ফ্ল্যাগটি ' true সেট করা হয়, তখন অ্যান্ড্রয়েড প্লাগইনটি একটি সাপোর্ট লাইব্রেরির পরিবর্তে উপযুক্ত AndroidX লাইব্রেরি ব্যবহার করে। AGP 10-এ এই ফ্ল্যাগটি ' false সেট করার ক্ষমতাটি সরিয়ে ফেলার পরিকল্পনা করা হয়েছে।
  • android.enableJetifier : যখন এই ফ্ল্যাগটি ' true তে সেট করা হয়, তখন অ্যান্ড্রয়েড প্লাগইন স্বয়ংক্রিয়ভাবে বিদ্যমান থার্ড-পার্টি লাইব্রেরিগুলির বাইনারি পুনর্লিখনের মাধ্যমে সেগুলিকে AndroidX নির্ভরতা ব্যবহার করার জন্য মাইগ্রেট করে। নির্দিষ্ট করা না থাকলে ফ্ল্যাগটি ডিফল্টরূপে false থাকে এবং AGP 10 থেকে এটি সরিয়ে ফেলার পরিকল্পনা করা হয়েছে, কারণ প্রকাশিত লাইব্রেরিগুলি সাধারণত মাইগ্রেশন সম্পন্ন করে ফেলেছে।

এপিআই রেফারেন্স

androidx নেমস্পেসের অন্তর্গত সমস্ত প্যাকেজ ও ক্লাস AndroidX রেফারেন্স সেকশনে পাওয়া যাবে।

অতিরিক্ত সম্পদ

জেটপ্যাক হোম পেজে কম্পোনেন্টগুলো সম্পর্কে আরও জানুন। সাপোর্ট লাইব্রেরি থেকে androidx এ প্যাকেজ রিফ্যাক্টরিং সম্পর্কে আরও তথ্যের জন্য, সেই বিষয়ের ব্লগ পোস্টটি দেখুন।