Android 2.2 APIs

API স্তর: 8

অ্যান্ড্রয়েড 2.2 হল একটি ক্ষুদ্র প্ল্যাটফর্ম রিলিজ যার মধ্যে ব্যবহারকারীর বৈশিষ্ট্য, বিকাশকারী বৈশিষ্ট্য, API পরিবর্তন এবং বাগ ফিক্স রয়েছে। বিকাশকারী বৈশিষ্ট্য এবং API পরিবর্তন সম্পর্কে তথ্যের জন্য, ফ্রেমওয়ার্ক API বিভাগটি দেখুন।

বিকাশকারীদের জন্য, Android 2.2 প্ল্যাটফর্মটি Android SDK-এর জন্য ডাউনলোডযোগ্য উপাদান হিসাবে উপলব্ধ। ডাউনলোডযোগ্য প্ল্যাটফর্মটিতে একটি অ্যান্ড্রয়েড লাইব্রেরি এবং সিস্টেম ইমেজ, সেইসাথে এমুলেটর স্কিন এবং আরও অনেক কিছু রয়েছে। অ্যান্ড্রয়েড 2.2 এর বিপরীতে বিকাশ বা পরীক্ষা শুরু করতে, আপনার SDK-এ প্ল্যাটফর্মটি ডাউনলোড করতে Android SDK ম্যানেজার ব্যবহার করুন৷

প্ল্যাটফর্ম হাইলাইট

নতুন ব্যবহারকারী বৈশিষ্ট্য এবং প্ল্যাটফর্ম হাইলাইটগুলির একটি তালিকার জন্য, Android 2.2 প্ল্যাটফর্ম হাইলাইট নথিটি দেখুন৷

API স্তর

অ্যান্ড্রয়েড 2.2 প্ল্যাটফর্ম ফ্রেমওয়ার্ক API এর একটি আপডেট সংস্করণ সরবরাহ করে। অ্যান্ড্রয়েড 2.2 API-কে একটি পূর্ণসংখ্যা শনাক্তকারী বরাদ্দ করা হয়েছে — 8 — যা সিস্টেমেই সংরক্ষিত থাকে। এই আইডেন্টিফায়ার, যাকে "API লেভেল" বলা হয়, সেটি সিস্টেমকে সঠিকভাবে নির্ধারণ করতে দেয় যে একটি অ্যাপ্লিকেশন সিস্টেমের সাথে সামঞ্জস্যপূর্ণ কিনা, অ্যাপ্লিকেশন ইনস্টল করার আগে।

আপনার অ্যাপ্লিকেশানে Android 2.2-এ প্রবর্তিত APIগুলি ব্যবহার করতে, আপনাকে আপনার অ্যাপ্লিকেশনের ম্যানিফেস্টে <uses-sdk> উপাদানটির android:minSdkVersion গুণাবলীতে সঠিক মান, "8" সেট করতে হবে।

এপিআই লেভেল কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য, এপিআই লেভেল ডকুমেন্ট দেখুন।

ফ্রেমওয়ার্ক API পরিবর্তন

নীচের বিভাগগুলি Android 2.2 প্ল্যাটফর্ম দ্বারা প্রদত্ত অ্যাপ্লিকেশন ফ্রেমওয়ার্ক API-এ করা পরিবর্তনগুলি সম্পর্কে তথ্য প্রদান করে৷

বাহ্যিক স্টোরেজ মিডিয়াতে অ্যাপ ইনস্টলেশন

অ্যান্ড্রয়েড প্ল্যাটফর্ম এখন অ্যাপ্লিকেশনগুলিকে ডিভাইসের অভ্যন্তরীণ মেমরিতে ইনস্টলেশনের বিকল্প হিসাবে ডিভাইসের বাহ্যিক স্টোরেজ মিডিয়াতে (যেমন SD কার্ড) ইনস্টলেশনের অনুরোধ করার অনুমতি দেয়।

অ্যাপ্লিকেশন ডেভেলপাররা ম্যানিফেস্ট ফাইল, android:installLocation<manifest> -এর একটি নতুন বৈশিষ্ট্যের মাধ্যমে তাদের অ্যাপ্লিকেশনের জন্য পছন্দের ইনস্টলেশন অবস্থান প্রকাশ করতে পারে। বৈশিষ্ট্য তিনটি মান সমর্থন করে: "internalOnly" , "preferExternal" এবং "auto" । ইনস্টল করার সময়, সিস্টেমটি android:installLocation এর মান পরীক্ষা করে এবং সম্ভব হলে পছন্দের অবস্থান অনুযায়ী অ্যাপ্লিকেশন .apk ইনস্টল করে। যদি অ্যাপ্লিকেশনটি বাহ্যিক ইনস্টলেশনের জন্য অনুরোধ করে থাকে, তবে সিস্টেমটি এটিকে বহিরাগত মিডিয়াতে একটি ব্যক্তিগত, এনক্রিপ্ট করা পার্টিশনে ইনস্টল করে। একবার একটি অ্যাপ্লিকেশন .apk বাহ্যিকভাবে ইনস্টল হয়ে গেলে, সিস্টেম ব্যবহারকারীকে .apk-এর স্টোরেজ অবস্থান পরিবর্তন করতে দেয় এবং প্রয়োজনে এটিকে ডিভাইসের অভ্যন্তরীণ মেমরিতে নিয়ে যেতে দেয় (এবং এর বিপরীতে), ব্যবহারকারী সেটিংসে অ্যাপ্লিকেশন পরিচালনার মাধ্যমে।

ডিফল্টরূপে, সিস্টেমটি ডিভাইসের অভ্যন্তরীণ মেমরিতে সমস্ত অ্যাপ্লিকেশন ইনস্টল করে, যেগুলি স্পষ্টভাবে বাহ্যিক ইনস্টলেশনের অনুরোধ করে সেগুলি ছাড়া৷ এর মানে হল যে সিস্টেমটি সর্বদা অভ্যন্তরীণ মেমরিতে লিগ্যাসি অ্যাপ্লিকেশনগুলি ইনস্টল করবে, যেহেতু তাদের android:installLocation বৈশিষ্ট্যে অ্যাক্সেস নেই৷ যাইহোক, একটি লিগ্যাসি অ্যাপ্লিকেশন কনফিগার এবং কম্পাইল করা সম্ভব যাতে এটি প্ল্যাটফর্মের পুরানো সংস্করণগুলিতে অভ্যন্তরীণভাবে ইনস্টল করা হয় এবং প্রয়োজনে Android 2.2 এবং পরবর্তী প্ল্যাটফর্মগুলিতে বাহ্যিকভাবে ইনস্টল করা হয়।

মনে রাখবেন যে ডিভাইসের বাহ্যিক মিডিয়াতে ইনস্টলেশনের অনুরোধ করা সমস্ত অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়, বিশেষ করে কারণ বহিরাগত মিডিয়া অপসারণযোগ্য হতে পারে এবং আনমাউন্ট/রিমাউন্ট করা ব্যবহারকারীর অভিজ্ঞতা এবং সিস্টেম সেটিংস ব্যাহত করতে পারে।

আপনার অ্যাপ্লিকেশনের জন্য একটি পছন্দের ইনস্টলেশন অবস্থান সেট করার বিষয়ে আরও তথ্যের জন্য, কোন ধরনের অ্যাপ্লিকেশনগুলিকে বাহ্যিক ইনস্টলেশনের জন্য অনুরোধ করা উচিত এবং কী করা উচিত নয় তার আলোচনা সহ, অনুগ্রহ করে অ্যাপ ইনস্টল অবস্থান নথিটি পড়ুন৷

ডেটা ব্যাকআপ

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

গ্রাফিক্স

  • android.opengl.GLES20 এ নতুন OpenGL ES 2.0 APIs।
  • নতুন ETC1 , ETC1Util , এবং ETC1Util.ETC1Texture ক্লাস এবং টেক্সচার কম্প্রেশনের জন্য ETC1 ব্যবহার করার জন্য ইউটিলিটি পদ্ধতি।
  • নতুন ImageFormat ক্লাস।
  • YUV থেকে JPEG-এ কম্প্রেশন এবং YUV ডেটা ম্যানিপুলেশন সক্ষম করতে নতুন YUV image format API

মিডিয়া

  • অডিও ফোকাস, পরিবহন নিয়ন্ত্রণ, অডিও ফোকাসের ক্ষণস্থায়ী ক্ষতি, ডাকিং পরিচালনার জন্য android.media.AudioManager এ নতুন APIs।
  • SCO - ACTION_SCO_AUDIO_STATE_CHANGED এ অডিও রাউটিং করার জন্য নতুন সম্প্রচারের অভিপ্রায় নতুন অবস্থা নির্দেশ করে অতিরিক্ত সহ।
  • সাউন্ড-লোডিং সম্পূর্ণ হওয়া শনাক্ত করতে SoundPool নতুন এপিআই।
  • স্বয়ংক্রিয় বিরতি এবং পুনরায় শুরু করার জন্য SoundPool নতুন API।
  • চ্যানেলের সংখ্যা, এনকোডিং এবং স্যাম্পলিং রেট, স্যাম্পলিং রেট এর জন্য অডিও সেটিংস নির্দিষ্ট করার জন্য MediaRecorder এ নতুন API।
  • মিডিয়া ডাটাবেসে ফাইল যোগ করার জন্য নতুন API, যাতে সেগুলি স্বয়ংক্রিয়ভাবে স্ক্যান হয়। MediaScannerConnection.scanFile এবং MediaScannerConnection.OnScanCompletedListener দেখুন।

স্পিচ রিকগনিশন এবং থার্ড-পার্টি রেকগনিশন ইঞ্জিন

  • প্ল্যাটফর্মটি নতুন স্পিচ-রিকগনিশন API সরবরাহ করে যা অ্যাপ্লিকেশনগুলিকে উপলব্ধ ভয়েস শনাক্তকারীর সাথে আরও সমৃদ্ধ মিথস্ক্রিয়া করার অনুমতি দেয়। উদাহরণস্বরূপ, এপিআইগুলি একটি আইএমই-তে ভয়েস স্বীকৃতিকে গভীরভাবে একীভূত করার জন্য যথেষ্ট।
  • প্ল্যাটফর্মটি একটি RecognitionService বেস ক্লাসও প্রদান করে যা তৃতীয় পক্ষের বিকাশকারীদের প্লাগ-ইন স্বীকৃতি ইঞ্জিন তৈরি করতে দেয়।
  • কলব্যাক গ্রহণের জন্য নতুন RecognitionListener ইন্টারফেস।
  • নতুন RecognizerIntent অতিরিক্ত যা একটি অনুরোধকারী অ্যাপকে পছন্দের ভাষা, মিলিসেকেন্ডে ন্যূনতম দৈর্ঘ্য এবং আরও অনেক কিছু হিসাবে বিশদ উল্লেখ করতে দেয়।

ক্যামেরা এবং ক্যামকর্ডার

  • প্রিভিউ পাইপলাইনের দক্ষতা উন্নত করতে ক্যামেরা প্রিভিউ এপিআই-তে পরিবর্তন।
  • ক্যামেরার জন্য নতুন ডিসপ্লে ওরিয়েন্টেশন (এটি এখন পোর্ট্রেট ওরিয়েন্টেশনে কাজ করতে পারে)।
  • জুম লেভেল পরিচালনার জন্য android.hardware.Camera এ নতুন API।
  • নতুন APIs android.hardware.Camera.Parameters ডিভাইস ক্যামেরা সেটিংস যেমন ফোকাল লেন্থ, এক্সপোজার, জুম লেভেল, ভিউ অ্যাঙ্গেল এবং অন্যান্যগুলি অনুসন্ধান এবং সেট করার জন্য প্যারামিটার৷
  • ভিডিও এবং ছবির থাম্বনেইলের জন্য নতুন thumbnail ইউটিলিটি।
  • নতুন CamcorderProfile এবং CamcorderProfile ক্লাসগুলি ডিভাইসের হার্ডওয়্যার ক্যামেরা ক্ষমতা নির্ধারণ করতে অ্যাপগুলিকে সক্ষম করে৷
  • GPS এবং ফোকাল দৈর্ঘ্য পুনরুদ্ধার করার জন্য android.media.ExifInterface এ নতুন সমর্থন।

ডিভাইস পলিসি ম্যানেজার

নতুন ডিভাইস পলিসি ম্যানেজমেন্ট এপিআইগুলি ডেভেলপারদের "ডিভাইস অ্যাডমিনিস্ট্রেটর" অ্যাপ্লিকেশন লিখতে দেয় যা ডিভাইসের নিরাপত্তা বৈশিষ্ট্যগুলি নিয়ন্ত্রণ করতে পারে, যেমন ন্যূনতম পাসওয়ার্ড শক্তি, ডেটা মুছা ইত্যাদি। ব্যবহারকারীরা তাদের ডিভাইসে সক্ষম প্রশাসক নির্বাচন করতে পারেন। আরও তথ্যের জন্য, DeviceAdminSample.java-android.app.admin ক্লাস বা উদাহরণ অ্যাপ্লিকেশন কোড দেখুন।

UI ফ্রেমওয়ার্ক

  • নতুন UI মোড "কার মোড" এবং "নাইট মোড" এবং UiModeManager অ্যাপ্লিকেশনগুলিকে নির্দিষ্ট ব্যবহারকারী মোডগুলির জন্য তাদের অ্যাপ্লিকেশন UI সামঞ্জস্য করতে দেয়৷
  • নতুন ScaleGestureDetector যা ভিউগুলিকে সরবরাহ করা মোশন ইভেন্টগুলি ব্যবহার করে একাধিক পয়েন্টার (মাল্টিটাচ) জড়িত রূপান্তর অঙ্গভঙ্গি সনাক্ত করতে এবং পরিচালনা করতে দেয়৷
  • MotionEvent অবজেক্টে যেভাবে মাল্টিটাচ ইভেন্ট রিপোর্ট করা হয় তার উন্নতি।
  • লেআউট বৈশিষ্ট্য fill_parent এর নাম পরিবর্তন করে match_parent করা হয়েছে। এটি XML এবং Java কোড উভয়কেই প্রভাবিত করে ( ViewGroup.LayoutParams দেখুন)। মনে রাখবেন যে প্ল্যাটফর্মটি লিগ্যাসি অ্যাপ্লিকেশনগুলিতে fill_parent এর ব্যবহারকে সম্মান করতে থাকবে।
  • নতুন লেআউট বৈশিষ্ট্য tabStripEnabled , tabStripRight , এবং tabStripLeft ডেভেলপারদের TabWidgets এর নীচের স্ট্রিপ কাস্টমাইজ করতে দেয়।
  • কার্যকলাপে পরিচালিত ডায়ালগগুলির জন্য আরও ভাল সমর্থন।

অ্যাকাউন্ট এবং সিঙ্ক

  • নতুন পদ্ধতি AddPeriodicSync() আপনাকে প্রদত্ত ফ্রিকোয়েন্সিতে একটি নির্দিষ্ট অ্যাকাউন্ট, কর্তৃপক্ষ এবং অতিরিক্তগুলির সাথে একটি পর্যায়ক্রমিক সিঙ্ক নির্ধারণ করতে দেয়।

নতুন প্রকাশ উপাদান এবং বৈশিষ্ট্য

  • অ্যাপ্লিকেশনটির পছন্দের ইনস্টলেশন অবস্থান নির্দিষ্ট করার জন্য (উপরে এক্সটার্নাল স্টোরেজ মিডিয়াতে অ্যাপ ইনস্টলেশন দেখুন):
    • <manifest> উপাদানটির নতুন android:installLocation বৈশিষ্ট্য। একটি অ্যাপ্লিকেশন দ্বারা সংজ্ঞায়িত ডিফল্ট ইনস্টল অবস্থান নির্দিষ্ট করে।
  • ব্যবহারকারীর ডেটা ব্যাকআপ পরিচালনার জন্য (আরও তথ্যের জন্য উপরে, ব্যাকআপ ম্যানেজার দেখুন):
    • নতুন android:backupAgent <application> উপাদানের বৈশিষ্ট্য। ব্যাকআপ/পুনরুদ্ধার ক্রিয়াকলাপ পরিচালনা করার জন্য অ্যাপ্লিকেশন দ্বারা প্রদত্ত BackupAgent সাবক্লাসের উপাদানের নাম নির্দিষ্ট করে, যদি থাকে।
    • <application> উপাদানটির নতুন android:restoreAnyVersion বৈশিষ্ট্য। বুলিয়ান মান যেটি নির্দেশ করে যে অ্যাপ্লিকেশনটি কোনো ব্যাক-আপ ডেটাসেট পুনরুদ্ধার করার চেষ্টা করার জন্য প্রস্তুত কিনা, এমনকি যদি ব্যাকআপটি দৃশ্যত ডিভাইসে ইনস্টল করা অ্যাপের চেয়ে নতুন সংস্করণ থেকে হয়।
  • প্ল্যাটফর্মের JIT কম্পাইলার পরিচালনার জন্য:
    • <application> উপাদানটির নতুন android:vmSafeMode বৈশিষ্ট্য। বুলিয়ান মান যা অ্যাপ্লিকেশন চালানোর সময় JIT কম্পাইলার অপ্টিমাইজেশন নিষ্ক্রিয় করতে হবে কিনা তা নির্দিষ্ট করে।

অনুমতি

  • android.permission.BIND_DEVICE_ADMIN — যেকোন ডিভাইস অ্যাডমিনিস্ট্রেশন ব্রডকাস্ট রিসিভারের অবশ্যই এই অনুমতির প্রয়োজন হবে, তা নিশ্চিত করার জন্য যে শুধুমাত্র সিস্টেম এটির সাথে ইন্টারঅ্যাক্ট করতে পারে।
  • android.permission.KILL_BACKGROUND_PROCESSES — একটি অ্যাপ্লিকেশনকে killBackgroundProcesses(String) কল করার অনুমতি দেয়।
  • android.permission.BIND_WALLPAPER — যেকোন WallpaperService অবশ্যই এই অনুমতির প্রয়োজন হবে, এটি নিশ্চিত করতে যে শুধুমাত্র সিস্টেম এটির সাথে ইন্টারঅ্যাক্ট করতে পারে।
  • android.permission.SET_TIME — একটি অ্যাপ্লিকেশনকে সিস্টেমের সময় সেট করার অনুমতি দেয়।

API পার্থক্য রিপোর্ট

অ্যান্ড্রয়েড 2.2 (এপিআই লেভেল 8) এ সমস্ত API পরিবর্তনগুলির একটি বিশদ দর্শনের জন্য, API পার্থক্য রিপোর্ট দেখুন।