অ্যান্ড্রয়েড 13 ডেভেলপারদের জন্য দুর্দান্ত নতুন বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নীচের বিভাগগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করে৷
নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। নতুন এপিআই সম্পর্কে বিস্তারিত জানার জন্য অ্যান্ড্রয়েড এপিআই রেফারেন্স দেখুন — নতুন এপিআইগুলি দৃশ্যমানতার জন্য হাইলাইট করা হয়েছে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 13 এবং সমস্ত অ্যাপ্লিকেশানগুলিকে লক্ষ্য করে এমন অ্যাপ্লিকেশানগুলির জন্য Android 13 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷
বিকাশকারীর উত্পাদনশীলতা এবং সরঞ্জাম
থিমযুক্ত অ্যাপ আইকন
Android 13 দিয়ে শুরু করে, আপনি থিমযুক্ত অ্যাপ আইকন বেছে নিতে পারেন। এই বৈশিষ্ট্যটির সাহায্যে, সমর্থিত অ্যান্ড্রয়েড লঞ্চারগুলিতে অ্যাপ্লিকেশন আইকনগুলি ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং অন্যান্য থিমের রঙের উত্তরাধিকারী হওয়ার জন্য রঙিন করা হয়৷
এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য, আপনার অ্যাপটিকে অবশ্যই একটি অভিযোজিত আইকন এবং একটি একরঙা অ্যাপ আইকন উভয়ই প্রদান করতে হবে এবং ম্যানিফেস্টের <adaptive-icon>
> উপাদান থেকে একরঙা অ্যাপ আইকনে নির্দেশ করতে হবে। যদি কোনও ব্যবহারকারী থিমযুক্ত অ্যাপ আইকনগুলি সক্ষম করে থাকে (অন্য কথায়, সিস্টেম সেটিংসে থিমযুক্ত আইকন টগল চালু করে) এবং লঞ্চার এই বৈশিষ্ট্যটিকে সমর্থন করে, সিস্টেমটি টিন্ট রঙ নির্ধারণ করতে ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং থিমের রঙ ব্যবহার করে, যা এটি তখন একরঙা অ্যাপ আইকনে প্রযোজ্য।
হোম স্ক্রীন থিমযুক্ত অ্যাপ আইকন প্রদর্শন করে না—এবং এর পরিবর্তে অভিযোজিত বা মানক অ্যাপ আইকন প্রদর্শন করে—নিম্নলিখিত পরিস্থিতিতে যেকোনো একটিতে:
- ব্যবহারকারী যদি থিমযুক্ত অ্যাপ আইকন সক্রিয় না করে থাকে
- যদি আপনার অ্যাপটি একরঙা অ্যাপ আইকন প্রদান না করে
- যদি লঞ্চার থিমযুক্ত অ্যাপ আইকন সমর্থন না করে
আরও বিশদ বিবরণ এবং নির্দেশাবলীর জন্য, অভিযোজিত আইকনগুলি দেখুন।
প্রতি-অ্যাপ ভাষা পছন্দ
অনেক ক্ষেত্রে, বহুভাষিক ব্যবহারকারীরা তাদের সিস্টেমের ভাষাকে একটি ভাষাতে সেট করে - যেমন ইংরেজি - কিন্তু তারা নির্দিষ্ট অ্যাপের জন্য অন্যান্য ভাষা নির্বাচন করতে চায়, যেমন ডাচ, চাইনিজ বা হিন্দি। এই ব্যবহারকারীদের জন্য অ্যাপগুলিকে আরও ভাল অভিজ্ঞতা প্রদানে সহায়তা করার জন্য, Android 13 একাধিক ভাষা সমর্থন করে এমন অ্যাপগুলির জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি প্রবর্তন করে:
সিস্টেম সেটিংস : একটি কেন্দ্রীভূত অবস্থান যেখানে ব্যবহারকারীরা প্রতিটি অ্যাপের জন্য একটি পছন্দের ভাষা নির্বাচন করতে পারেন।
আপনার অ্যাপটিকে অবশ্যই আপনার অ্যাপের ম্যানিফেস্টে
android:localeConfig
অ্যাট্রিবিউটটি ঘোষণা করতে হবে যাতে সিস্টেমটি একাধিক ভাষা সমর্থন করে। আরও জানতে, একটি রিসোর্স ফাইল তৈরি এবং আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ঘোষণা করার নির্দেশাবলী দেখুন।অতিরিক্ত API : এই সর্বজনীন API, যেমন
setApplicationLocales()
এবংgetApplicationLocales()
পদ্ধতিLocaleManager
এ, অ্যাপগুলিকে রানটাইমে সিস্টেম ভাষা থেকে একটি ভিন্ন ভাষা সেট করতে দেয়।এই APIগুলি স্বয়ংক্রিয়ভাবে সিস্টেম সেটিংসের সাথে সিঙ্ক হয়; তাই, যে অ্যাপগুলি কাস্টম ইন-অ্যাপ ল্যাঙ্গুয়েজ পিকার তৈরি করতে এই APIগুলি ব্যবহার করে সেগুলি নিশ্চিত করবে যে তাদের ব্যবহারকারীরা তাদের ভাষা পছন্দগুলি যেখানেই বেছে নিন না কেন তাদের ব্যবহারকারীদের একটি সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা রয়েছে। পাবলিক APIগুলি আপনাকে বয়লারপ্লেট কোডের পরিমাণ কমাতেও সাহায্য করে, তারা বিভক্ত APK সমর্থন করে এবং তারা অ্যাপ-স্তরের ব্যবহারকারী ভাষা সেটিংস সংরক্ষণ করতে অ্যাপগুলির জন্য স্বয়ংক্রিয় ব্যাকআপ সমর্থন করে।
পূর্ববর্তী অ্যান্ড্রয়েড সংস্করণগুলির সাথে পিছিয়ে থাকা সামঞ্জস্যের জন্য, সমতুল্য APIগুলিও AndroidX-এ উপলব্ধ। আমরা Appcompat 1.6.0-beta01 বা উচ্চতর এপিআই ব্যবহার করার পরামর্শ দিই।
যে অ্যাপগুলি একাধিক ভাষা সমর্থন করে না সেগুলি এই পরিবর্তনগুলির দ্বারা প্রভাবিত হয় না৷
উন্নত টেক্সট এবং ভাষা সমর্থন
অ্যান্ড্রয়েড 13-এ বেশ কয়েকটি বৈশিষ্ট্যের পাঠ্য এবং ভাষার উন্নতি রয়েছে যা আপনাকে আরও সুন্দর অভিজ্ঞতা প্রদান করতে সহায়তা করে, যা নিম্নলিখিত বিভাগগুলি বর্ণনা করে:
দ্রুত হাইফেনেশন
হাইফেনেশন মোড়ানো টেক্সট পড়া সহজ করে তোলে এবং আপনার UI আরও অভিযোজিত করতে সাহায্য করে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, হাইফেনেশন পারফরম্যান্স 200% পর্যন্ত অপ্টিমাইজ করা হয়েছে যাতে আপনি এটি আপনার TextView
সক্ষম করতে পারেন যাতে রেন্ডারিং কার্যক্ষমতার উপর প্রায় কোনও প্রভাব না পড়ে। দ্রুত হাইফেনেশন সক্ষম করতে, setHyphenationFrequency()
এ fullFast
বা normalFast
ফ্রিকোয়েন্সি ব্যবহার করুন।
পাঠ্য রূপান্তর API
যারা জাপানি এবং চাইনিজ ভাষায় কথা বলে তারা ফোনেটিক লেটারিং ইনপুট পদ্ধতি ব্যবহার করে, যা প্রায়শই অনুসন্ধান এবং স্বয়ংসম্পূর্ণতার মতো বৈশিষ্ট্যগুলিকে ধীর করে দেয়। অ্যান্ড্রয়েড 13-এ, অ্যাপগুলি নতুন পাঠ্য রূপান্তর API কল করতে পারে যাতে ব্যবহারকারীরা দ্রুত এবং সহজে যা খুঁজছেন তা খুঁজে পেতে পারেন। পূর্বে, উদাহরণস্বরূপ, অনুসন্ধানের জন্য একজন জাপানি ব্যবহারকারীকে এই পদক্ষেপগুলি করতে হবে:
- হিরাগানাকে তাদের অনুসন্ধান শব্দের ধ্বনিগত উচ্চারণ হিসাবে ইনপুট করুন (যেমন একটি স্থান বা একটি অ্যাপের নাম)
- হিরাগানা অক্ষরকে কাঞ্জিতে রূপান্তর করতে কীবোর্ড ব্যবহার করুন
- কাঞ্জি অক্ষর ব্যবহার করে পুনরায় অনুসন্ধান করুন
- অবশেষে তাদের অনুসন্ধান ফলাফল পান
নতুন পাঠ্য রূপান্তর API এর সাথে, জাপানি ব্যবহারকারীরা হিরাগানায় টাইপ করতে পারে এবং অবিলম্বে কাঞ্জি অনুসন্ধান ফলাফল লাইভ দেখতে পারে, ধাপ 2 এবং 3 এড়িয়ে যায়৷
অ-ল্যাটিন স্ক্রিপ্টগুলির জন্য উন্নত লাইন উচ্চতা
Android 13 প্রতিটি ভাষার জন্য অভিযোজিত লাইনের উচ্চতা ব্যবহার করে অ-ল্যাটিন স্ক্রিপ্টের (যেমন তামিল, বার্মিজ, তেলেগু এবং তিব্বতি) প্রদর্শন উন্নত করে। নতুন লাইন উচ্চতা ক্লিপিং প্রতিরোধ করে এবং অক্ষরের অবস্থান উন্নত করে। আপনার অ্যাপ শুধুমাত্র Android 13 টার্গেট করে এই উন্নতিগুলির সুবিধা নিতে পারে। নতুন লাইন স্পেসিং ব্যবহার করার সময় আপনার অ্যাপগুলি পরীক্ষা করার বিষয়টি নিশ্চিত করুন কারণ পরিবর্তনগুলি অ-ল্যাটিন ভাষায় আপনার UI কে প্রভাবিত করতে পারে।
উন্নত জাপানি টেক্সট মোড়ানো
Android 13 থেকে শুরু করে, TextViews আরও পালিশ এবং পঠনযোগ্য জাপানি অ্যাপ্লিকেশনের জন্য বুনসেটসু (শব্দের ক্ষুদ্রতম একক যা প্রাকৃতিক শোনাচ্ছে) বা অক্ষরের পরিবর্তে বাক্যাংশ দ্বারা পাঠ্য মোড়ক করতে পারে। আপনি TextViews এর সাথে android:lineBreakWordStyle="phrase"
ব্যবহার করে এই মোড়ানোর সুবিধা নিতে পারেন।
ইউনিকোড লাইব্রেরি আপডেট
Android 13 ইউনিকোড ICU 70 , Unicode CLDR 40 , এবং Unicode 14.0 -এ অন্তর্ভুক্ত সাম্প্রতিক উন্নতি, সংশোধন এবং পরিবর্তনগুলি যোগ করে৷
এখানে কয়েকটি উল্লেখযোগ্য পরিবর্তন রয়েছে:
- ইংরেজি (কানাডা)
en‑CA
এবং ইংরেজি (ফিলিপাইন প্রজাতন্ত্র)en‑PH
উভয়ই ইংরেজি (ইউনাইটেড স্টেটস)en
অনুবাদ সংস্থান ব্যবহার করে যখন ইংরেজি (ইউনাইটেড কিংডম)en‑GB
এর পরিবর্তে কোনো অনুবাদ সংস্থান উপলব্ধ না থাকে। - স্প্যানিশ
es
, ইতালীয়it
, পর্তুগিজpt
এবং পর্তুগিজ (পর্তুগাল)pt‑PT
এর জন্যmany
বিভাগ চালু করা হয়েছে। CLDR v38 এ প্রবর্তিত ফরাসি ভাষার অনুরূপ, এটি বড় সংখ্যার জন্য ব্যবহৃত হয়।
রঙ ভেক্টর ফন্ট
Android 13 থেকে শুরু করে, সিস্টেমে COLR সংস্করণ 1 (COLRv1) ফন্টের জন্য রেন্ডারিং সমর্থন এবং COLRv1 ফর্ম্যাটে সিস্টেম ইমোজি আপডেট করা অন্তর্ভুক্ত। COLRv1 হল একটি অত্যন্ত কমপ্যাক্ট ফন্ট ফরম্যাট যা যেকোনো আকারে দ্রুত এবং চটপটে রেন্ডার করে।
বেশিরভাগ অ্যাপের জন্য, সিস্টেম সবকিছু পরিচালনা করে এবং COLRv1 শুধু কাজ করে। যাইহোক, যদি আপনার অ্যাপ তার নিজস্ব টেক্সট রেন্ডারিং প্রয়োগ করে এবং সিস্টেমের ফন্ট ব্যবহার করে, আমরা ইমোজি রেন্ডারিং পরীক্ষা করার পরামর্শ দিই।
COLRv1 সম্পর্কে আরও জানতে, নিম্নলিখিত সংস্থানগুলি দেখুন:
দ্রুত সেটিংস প্লেসমেন্ট API
বিজ্ঞপ্তির ছায়ায় দ্রুত সেটিংস হল ব্যবহারকারীদের সেটিংস পরিবর্তন করার বা অ্যাপের প্রসঙ্গ না রেখে দ্রুত পদক্ষেপ নেওয়ার একটি সুবিধাজনক উপায়। কাস্টম টাইলস প্রদান করে এমন অ্যাপগুলির জন্য, আমরা ব্যবহারকারীদের জন্য দ্রুত সেটিংসে আপনার টাইলগুলি আবিষ্কার করা এবং যুক্ত করা সহজ করে দিচ্ছি। একটি নতুন টাইল প্লেসমেন্ট API ব্যবহার করে, আপনার অ্যাপ এখন ব্যবহারকারীকে সক্রিয় দ্রুত সেটিংস টাইলসের সেটে সরাসরি আপনার কাস্টম টাইল যোগ করার জন্য অনুরোধ করতে পারে। একটি নতুন সিস্টেম ডায়ালগ ব্যবহারকারীকে টাইল যোগ করার জন্য দ্রুত সেটিংসে যেতে না করে, আপনার অ্যাপ না রেখে এক ধাপে টাইল যোগ করতে দেয়।
ক্লিপবোর্ড পূর্বরূপ
অ্যান্ড্রয়েড 13 থেকে শুরু করে, ক্লিপবোর্ডে সামগ্রী যোগ করা হলে সিস্টেমটি একটি স্ট্যান্ডার্ড ভিজ্যুয়াল নিশ্চিতকরণ প্রদর্শন করে। নতুন নিশ্চিতকরণ নিম্নলিখিতগুলি করে:
- কনফার্ম করে কন্টেন্ট সফলভাবে কপি করা হয়েছে।
- অনুলিপি করা বিষয়বস্তুর একটি পূর্বরূপ প্রদান করে।
এই বৈশিষ্ট্যটি অনুলিপি করার পরে অ্যাপগুলির দ্বারা প্রদর্শিত বিভিন্ন বিজ্ঞপ্তিকে মানসম্মত করে এবং ব্যবহারকারীদের তাদের ক্লিপবোর্ডে আরও নিয়ন্ত্রণের প্রস্তাব দেয়। অতিরিক্ত তথ্যের জন্য, কপি এবং পেস্ট বৈশিষ্ট্য পৃষ্ঠা দেখুন।
ভবিষ্যদ্বাণীপূর্ণ ফিরে অঙ্গভঙ্গি
অ্যান্ড্রয়েড 13 ফোন, বড় স্ক্রিন এবং ফোল্ডেবলের মতো অ্যান্ড্রয়েড ডিভাইসগুলির জন্য একটি ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার প্রবর্তন করে। এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য আপনাকে আপনার অ্যাপ আপডেট করতে হবে।
বিস্তারিত ডকুমেন্টেশন দেখতে, একটি ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার সমর্থন করতে আপনার অ্যাপ আপডেট করুন দেখুন। আপনি আমাদের কোডল্যাব ব্যবহার করে দেখতে পারেন।
ব্লুটুথ LE অডিও
লো এনার্জি (LE) অডিও হল ওয়্যারলেস অডিও যা ব্লুটুথ ক্লাসিক প্রতিস্থাপন করতে এবং নির্দিষ্ট ব্যবহারের ক্ষেত্রে এবং সংযোগ টপোলজি সক্ষম করার জন্য নির্মিত। এটি ব্যবহারকারীদের বন্ধুদের এবং পরিবারের সাথে তাদের অডিও শেয়ার এবং সম্প্রচার করতে বা তথ্য, বিনোদন, বা অ্যাক্সেসযোগ্যতার জন্য সর্বজনীন সম্প্রচারে সদস্যতা নিতে দেয়। ব্যবহারকারীরা ব্যাটারি লাইফ ত্যাগ না করেই উচ্চ বিশ্বস্ততার অডিও গ্রহণ করতে পারে এবং ব্লুটুথ ক্লাসিকের সাথে সম্ভব নয় এমন বিভিন্ন ব্যবহারের ক্ষেত্রে নির্বিঘ্নে পরিবর্তন করতে পারে তা নিশ্চিত করার জন্য এটি ডিজাইন করা হয়েছে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে LE অডিওর জন্য অন্তর্নির্মিত সমর্থন অন্তর্ভুক্ত রয়েছে, তাই বিকাশকারীরা সামঞ্জস্যপূর্ণ ডিভাইসগুলিতে বিনামূল্যে এই ক্ষমতাগুলি পান।
MIDI 2.0
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমটিতে MIDI 2.0 স্ট্যান্ডার্ডের জন্য সমর্থন রয়েছে, যার মধ্যে USB এর মাধ্যমে MIDI 2.0 হার্ডওয়্যার সংযোগ করার ক্ষমতা রয়েছে। এই স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি অফার করে যেমন কন্ট্রোলারগুলির জন্য বর্ধিত রেজোলিউশন, নন-ওয়েস্টার্ন ইনটোনেশনের জন্য আরও ভাল সমর্থন এবং প্রতি-নোট কন্ট্রোলারগুলি ব্যবহার করে আরও অভিব্যক্তিপূর্ণ কর্মক্ষমতা।
স্প্ল্যাশ স্ক্রীন দক্ষতা উন্নতি
অ্যান্ড্রয়েড 13 স্প্ল্যাশ স্ক্রিন এপিআই-তে অ্যানিমেটেড স্প্ল্যাশ স্ক্রিনগুলির দক্ষতা উন্নত করে:
সিস্টেম
AnimatedVectorDrawable
থেকে সরাসরি অ্যানিমেশনের সময়কাল অনুমান করে। Android 13 এর আগে, সরাসরিwindowSplashScreenAnimationDuration
সেট করা প্রয়োজন ছিল।আপনার অ্যাপ সবসময় অ্যান্ড্রয়েড 13 এবং উচ্চতর স্প্ল্যাশ স্ক্রিনে আইকন প্রদর্শন করে কিনা তা আরও নিয়ন্ত্রণের জন্য নতুন
windowSplashScreenBehavior
অ্যাট্রিবিউট ব্যবহার করুন।
বিস্তারিত ডকুমেন্টেশন দেখতে, স্প্ল্যাশ স্ক্রিন দেখুন।
এআরটি অপ্টিমাইজেশান
Android 13 (API স্তর 33) এবং উচ্চতর, ART নেটিভ কোডে এবং থেকে অনেক দ্রুত স্যুইচিং করে, JNI কল এখন 2.5x পর্যন্ত দ্রুত। রানটাইম রেফারেন্স প্রসেসিং এটিকে বেশিরভাগই নন-ব্লকিং করার জন্য পুনরায় কাজ করা হয়েছিল, যা আরও জ্যাঙ্ককে হ্রাস করে। উপরন্তু, আপনি Reference.refersTo()
পাবলিক এপিআই ব্যবহার করতে পারেন শীঘ্রই পৌঁছানো যায় না এমন বস্তুগুলি পুনরুদ্ধার করতে, এবং আপনি লক্ষ্য করবেন অপ্টিমাইজ করা ক্লাস এবং মেথড লুকআপের জন্য ইন্টারপ্রেটার এখন দ্রুততর হয়েছে। এআরটি ইনস্টলের সময় আরও বাইট-কোড যাচাইকরণ করে, রানটাইমে যাচাইকরণের খরচ এড়ায় এবং অ্যাপ স্টার্টআপের সময় দ্রুত রাখে।
গোপনীয়তা এবং নিরাপত্তা
প্রসঙ্গ-নিবন্ধিত রিসিভারের নিরাপদ রপ্তানি
রানটাইম রিসিভারগুলিকে নিরাপদ করতে সাহায্য করার জন্য, Android 13 আপনার অ্যাপের জন্য একটি রেজিস্টার্ড ব্রডকাস্ট রিসিভার রপ্তানি করা উচিত এবং ডিভাইসের অন্যান্য অ্যাপে দৃশ্যমান হবে কিনা তা নির্দিষ্ট করার ক্ষমতা প্রবর্তন করে। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, ডিভাইসের যেকোনো অ্যাপ একটি অরক্ষিত সম্প্রচার একটি গতিশীল-নিবন্ধিত রিসিভারকে পাঠাতে পারে যদি না সেই রিসিভারটি স্বাক্ষরের অনুমতি দ্বারা সুরক্ষিত থাকে৷
এই রপ্তানি কনফিগারেশনটি এমন অ্যাপ্লিকেশানগুলিতে উপলব্ধ যা নিম্নলিখিতগুলির মধ্যে অন্তত একটি করে:
- AndroidX কোর লাইব্রেরির 1.9.0 বা উচ্চতর সংস্করণ থেকে
ContextCompat
ক্লাস ব্যবহার করুন। - টার্গেট Android 13 বা উচ্চতর।
ফটো পিকার
Android 13 (API স্তর 33) এবং উচ্চতর একটি ফটো পিকার অভিজ্ঞতা অন্তর্ভুক্ত। যখন আপনার অ্যাপ ফটো পিকার চালু করে, ব্যবহারকারীরা সম্পূর্ণ মিডিয়া লাইব্রেরি দেখার জন্য আপনার অ্যাপকে অ্যাক্সেস দেওয়ার পরিবর্তে আপনার অ্যাপের সাথে শেয়ার করার জন্য নির্দিষ্ট ছবি এবং ভিডিও নির্বাচন করে, যেমন প্রোফাইল ছবি। এটি ব্যবহারকারীর ফটো এবং ভিডিও অ্যাক্সেস করার প্রস্তাবিত উপায়।
ফটো পিকার ব্যবহারকারীদের জন্য উন্নত গোপনীয়তা প্রদান করে কারণ আপনার অ্যাপটিকে কোনো রানটাইম অনুমতি ঘোষণা করার প্রয়োজন নেই। এছাড়াও, ফটো বাছাইকারী অ্যাপগুলির জন্য একটি অন্তর্নির্মিত, প্রমিত UI প্রদান করে, যা আরও সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করে।
কাছাকাছি ওয়াই-ফাই ডিভাইসের জন্য নতুন রানটাইম অনুমতি
Android 13 (API স্তর 33) অ্যাপগুলির জন্য NEARBY_DEVICES
অনুমতি গোষ্ঠীতে একটি নতুন রানটাইম অনুমতি প্রবর্তন করে যেগুলি Wi-Fi এর মাধ্যমে কাছাকাছি অ্যাক্সেস পয়েন্টগুলিতে ডিভাইসের সংযোগগুলি পরিচালনা করে৷ এই অ্যাপগুলিকে অবশ্যই নতুন অনুমতি ঘোষণা করতে হবে, NEARBY_WIFI_DEVICES
, যখন তারা বিভিন্ন Wi-Fi API কল করে । উপরন্তু, যতক্ষণ পর্যন্ত অ্যাপগুলি Wi-Fi APIs থেকে প্রকৃত অবস্থান না পায়, ততক্ষণ তারা Android 13 বা উচ্চতরকে টার্গেট করার সময় তাদের ACCESS_FINE_LOCATION
অনুমতি ঘোষণা করতে হবে না।
কাছাকাছি Wi-Fi ডিভাইসের অনুমতি সম্পর্কে আরও জানুন৷
সঠিক অ্যালার্ম ব্যবহার করার জন্য নতুন অনুমতি
যদি আপনার অ্যাপ্লিকেশানটি Android 13 বা উচ্চতরকে লক্ষ্য করে, তাহলে আপনি USE_EXACT_ALARM
অনুমতি ব্যবহার করতে পারেন, যা আপনার অ্যাপে স্বয়ংক্রিয়ভাবে মঞ্জুর হয়৷ আপনার অ্যাপটি এই অনুমতিটি ব্যবহার করার জন্য, তবে, এটিকে অবশ্যই নিম্নলিখিত মানদণ্ডগুলির মধ্যে একটি অবশ্যই পূরণ করতে হবে:
- আপনার অ্যাপটি একটি অ্যালার্ম ক্লক অ্যাপ বা টাইমার অ্যাপ।
- আপনার অ্যাপটি একটি ক্যালেন্ডার অ্যাপ যা আসন্ন ইভেন্টের জন্য বিজ্ঞপ্তি দেখায়।
যদি আপনার অ্যাপটি সঠিক অ্যালার্ম সেট করে কিন্তু পূর্ববর্তী তালিকায় দেখানো উভয় ক্ষেত্রেই সন্তুষ্ট না হয়, তবে পরিবর্তে SCHEDULE_EXACT_ALARM
অনুমতি ঘোষণা করা চালিয়ে যান এবং ব্যবহারকারী আপনার অ্যাপে অ্যাক্সেস অস্বীকার করার জন্য প্রস্তুত থাকুন।
ডেভেলপার ডাউনগ্রেডেবল অনুমতি
Android 13 থেকে শুরু করে, আপনার অ্যাপ অব্যবহৃত রানটাইম অনুমতিগুলিতে অ্যাক্সেস প্রত্যাহার করতে পারে। এই API আপনার অ্যাপকে নিম্নলিখিতগুলির মতো গোপনীয়তা-বর্ধক কাজগুলি সম্পাদন করার অনুমতি দেয়:
- অব্যবহৃত অনুমতি সরান.
- অনুমতির সর্বোত্তম অনুশীলনগুলি মেনে চলুন, যা ব্যবহারকারীর বিশ্বাস উন্নত করে। আপনি ব্যবহারকারীদের একটি ডায়ালগ দেখানোর বিষয়ে বিবেচনা করতে চাইতে পারেন যা আপনি সক্রিয়ভাবে প্রত্যাহার করেছেন এমন অনুমতিগুলি প্রদর্শন করে৷
APK স্বাক্ষর স্কিম v3.1
Android 13 APK স্বাক্ষর স্কিম v3.1-এর জন্য সমর্থন যোগ করে, যা বিদ্যমান APK স্বাক্ষর স্কিম v3 এর উপর উন্নতি করে। এই স্কিমটি ঘূর্ণন সম্পর্কিত APK স্বাক্ষর স্কিম v3 এর সাথে পরিচিত কিছু সমস্যার সমাধান করে । বিশেষ করে, v3.1 স্বাক্ষর স্কিমটি SDK সংস্করণ টার্গেটিং সমর্থন করে, যা রোটেশনকে প্ল্যাটফর্মের পরবর্তী প্রকাশকে লক্ষ্য করার অনুমতি দেয়।
v3.1 স্বাক্ষর স্কিম একটি ব্লক আইডি ব্যবহার করে যা 12L বা তার নিচে স্বীকৃত নয়। অতএব, প্ল্যাটফর্ম নিম্নলিখিত স্বাক্ষরকারী আচরণ প্রয়োগ করে:
- যে ডিভাইসগুলি Android 13 বা উচ্চতর চালায় সেগুলি v3.1 ব্লকে ঘোরানো স্বাক্ষর ব্যবহার করে৷
- যে ডিভাইসগুলি অ্যান্ড্রয়েডের পুরানো সংস্করণগুলি চালায় সেগুলি ঘোরানো স্বাক্ষরকারীকে উপেক্ষা করে এবং পরিবর্তে v3.0 ব্লকে আসল স্বাক্ষরকারী ব্যবহার করে৷
যে অ্যাপগুলি এখনও তাদের সাইনিং কী ঘোরায়নি তাদের কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই৷ যখনই এই অ্যাপগুলি ঘোরানো বেছে নেয়, সিস্টেমটি ডিফল্টরূপে v3.1 স্বাক্ষর স্কিম প্রয়োগ করে৷
যে অ্যাপগুলি ইতিমধ্যে ঘোরানো হয়েছে এবং v3.0 সাইনিং ব্লকে তাদের ঘোরানো সাইনিং কী ব্যবহার চালিয়ে যেতে চায় তাদের apksigner
আমন্ত্রণ আপডেট করতে হবে:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...যেখানে API_LEVEL
32 বা কম।
কীস্টোর এবং কীমিন্টে আরও ভাল ত্রুটি প্রতিবেদন করা
কী তৈরি করে এমন অ্যাপগুলির জন্য, কীস্টোর এবং কীমিন্ট এখন আরও বিস্তারিত এবং সঠিক ত্রুটি নির্দেশক প্রদান করে। আমরা java.security.ProviderException
অধীনে একটি ব্যতিক্রম শ্রেণির শ্রেণিবিন্যাস যুক্ত করেছি, Android-নির্দিষ্ট ব্যতিক্রমগুলির সাথে যা Keystore/KeyMint ত্রুটি কোডগুলি অন্তর্ভুক্ত করে এবং ত্রুটিটি পুনরায় চেষ্টা করা যায় কিনা। আপনি কী তৈরির পদ্ধতিগুলিও সংশোধন করতে পারেন এবং নতুন ব্যতিক্রমগুলি ছুঁড়ে দেওয়ার জন্য (সাইনিং, এনক্রিপশন) ব্যবহার করতে পারেন। উন্নত ত্রুটি রিপোর্টিং কী জেনারেশনের মধ্যে সীমাবদ্ধ নয় এবং এখন আপনাকে কী জেনারেশনের পুনরায় চেষ্টা করতে হবে তা দেওয়া উচিত।
ট্যাবলেট এবং বড় পর্দা সমর্থন
অ্যান্ড্রয়েড 13 অ্যান্ড্রয়েড 12-এ প্রবর্তিত ট্যাবলেট অপ্টিমাইজেশান এবং 12L ফিচার ড্রপের উপর তৈরি করে—যার মধ্যে সিস্টেম UI এর জন্য অপ্টিমাইজেশান, আরও ভাল মাল্টিটাস্কিং এবং উন্নত সামঞ্জস্য মোড রয়েছে। আপনার পরীক্ষার অংশ হিসাবে, ট্যাবলেট এবং অন্যান্য বড়-স্ক্রীন ডিভাইসগুলিতে আপনার অ্যাপগুলি তাদের সেরা দেখাচ্ছে তা নিশ্চিত করুন৷
নতুন কী এবং কী পরীক্ষা করতে হবে সে সম্পর্কে আরও তথ্যের জন্য, ট্যাবলেট এবং বড়-স্ক্রিন সমর্থন পৃষ্ঠাটি দেখুন।
গ্রাফিক্স
প্রোগ্রামেবল শেডার
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে অ্যানড্রয়েড গ্রাফিক্স শেডিং ল্যাঙ্গুয়েজ ( এজিএসএল ) ব্যবহার করে সংজ্ঞায়িত আচরণ সহ প্রোগ্রামেবল RuntimeShader
অবজেক্টের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। AGSL এর বেশিরভাগ সিনট্যাক্স GLSL এর সাথে শেয়ার করে, কিন্তু Android এর ক্যানভাসের মধ্যে পেইন্টিং কাস্টমাইজ করার পাশাপাশি ভিউ কন্টেন্ট ফিল্টার করার জন্য Android রেন্ডারিং ইঞ্জিনের মধ্যে কাজ করে। অ্যান্ড্রয়েড অভ্যন্তরীণভাবে এই শেডারগুলিকে রিপল ইফেক্ট , ব্লার এবং স্ট্রেচ ওভারস্ক্রোল প্রয়োগ করতে ব্যবহার করে। Android 13 এবং উচ্চতর আপনাকে আপনার অ্যাপের জন্য অনুরূপ উন্নত প্রভাব তৈরি করতে সক্ষম করে।
কোরিওগ্রাফার উন্নতি
Android 13 Choreographer
এবং ASurfaceControl
জন্য সর্বজনীন API পদ্ধতিগুলি প্রবর্তন করে যা অ্যাপগুলিকে সম্ভাব্য ফ্রেম টাইমলাইন সম্পর্কে আরও তথ্য প্রদান করে এবং ফ্রেম জীবনচক্র সম্পর্কে SurfaceFlinger
আরও প্রসঙ্গ যোগ করে। আগের মতো, অ্যাপগুলি Choreographer
একটি কলব্যাক পোস্ট করতে পারে এবং ফ্রেম টাইমলাইন তথ্য পেতে পারে। অ্যান্ড্রয়েড 13 (এপিআই লেভেল 33) এ, Choreographer
একাধিক সম্ভাব্য উপস্থাপনার সময় এবং তাদের সংশ্লিষ্ট ফ্রেমের সময়সীমা প্রদান করে। অ্যাপগুলি উপস্থাপনার সময় বেছে নিতে পারে এবং পরবর্তীতে পছন্দের SurfaceFlinger
অবহিত করতে পারে । SurfaceFlinger
তারপর পছন্দসই উপস্থাপনা সময়ের আগে লেনদেন বা ল্যাচ বাফার প্রয়োগ করার চেষ্টা করে না।
ক্যামেরা
HDR ভিডিও ক্যাপচার
Android 13 থেকে শুরু করে, Camera2 APIs হাই ডায়নামিক রেঞ্জ (HDR) ভিডিও ক্যাপচার সমর্থন করে, যা আপনাকে আপনার ক্যামেরা ব্যবহার করে HDR ভিডিও সামগ্রীর পূর্বরূপ দেখতে এবং রেকর্ড করতে সক্ষম করে। স্ট্যান্ডার্ড ডায়নামিক রেঞ্জের (এসডিআর) তুলনায়, HDR রঙের বিস্তৃত পরিসর সরবরাহ করে এবং লুমিন্যান্স উপাদানের গতিশীল পরিসর বাড়ায় (বর্তমান 100 cd/m2 থেকে cd/m2 এর 1000s পর্যন্ত)। এর ফলে ভিডিওর গুণমান পাওয়া যায় যা বাস্তব জীবনের সাথে আরও ঘনিষ্ঠভাবে মেলে, সমৃদ্ধ রং, উজ্জ্বল হাইলাইট এবং গাঢ় ছায়া।
HDR ভিডিও ক্যাপচার সম্পর্কে আরও জানতে, HDR ভিডিও ক্যাপচার ডকুমেন্টেশন দেখুন।
মিডিয়া
স্থানিক অডিও
স্থানিক অডিও হল একটি নিমজ্জিত অডিও অভিজ্ঞতা যা আপনার ব্যবহারকারীদের জন্য মিডিয়া বিষয়বস্তুকে আরও বাস্তবসম্মত করে তোলে। এই বৈশিষ্ট্যটির সাথে কীভাবে সংহত করতে হয় তার বিশদ বিবরণের জন্য আমাদের স্থানিক অডিও ডকুমেন্টেশন দেখুন।
প্রত্যাশিত অডিও রাউটিং
মিডিয়া অ্যাপ্লিকেশানগুলিকে তাদের অডিও কীভাবে রাউট করা হবে তা শনাক্ত করতে সহায়তা করার জন্য, Android 13 AudioManager
ক্লাসে অডিও রুট APIগুলি প্রবর্তন করে৷ getAudioDevicesForAttributes()
API আপনাকে ডিভাইসগুলির একটি তালিকা পুনরুদ্ধার করতে দেয় যা নির্দিষ্ট অডিও চালানোর জন্য ব্যবহার করা যেতে পারে এবং getDirectProfilesForAttributes()
API আপনাকে বুঝতে সাহায্য করে আপনার অডিও স্ট্রিম সরাসরি চালানো যাবে কিনা। আপনার অডিও ট্র্যাকের জন্য ব্যবহার করার জন্য সেরা AudioFormat
নির্ধারণ করতে এই APIগুলি ব্যবহার করুন৷
অ্যাক্সেসযোগ্যতা
অডিও বর্ণনা
অ্যান্ড্রয়েড 13 (এপিআই লেভেল 33) একটি নতুন সিস্টেম-ওয়াইড অ্যাক্সেসিবিলিটি পছন্দ প্রবর্তন করেছে যা ব্যবহারকারীদের সমস্ত অ্যাপ জুড়ে অডিও বিবরণ সক্ষম করতে দেয়। একটি অডিও বর্ণনা হল একটি অতিরিক্ত বর্ণনার ট্র্যাক যাতে একজন বর্ণনাকারী উপস্থাপনার মাধ্যমে কথা বলে, অডিওতে স্বাভাবিক বিরতির সময় পর্দায় কী ঘটছে তা বর্ণনা করে। অ্যাপগুলি isAudioDescriptionRequested()
দিয়ে অনুসন্ধান করে অডিও বর্ণনা ট্র্যাকের জন্য ব্যবহারকারীর পছন্দ অনুসরণ করতে পারে, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
কোটলিন
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
জাভা
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
অ্যাপ্লিকেশানগুলি AccessbilityManager
একজন শ্রোতা যুক্ত করে ব্যবহারকারীর পছন্দ পরিবর্তনের নিরীক্ষণ করতে পারে:
কোটলিন
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
জাভা
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
মূল কার্যকারিতা
OpenJDK 11 আপডেট
অ্যান্ড্রয়েড 13 অ্যাপ্লিকেশন এবং প্ল্যাটফর্ম বিকাশকারীদের জন্য লাইব্রেরি আপডেট এবং জাভা 11 ভাষা সমর্থন উভয়ের সাথে OpenJDK 11 LTS রিলিজের সাথে সারিবদ্ধ করার জন্য Android এর মূল লাইব্রেরিগুলিকে রিফ্রেশ করার কাজ শুরু করে। অ্যান্ড্রয়েড 13-এ প্রবর্তিত মূল লাইব্রেরি পরিবর্তনগুলি এআরটি মেইনলাইন মডিউলে গুগল প্লে সিস্টেম আপডেটের মাধ্যমে অ্যান্ড্রয়েড 12 ডিভাইসগুলিতেও উপলব্ধ হবে।
Android 13 মূল লাইব্রেরিতে নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করে:
- স্থানীয় ভেরিয়েবল এবং প্যারামিটার ল্যাম্বডাস হিসাবে
var
কীওয়ার্ডের জন্য সমর্থন। স্ট্রিং ক্লাসে নতুন পদ্ধতি:
-
isBlank()
-
lines()
-
repeat()
-
strip()
-
stripLeading()
-
stripTrailing()
-
Collection.toArray(IntFunction)
এর জন্য সমর্থন একটি অ্যারের সাথে একটি সংগ্রহকে মানিয়ে নেওয়া সহজ করতে।java.util
ক্লাসেifPresentOrElse()
,isEmpty()
,orElseThrow()
, এবংstream()
এর জন্য সমর্থনOptional
,OptionalDouble
,OptionalInt
, এবংOptionalLong
।সকেটের পুনরায় ব্যবহার সহ
SocketOptions
জন্য বর্ধিত সমর্থন।NullReader
,NullWriter
,InputStream
,OutputStream
, এবংtransferTo()
Reader
কার্যকারিতা যা পঠিত অক্ষরগুলি একজনWriter
কাছে স্থানান্তর করে।Charsets
ব্যবহার করে URL এনকোডিং এবং ডিকোডিংয়ের জন্য কার্যকারিতা যুক্ত করা হয়েছে।FileReader
,FileWriter
,PrintStream
, এবংPrintWriter
এর জন্যCharset
কার্যকারিতা।নতুন
transferTo()
,readNBytes()
,readAllBytes()
, এবংwriteBytes()
ফাংশনByteArrayInput
বাOutputStream
এবংInput
বাOutputStream
জন্য।java.lang.invoke.VarHandle
এর জন্য রানটাইম এবং কম্পাইলার সমর্থন।অভ্যন্তরীণভাবে
VarHandle
ব্যবহার করে OpenJDK 11 API-এjava.util.concurrent
আপডেট করে।
Java এবং OpenJDK হল ওরাকল এবং/অথবা এর সহযোগীদের ট্রেডমার্ক বা নিবন্ধিত ট্রেডমার্ক।
,অ্যান্ড্রয়েড 13 ডেভেলপারদের জন্য দুর্দান্ত নতুন বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নীচের বিভাগগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করে৷
নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। নতুন এপিআই সম্পর্কে বিস্তারিত জানার জন্য অ্যান্ড্রয়েড এপিআই রেফারেন্স দেখুন — নতুন এপিআইগুলি দৃশ্যমানতার জন্য হাইলাইট করা হয়েছে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 13 এবং সমস্ত অ্যাপ্লিকেশানগুলিকে লক্ষ্য করে এমন অ্যাপ্লিকেশানগুলির জন্য Android 13 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷
বিকাশকারীর উত্পাদনশীলতা এবং সরঞ্জাম
থিমযুক্ত অ্যাপ আইকন
Android 13 দিয়ে শুরু করে, আপনি থিমযুক্ত অ্যাপ আইকন বেছে নিতে পারেন। এই বৈশিষ্ট্যটির সাহায্যে, সমর্থিত অ্যান্ড্রয়েড লঞ্চারগুলিতে অ্যাপ্লিকেশন আইকনগুলি ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং অন্যান্য থিমের রঙের উত্তরাধিকারী হওয়ার জন্য রঙিন করা হয়৷
এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য, আপনার অ্যাপটিকে অবশ্যই একটি অভিযোজিত আইকন এবং একটি একরঙা অ্যাপ আইকন উভয়ই প্রদান করতে হবে এবং ম্যানিফেস্টের <adaptive-icon>
> উপাদান থেকে একরঙা অ্যাপ আইকনে নির্দেশ করতে হবে। যদি কোনও ব্যবহারকারী থিমযুক্ত অ্যাপ আইকনগুলি সক্ষম করে থাকে (অন্য কথায়, সিস্টেম সেটিংসে থিমযুক্ত আইকন টগল চালু করে) এবং লঞ্চার এই বৈশিষ্ট্যটিকে সমর্থন করে, সিস্টেমটি টিন্ট রঙ নির্ধারণ করতে ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং থিমের রঙ ব্যবহার করে, যা এটি তখন একরঙা অ্যাপ আইকনে প্রযোজ্য।
হোম স্ক্রীন থিমযুক্ত অ্যাপ আইকন প্রদর্শন করে না—এবং এর পরিবর্তে অভিযোজিত বা মানক অ্যাপ আইকন প্রদর্শন করে—নিম্নলিখিত পরিস্থিতিতে যেকোনো একটিতে:
- ব্যবহারকারী যদি থিমযুক্ত অ্যাপ আইকন সক্রিয় না করে থাকে
- যদি আপনার অ্যাপটি একরঙা অ্যাপ আইকন প্রদান না করে
- যদি লঞ্চার থিমযুক্ত অ্যাপ আইকন সমর্থন না করে
আরও বিশদ বিবরণ এবং নির্দেশাবলীর জন্য, অভিযোজিত আইকনগুলি দেখুন।
প্রতি-অ্যাপ ভাষা পছন্দ
অনেক ক্ষেত্রে, বহুভাষিক ব্যবহারকারীরা তাদের সিস্টেমের ভাষাকে একটি ভাষাতে সেট করে - যেমন ইংরেজি - কিন্তু তারা নির্দিষ্ট অ্যাপের জন্য অন্যান্য ভাষা নির্বাচন করতে চায়, যেমন ডাচ, চাইনিজ বা হিন্দি। এই ব্যবহারকারীদের জন্য অ্যাপগুলিকে আরও ভাল অভিজ্ঞতা প্রদানে সহায়তা করার জন্য, Android 13 একাধিক ভাষা সমর্থন করে এমন অ্যাপগুলির জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি প্রবর্তন করে:
সিস্টেম সেটিংস : একটি কেন্দ্রীভূত অবস্থান যেখানে ব্যবহারকারীরা প্রতিটি অ্যাপের জন্য একটি পছন্দের ভাষা নির্বাচন করতে পারেন।
আপনার অ্যাপটিকে অবশ্যই আপনার অ্যাপের ম্যানিফেস্টে
android:localeConfig
অ্যাট্রিবিউটটি ঘোষণা করতে হবে যাতে সিস্টেমটি একাধিক ভাষা সমর্থন করে। আরও জানতে, একটি রিসোর্স ফাইল তৈরি এবং আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ঘোষণা করার নির্দেশাবলী দেখুন।অতিরিক্ত API : এই সর্বজনীন API, যেমন
setApplicationLocales()
এবংgetApplicationLocales()
পদ্ধতিLocaleManager
এ, অ্যাপগুলিকে রানটাইমে সিস্টেম ভাষা থেকে একটি ভিন্ন ভাষা সেট করতে দেয়।এই APIগুলি স্বয়ংক্রিয়ভাবে সিস্টেম সেটিংসের সাথে সিঙ্ক হয়; তাই, যে অ্যাপগুলি কাস্টম ইন-অ্যাপ ল্যাঙ্গুয়েজ পিকার তৈরি করতে এই APIগুলি ব্যবহার করে সেগুলি নিশ্চিত করবে যে তাদের ব্যবহারকারীরা তাদের ভাষা পছন্দগুলি যেখানেই বেছে নিন না কেন তাদের ব্যবহারকারীদের একটি সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা রয়েছে। পাবলিক APIগুলি আপনাকে বয়লারপ্লেট কোডের পরিমাণ কমাতেও সাহায্য করে, তারা বিভক্ত APK সমর্থন করে এবং তারা অ্যাপ-স্তরের ব্যবহারকারী ভাষা সেটিংস সংরক্ষণ করতে অ্যাপগুলির জন্য স্বয়ংক্রিয় ব্যাকআপ সমর্থন করে।
পূর্ববর্তী অ্যান্ড্রয়েড সংস্করণগুলির সাথে পিছিয়ে থাকা সামঞ্জস্যের জন্য, সমতুল্য APIগুলিও AndroidX-এ উপলব্ধ। আমরা Appcompat 1.6.0-beta01 বা উচ্চতর এপিআই ব্যবহার করার পরামর্শ দিই।
যে অ্যাপগুলি একাধিক ভাষা সমর্থন করে না সেগুলি এই পরিবর্তনগুলির দ্বারা প্রভাবিত হয় না৷
উন্নত টেক্সট এবং ভাষা সমর্থন
অ্যান্ড্রয়েড 13-এ বেশ কয়েকটি বৈশিষ্ট্যের পাঠ্য এবং ভাষার উন্নতি রয়েছে যা আপনাকে আরও সুন্দর অভিজ্ঞতা প্রদান করতে সহায়তা করে, যা নিম্নলিখিত বিভাগগুলি বর্ণনা করে:
দ্রুত হাইফেনেশন
হাইফেনেশন মোড়ানো টেক্সট পড়া সহজ করে তোলে এবং আপনার UI আরও অভিযোজিত করতে সাহায্য করে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, হাইফেনেশন পারফরম্যান্স 200% পর্যন্ত অপ্টিমাইজ করা হয়েছে যাতে আপনি এটি আপনার TextView
সক্ষম করতে পারেন যাতে রেন্ডারিং কার্যক্ষমতার উপর প্রায় কোনও প্রভাব না পড়ে। দ্রুত হাইফেনেশন সক্ষম করতে, setHyphenationFrequency()
এ fullFast
বা normalFast
ফ্রিকোয়েন্সি ব্যবহার করুন।
পাঠ্য রূপান্তর API
যারা জাপানি এবং চাইনিজ ভাষায় কথা বলে তারা ফোনেটিক লেটারিং ইনপুট পদ্ধতি ব্যবহার করে, যা প্রায়শই অনুসন্ধান এবং স্বয়ংসম্পূর্ণতার মতো বৈশিষ্ট্যগুলিকে ধীর করে দেয়। অ্যান্ড্রয়েড 13-এ, অ্যাপগুলি নতুন পাঠ্য রূপান্তর API কল করতে পারে যাতে ব্যবহারকারীরা দ্রুত এবং সহজে যা খুঁজছেন তা খুঁজে পেতে পারেন। পূর্বে, উদাহরণস্বরূপ, অনুসন্ধানের জন্য একজন জাপানি ব্যবহারকারীকে এই পদক্ষেপগুলি করতে হবে:
- হিরাগানাকে তাদের অনুসন্ধান শব্দের ধ্বনিগত উচ্চারণ হিসাবে ইনপুট করুন (যেমন একটি স্থান বা একটি অ্যাপের নাম)
- হিরাগানা অক্ষরকে কাঞ্জিতে রূপান্তর করতে কীবোর্ড ব্যবহার করুন
- কাঞ্জি অক্ষর ব্যবহার করে পুনরায় অনুসন্ধান করুন
- অবশেষে তাদের অনুসন্ধান ফলাফল পান
নতুন পাঠ্য রূপান্তর API এর সাথে, জাপানি ব্যবহারকারীরা হিরাগানায় টাইপ করতে পারে এবং অবিলম্বে কাঞ্জি অনুসন্ধান ফলাফল লাইভ দেখতে পারে, ধাপ 2 এবং 3 এড়িয়ে যায়৷
অ-ল্যাটিন স্ক্রিপ্টগুলির জন্য উন্নত লাইন উচ্চতা
Android 13 প্রতিটি ভাষার জন্য অভিযোজিত লাইনের উচ্চতা ব্যবহার করে অ-ল্যাটিন স্ক্রিপ্টের (যেমন তামিল, বার্মিজ, তেলেগু এবং তিব্বতি) প্রদর্শন উন্নত করে। নতুন লাইন উচ্চতা ক্লিপিং প্রতিরোধ করে এবং অক্ষরের অবস্থান উন্নত করে। আপনার অ্যাপ শুধুমাত্র Android 13 টার্গেট করে এই উন্নতিগুলির সুবিধা নিতে পারে। নতুন লাইন স্পেসিং ব্যবহার করার সময় আপনার অ্যাপগুলি পরীক্ষা করার বিষয়টি নিশ্চিত করুন কারণ পরিবর্তনগুলি অ-ল্যাটিন ভাষায় আপনার UI কে প্রভাবিত করতে পারে।
উন্নত জাপানি টেক্সট মোড়ানো
Android 13 থেকে শুরু করে, TextViews আরও পালিশ এবং পঠনযোগ্য জাপানি অ্যাপ্লিকেশনের জন্য বুনসেটসু (শব্দের ক্ষুদ্রতম একক যা প্রাকৃতিক শোনাচ্ছে) বা অক্ষরের পরিবর্তে বাক্যাংশ দ্বারা পাঠ্য মোড়ক করতে পারে। আপনি TextViews এর সাথে android:lineBreakWordStyle="phrase"
ব্যবহার করে এই মোড়ানোর সুবিধা নিতে পারেন।
ইউনিকোড লাইব্রেরি আপডেট
Android 13 ইউনিকোড ICU 70 , Unicode CLDR 40 , এবং Unicode 14.0 -এ অন্তর্ভুক্ত সাম্প্রতিক উন্নতি, সংশোধন এবং পরিবর্তনগুলি যোগ করে৷
এখানে কয়েকটি উল্লেখযোগ্য পরিবর্তন রয়েছে:
- ইংরেজি (কানাডা)
en‑CA
এবং ইংরেজি (ফিলিপাইন প্রজাতন্ত্র)en‑PH
উভয়ই ইংরেজি (ইউনাইটেড স্টেটস)en
অনুবাদ সংস্থান ব্যবহার করে যখন ইংরেজি (ইউনাইটেড কিংডম)en‑GB
এর পরিবর্তে কোনো অনুবাদ সংস্থান উপলব্ধ না থাকে। - স্প্যানিশ
es
, ইতালীয়it
, পর্তুগিজpt
এবং পর্তুগিজ (পর্তুগাল)pt‑PT
এর জন্যmany
বিভাগ চালু করা হয়েছে। CLDR v38 এ প্রবর্তিত ফরাসি ভাষার অনুরূপ, এটি বড় সংখ্যার জন্য ব্যবহৃত হয়।
রঙ ভেক্টর ফন্ট
Android 13 থেকে শুরু করে, সিস্টেমে COLR সংস্করণ 1 (COLRv1) ফন্টের জন্য রেন্ডারিং সমর্থন এবং COLRv1 ফর্ম্যাটে সিস্টেম ইমোজি আপডেট করা অন্তর্ভুক্ত। COLRv1 হল একটি অত্যন্ত কমপ্যাক্ট ফন্ট ফরম্যাট যা যেকোনো আকারে দ্রুত এবং চটপটে রেন্ডার করে।
বেশিরভাগ অ্যাপের জন্য, সিস্টেম সবকিছু পরিচালনা করে এবং COLRv1 শুধু কাজ করে। যাইহোক, যদি আপনার অ্যাপ তার নিজস্ব টেক্সট রেন্ডারিং প্রয়োগ করে এবং সিস্টেমের ফন্ট ব্যবহার করে, আমরা ইমোজি রেন্ডারিং পরীক্ষা করার পরামর্শ দিই।
COLRv1 সম্পর্কে আরও জানতে, নিম্নলিখিত সংস্থানগুলি দেখুন:
দ্রুত সেটিংস প্লেসমেন্ট API
বিজ্ঞপ্তির ছায়ায় দ্রুত সেটিংস হল ব্যবহারকারীদের সেটিংস পরিবর্তন করার বা অ্যাপের প্রসঙ্গ না রেখে দ্রুত পদক্ষেপ নেওয়ার একটি সুবিধাজনক উপায়। কাস্টম টাইলস প্রদান করে এমন অ্যাপগুলির জন্য, আমরা ব্যবহারকারীদের জন্য দ্রুত সেটিংসে আপনার টাইলগুলি আবিষ্কার করা এবং যুক্ত করা সহজ করে দিচ্ছি। একটি নতুন টাইল প্লেসমেন্ট API ব্যবহার করে, আপনার অ্যাপ এখন ব্যবহারকারীকে সক্রিয় দ্রুত সেটিংস টাইলের সেটে সরাসরি আপনার কাস্টম টাইল যোগ করার জন্য অনুরোধ করতে পারে। একটি নতুন সিস্টেম ডায়ালগ ব্যবহারকারীকে টাইল যোগ করার জন্য দ্রুত সেটিংসে যেতে না করে, আপনার অ্যাপ না রেখে এক ধাপে টাইল যোগ করতে দেয়।
ক্লিপবোর্ড পূর্বরূপ
অ্যান্ড্রয়েড 13 থেকে শুরু করে, ক্লিপবোর্ডে সামগ্রী যোগ করা হলে সিস্টেমটি একটি স্ট্যান্ডার্ড ভিজ্যুয়াল নিশ্চিতকরণ প্রদর্শন করে। নতুন নিশ্চিতকরণ নিম্নলিখিতগুলি করে:
- কনফার্ম করে কন্টেন্ট সফলভাবে কপি করা হয়েছে।
- অনুলিপি করা বিষয়বস্তুর একটি পূর্বরূপ প্রদান করে।
এই বৈশিষ্ট্যটি অনুলিপি করার পরে অ্যাপগুলির দ্বারা প্রদর্শিত বিভিন্ন বিজ্ঞপ্তিকে মানসম্মত করে এবং ব্যবহারকারীদের তাদের ক্লিপবোর্ডে আরও নিয়ন্ত্রণের প্রস্তাব দেয়। অতিরিক্ত তথ্যের জন্য, কপি এবং পেস্ট বৈশিষ্ট্য পৃষ্ঠা দেখুন।
ভবিষ্যদ্বাণীপূর্ণ ফিরে অঙ্গভঙ্গি
অ্যান্ড্রয়েড 13 ফোন, বড় স্ক্রিন এবং ফোল্ডেবলের মতো অ্যান্ড্রয়েড ডিভাইসগুলির জন্য একটি ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার প্রবর্তন করে। এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য আপনাকে আপনার অ্যাপ আপডেট করতে হবে।
বিস্তারিত ডকুমেন্টেশন দেখতে, একটি ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার সমর্থন করতে আপনার অ্যাপ আপডেট করুন দেখুন। আপনি আমাদের কোডল্যাব ব্যবহার করে দেখতে পারেন।
ব্লুটুথ LE অডিও
লো এনার্জি (LE) অডিও হল ওয়্যারলেস অডিও যা ব্লুটুথ ক্লাসিক প্রতিস্থাপন করতে এবং নির্দিষ্ট ব্যবহারের ক্ষেত্রে এবং সংযোগ টপোলজি সক্ষম করার জন্য নির্মিত। এটি ব্যবহারকারীদের বন্ধুদের এবং পরিবারের সাথে তাদের অডিও শেয়ার এবং সম্প্রচার করতে বা তথ্য, বিনোদন, বা অ্যাক্সেসযোগ্যতার জন্য সর্বজনীন সম্প্রচারে সদস্যতা নিতে দেয়। ব্যবহারকারীরা ব্যাটারি লাইফ ত্যাগ না করেই উচ্চ বিশ্বস্ততার অডিও গ্রহণ করতে পারে এবং ব্লুটুথ ক্লাসিকের সাথে সম্ভব নয় এমন বিভিন্ন ব্যবহারের ক্ষেত্রে নির্বিঘ্নে পরিবর্তন করতে পারে তা নিশ্চিত করার জন্য এটি ডিজাইন করা হয়েছে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে LE অডিওর জন্য অন্তর্নির্মিত সমর্থন অন্তর্ভুক্ত রয়েছে, তাই বিকাশকারীরা সামঞ্জস্যপূর্ণ ডিভাইসগুলিতে বিনামূল্যে এই ক্ষমতাগুলি পান।
MIDI 2.0
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমটিতে MIDI 2.0 স্ট্যান্ডার্ডের জন্য সমর্থন রয়েছে, যার মধ্যে USB এর মাধ্যমে MIDI 2.0 হার্ডওয়্যার সংযোগ করার ক্ষমতা রয়েছে। এই স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি অফার করে যেমন কন্ট্রোলারগুলির জন্য বর্ধিত রেজোলিউশন, নন-ওয়েস্টার্ন ইনটোনেশনের জন্য আরও ভাল সমর্থন এবং প্রতি-নোট কন্ট্রোলারগুলি ব্যবহার করে আরও অভিব্যক্তিপূর্ণ কর্মক্ষমতা।
স্প্ল্যাশ স্ক্রীন দক্ষতা উন্নতি
অ্যান্ড্রয়েড 13 স্প্ল্যাশ স্ক্রিন এপিআই-তে অ্যানিমেটেড স্প্ল্যাশ স্ক্রিনগুলির দক্ষতা উন্নত করে:
সিস্টেম
AnimatedVectorDrawable
থেকে সরাসরি অ্যানিমেশনের সময়কাল অনুমান করে। Android 13 এর আগে, সরাসরিwindowSplashScreenAnimationDuration
সেট করা প্রয়োজন ছিল।আপনার অ্যাপ সবসময় অ্যান্ড্রয়েড 13 এবং উচ্চতর স্প্ল্যাশ স্ক্রিনে আইকন প্রদর্শন করে কিনা তা আরও নিয়ন্ত্রণের জন্য নতুন
windowSplashScreenBehavior
অ্যাট্রিবিউট ব্যবহার করুন।
বিস্তারিত ডকুমেন্টেশন দেখতে, স্প্ল্যাশ স্ক্রিন দেখুন।
এআরটি অপ্টিমাইজেশান
Android 13 (API স্তর 33) এবং উচ্চতর, ART নেটিভ কোডে এবং থেকে অনেক দ্রুত স্যুইচিং করে, JNI কল এখন 2.5x পর্যন্ত দ্রুত। রানটাইম রেফারেন্স প্রসেসিং এটিকে বেশিরভাগই নন-ব্লকিং করার জন্য পুনরায় কাজ করা হয়েছিল, যা আরও জ্যাঙ্ককে হ্রাস করে। উপরন্তু, আপনি Reference.refersTo()
পাবলিক এপিআই ব্যবহার করতে পারেন শীঘ্রই পৌঁছানো যায় না এমন বস্তুগুলি পুনরুদ্ধার করতে, এবং আপনি লক্ষ্য করবেন অপ্টিমাইজ করা ক্লাস এবং মেথড লুকআপের জন্য ইন্টারপ্রেটার এখন দ্রুততর হয়েছে। এআরটি ইনস্টলের সময় আরও বাইট-কোড যাচাইকরণ করে, রানটাইমে যাচাইকরণের খরচ এড়ায় এবং অ্যাপ স্টার্টআপের সময় দ্রুত রাখে।
গোপনীয়তা এবং নিরাপত্তা
প্রসঙ্গ-নিবন্ধিত রিসিভারের নিরাপদ রপ্তানি
রানটাইম রিসিভারগুলিকে নিরাপদ করতে সাহায্য করার জন্য, Android 13 আপনার অ্যাপের জন্য একটি রেজিস্টার্ড ব্রডকাস্ট রিসিভার রপ্তানি করা উচিত এবং ডিভাইসের অন্যান্য অ্যাপে দৃশ্যমান হবে কিনা তা নির্দিষ্ট করার ক্ষমতা প্রবর্তন করে। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, ডিভাইসের যেকোনো অ্যাপ একটি অরক্ষিত সম্প্রচার একটি গতিশীল-নিবন্ধিত রিসিভারকে পাঠাতে পারে যদি না সেই রিসিভারটি স্বাক্ষরের অনুমতি দ্বারা সুরক্ষিত থাকে৷
এই রপ্তানি কনফিগারেশনটি এমন অ্যাপ্লিকেশানগুলিতে উপলব্ধ যা নিম্নলিখিতগুলির মধ্যে অন্তত একটি করে:
- AndroidX কোর লাইব্রেরির 1.9.0 বা উচ্চতর সংস্করণ থেকে
ContextCompat
ক্লাস ব্যবহার করুন। - টার্গেট Android 13 বা উচ্চতর।
ফটো পিকার
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) এবং উচ্চতর একটি ফটো বাছাইয়ের অভিজ্ঞতা অন্তর্ভুক্ত করে। যখন আপনার অ্যাপ্লিকেশনটি ফটো পিকারটি চালু করে, ব্যবহারকারীরা আপনার অ্যাপ্লিকেশনটিকে পুরো মিডিয়া লাইব্রেরি দেখার জন্য অ্যাক্সেস দেওয়ার পরিবর্তে আপনার অ্যাপ্লিকেশন যেমন প্রোফাইল ছবিগুলির সাথে ভাগ করে নেওয়ার জন্য নির্দিষ্ট চিত্র এবং ভিডিও নির্বাচন করেন। এটি ব্যবহারকারীর ফটো এবং ভিডিওগুলি অ্যাক্সেস করার প্রস্তাবিত উপায়।
ফটো পিকার ব্যবহারকারীদের জন্য বর্ধিত গোপনীয়তা সরবরাহ করে কারণ আপনার অ্যাপ্লিকেশনটিকে কোনও রানটাইম অনুমতি ঘোষণা করার দরকার নেই। তদতিরিক্ত, ফটো পিকার অ্যাপ্লিকেশনগুলির জন্য একটি অন্তর্নির্মিত, মানক ইউআই সরবরাহ করে, যা আরও ধারাবাহিক ব্যবহারকারীর অভিজ্ঞতা তৈরি করে।
কাছাকাছি ওয়াই-ফাই ডিভাইসের জন্য নতুন রানটাইম অনুমতি
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) অ্যাপ্লিকেশনগুলির জন্য NEARBY_DEVICES
অনুমতি গোষ্ঠীতে একটি নতুন রানটাইম অনুমতি প্রবর্তন করে যা ওয়াই-ফাইয়ের উপর থেকে কাছাকাছি অ্যাক্সেস পয়েন্টগুলিতে কোনও ডিভাইসের সংযোগ পরিচালনা করে। এই অ্যাপ্লিকেশনগুলিকে অবশ্যই নতুন অনুমতিগুলি ঘোষণা করতে হবে, NEARBY_WIFI_DEVICES
, যখন তারা বেশ কয়েকটি ভিন্ন ওয়াই-ফাই এপিআই কল করে । তদতিরিক্ত, যতক্ষণ না অ্যাপ্লিকেশনগুলি ওয়াই-ফাই এপিআই থেকে শারীরিক অবস্থান অর্জন করে না, ততক্ষণ অ্যান্ড্রয়েড 13 বা তার বেশি টার্গেট করার সময় তাদের ACCESS_FINE_LOCATION
অনুমতি ঘোষণা করার দরকার নেই।
কাছাকাছি ওয়াই-ফাই ডিভাইসগুলির অনুমতি সম্পর্কে আরও জানুন।
সঠিক অ্যালার্ম ব্যবহার করার নতুন অনুমতি
যদি আপনার অ্যাপ্লিকেশনটি অ্যান্ড্রয়েড 13 বা তার বেশি লক্ষ্য করে তবে আপনি USE_EXACT_ALARM
অনুমতিটি ব্যবহার করতে পারেন, যা স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশনটিতে মঞ্জুর করা হয়। আপনার অ্যাপ্লিকেশনটির জন্য এই অনুমতিটি ব্যবহার করার জন্য, তবে এটি অবশ্যই নিম্নলিখিত মানদণ্ডগুলির মধ্যে কমপক্ষে একটি পূরণ করতে হবে:
- আপনার অ্যাপ্লিকেশনটি একটি অ্যালার্ম ক্লক অ্যাপ্লিকেশন বা একটি টাইমার অ্যাপ্লিকেশন।
- আপনার অ্যাপ্লিকেশনটি একটি ক্যালেন্ডার অ্যাপ্লিকেশন যা আসন্ন ইভেন্টগুলির জন্য বিজ্ঞপ্তিগুলি দেখায়।
যদি আপনার অ্যাপ্লিকেশনটি সঠিক অ্যালার্মগুলি সেট করে তবে পূর্ববর্তী তালিকায় প্রদর্শিত উভয় কেস সন্তুষ্ট না করে, পরিবর্তে SCHEDULE_EXACT_ALARM
অনুমতি ঘোষণা করা চালিয়ে যান এবং ব্যবহারকারী আপনার অ্যাপ্লিকেশনটিতে অ্যাক্সেস অস্বীকার করে এমন পরিস্থিতির জন্য প্রস্তুত থাকুন।
বিকাশকারী ডাউনগ্রেডেবল অনুমতি
অ্যান্ড্রয়েড 13 থেকে শুরু করে, আপনার অ্যাপ্লিকেশনটি অব্যবহৃত রানটাইম অনুমতিগুলিতে অ্যাক্সেস প্রত্যাহার করতে পারে। এই এপিআই আপনার অ্যাপ্লিকেশনটিকে নিম্নলিখিতগুলির মতো গোপনীয়তা-বর্ধনকারী কাজগুলি সম্পাদন করতে দেয়:
- অব্যবহৃত অনুমতি সরান।
- অনুমতিগুলি সর্বোত্তম অনুশীলনগুলি মেনে চলেন, যা ব্যবহারকারীর আস্থা উন্নত করে। আপনি সক্রিয়ভাবে প্রত্যাহার করেছেন এমন অনুমতিগুলি প্রদর্শনকারী একটি ডায়ালগটি ব্যবহারকারীদের দেখানোর বিষয়টি বিবেচনা করতে পারেন।
এপিকে স্বাক্ষর স্কিম v3.1
অ্যান্ড্রয়েড 13 এপিকে স্বাক্ষর স্কিম ভি 3.1 এর জন্য সমর্থন যুক্ত করে, যা বিদ্যমান এপিকে স্বাক্ষর স্কিম ভি 3 এর উপর উন্নত করে। এই স্কিমটি ঘূর্ণন সম্পর্কিত এপিকে স্বাক্ষর স্কিম ভি 3 এর সাথে কিছু পরিচিত বিষয়গুলিকে সম্বোধন করে । বিশেষত, v3.1 স্বাক্ষর স্কিম এসডিকে সংস্করণ টার্গেটিংকে সমর্থন করে, যা রোটেশনটিকে প্ল্যাটফর্মের পরবর্তী প্রকাশকে লক্ষ্য করতে দেয়।
V3.1 স্বাক্ষর স্কিম একটি ব্লক আইডি ব্যবহার করে যা 12L বা তার চেয়ে কম সময়ে স্বীকৃত নয়। অতএব, প্ল্যাটফর্মটি নিম্নলিখিত স্বাক্ষরকারী আচরণ প্রয়োগ করে:
- অ্যান্ড্রয়েড 13 বা উচ্চতর চালিত ডিভাইসগুলি v3.1 ব্লকে ঘোরানো স্বাক্ষরকারী ব্যবহার করে।
- অ্যান্ড্রয়েডের পুরানো সংস্করণগুলি চালিত ডিভাইসগুলি ঘোরানো স্বাক্ষরকারীটিকে উপেক্ষা করে এবং পরিবর্তে v3.0 ব্লকে মূল স্বাক্ষরটি ব্যবহার করে।
যে অ্যাপ্লিকেশনগুলি এখনও তাদের স্বাক্ষর কীটি ঘোরানো হয়নি সেগুলি কোনও অতিরিক্ত ক্রিয়াকলাপের প্রয়োজন হয় না। যখনই এই অ্যাপ্লিকেশনগুলি ঘোরানো পছন্দ করে, সিস্টেমটি ডিফল্টরূপে v3.1 স্বাক্ষর স্কিম প্রয়োগ করে।
ইতিমধ্যে ঘোরানো এবং ভি 3.0 সাইনিং ব্লকে তাদের ঘোরানো সাইনিং কী ব্যবহার চালিয়ে যেতে চান এমন অ্যাপ্লিকেশনগুলি তাদের apksigner
অনুরোধ আপডেট করতে হবে:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
... যেখানে API_LEVEL
32 বা তার চেয়ে কম।
কীস্টোর এবং কীমিন্টে প্রতিবেদন করা আরও ভাল ত্রুটি
কীগুলি তৈরি করে এমন অ্যাপ্লিকেশনগুলির জন্য, কীস্টোর এবং কীমিন্ট এখন আরও বিশদ এবং সঠিক ত্রুটি সূচক সরবরাহ করে। আমরা java.security.ProviderException
এর অধীনে একটি ব্যতিক্রম শ্রেণীর শ্রেণিবিন্যাস যুক্ত করেছি, অ্যান্ড্রয়েড-নির্দিষ্ট ব্যতিক্রমগুলির সাথে কীস্টোর/কীমিন্ট ত্রুটি কোডগুলি অন্তর্ভুক্ত রয়েছে এবং ত্রুটিটি পুনরায় চেষ্টাযোগ্য কিনা। নতুন ব্যতিক্রমগুলি ছুঁড়ে ফেলার জন্য আপনি কী জেনারেশন এবং ব্যবহারের (সাইনিং, এনক্রিপশন) এর পদ্ধতিগুলিও সংশোধন করতে পারেন। উন্নত ত্রুটি প্রতিবেদনটি কী প্রজন্মের মধ্যে সীমাবদ্ধ নয় এবং এখন আপনাকে কী প্রজন্মের পুনরায় চেষ্টা করার জন্য যা প্রয়োজন তা দেওয়া উচিত।
ট্যাবলেট এবং বড় স্ক্রিন সমর্থন
অ্যান্ড্রয়েড 13 অ্যান্ড্রয়েড 12-এ প্রবর্তিত ট্যাবলেট অপ্টিমাইজেশান এবং 12L ফিচার ড্রপের উপর তৈরি করে—যার মধ্যে সিস্টেম UI এর জন্য অপ্টিমাইজেশান, আরও ভাল মাল্টিটাস্কিং এবং উন্নত সামঞ্জস্য মোড রয়েছে। আপনার পরীক্ষার অংশ হিসাবে, নিশ্চিত করুন যে আপনার অ্যাপ্লিকেশনগুলি ট্যাবলেট এবং অন্যান্য বৃহত-স্ক্রিন ডিভাইসে তাদের সেরা দেখায়।
কী নতুন এবং কী পরীক্ষা করতে হবে সে সম্পর্কে আরও তথ্যের জন্য, ট্যাবলেট এবং বৃহত্তর স্ক্রিন সমর্থন পৃষ্ঠাটি দেখুন।
গ্রাফিক্স
প্রোগ্রামেবল শেডার
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে অ্যান্ড্রয়েড গ্রাফিক্স শেডিং ল্যাঙ্গুয়েজ ( এজিএসএল ) ব্যবহার করে আচরণ সংজ্ঞায়িত করার সাথে প্রোগ্রামেবল RuntimeShader
অবজেক্টগুলির জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। এজিএসএল জিএলএসএল এর সাথে এর সিনট্যাক্সের বেশিরভাগ অংশ ভাগ করে, তবে অ্যান্ড্রয়েডের ক্যানভাসের মধ্যে পেইন্টিং কাস্টমাইজ করার পাশাপাশি ভিউ সামগ্রীর ফিল্টারিংয়ের জন্য অ্যান্ড্রয়েড রেন্ডারিং ইঞ্জিনের মধ্যে কাজ করে। অ্যান্ড্রয়েড অভ্যন্তরীণভাবে এই শেডারগুলি রিপল প্রভাবগুলি , অস্পষ্টতা এবং প্রসারিত ওভারক্রোল প্রয়োগ করতে ব্যবহার করে। অ্যান্ড্রয়েড 13 এবং উচ্চতর আপনাকে আপনার অ্যাপ্লিকেশনটির জন্য অনুরূপ উন্নত প্রভাব তৈরি করতে সক্ষম করে।
কোরিওগ্রাফার উন্নতি
অ্যান্ড্রয়েড 13 Choreographer
এবং ASurfaceControl
কাছে সর্বজনীন এপিআই পদ্ধতিগুলি প্রবর্তন করে যা সম্ভাব্য ফ্রেমের টাইমলাইনগুলি সম্পর্কে আরও তথ্য সরবরাহ করে এবং ফ্রেম লাইফসাইকেল সম্পর্কে SurfaceFlinger
আরও প্রসঙ্গ যুক্ত করে। আগের মতো, অ্যাপ্লিকেশনগুলি Choreographer
একটি কলব্যাক পোস্ট করতে পারে এবং ফ্রেম টাইমলাইন তথ্য পেতে পারে। অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) এ Choreographer
একাধিক সম্ভাব্য উপস্থাপনার সময় এবং তাদের সম্পর্কিত ফ্রেমের সময়সীমা প্রদান করে। অ্যাপ্লিকেশনগুলি উপস্থাপনার সময়টি চয়ন করতে পারে এবং পরবর্তীকালে পছন্দের SurfaceFlinger
অবহিত করতে পারে । SurfaceFlinger
তখন পছন্দসই উপস্থাপনার সময়টির আগে লেনদেন বা ল্যাচ বাফার প্রয়োগ করার চেষ্টা করে না।
ক্যামেরা
এইচডিআর ভিডিও ক্যাপচার
অ্যান্ড্রয়েড 13 থেকে শুরু করে, ক্যামেরা 2 এপিআইগুলি হাই ডায়নামিক রেঞ্জ (এইচডিআর) ভিডিও ক্যাপচারকে সমর্থন করে, যা আপনাকে আপনার ক্যামেরা ব্যবহার করে এইচডিআর ভিডিও সামগ্রীর পূর্বরূপ এবং রেকর্ড করতে সক্ষম করে। স্ট্যান্ডার্ড ডায়নামিক রেঞ্জ (এসডিআর) এর সাথে তুলনা করে, এইচডিআর বিস্তৃত রঙের অফার দেয় এবং লুমিন্যান্স উপাদানটির গতিশীল পরিসীমা বাড়িয়ে তোলে (বর্তমান 100 সিডি/এম 2 থেকে সিডি/এম 2 এর 1000s)। এটি ভিডিও মানের ফলাফল যা আরও সমৃদ্ধ রঙ, উজ্জ্বল হাইলাইট এবং গা er ় ছায়ার সাথে বাস্তব জীবনের সাথে আরও ঘনিষ্ঠভাবে মেলে।
এইচডিআর ভিডিও ক্যাপচার সম্পর্কে আরও জানতে, এইচডিআর ভিডিও ক্যাপচার ডকুমেন্টেশন দেখুন।
মিডিয়া
স্থানিক অডিও
স্থানিক অডিও একটি নিমজ্জনিত অডিও অভিজ্ঞতা যা মিডিয়া সামগ্রীগুলিকে আপনার ব্যবহারকারীদের জন্য আরও বাস্তবসম্মত করে তোলে। এই বৈশিষ্ট্যটির সাথে কীভাবে সংহত করা যায় সে সম্পর্কে বিশদগুলির জন্য আমাদের স্থানিক অডিও ডকুমেন্টেশন দেখুন।
প্রত্যাশিত অডিও রাউটিং
মিডিয়া অ্যাপ্লিকেশনগুলিকে কীভাবে তাদের অডিওটি রাউট করা হতে চলেছে তা সনাক্ত করতে সহায়তা করার জন্য, অ্যান্ড্রয়েড 13 AudioManager
ক্লাসে অডিও রুট এপিআইদের পরিচয় করিয়ে দেয়। getAudioDevicesForAttributes()
এপিআই আপনাকে নির্দিষ্ট অডিও খেলতে ব্যবহৃত ডিভাইসগুলির একটি তালিকা পুনরুদ্ধার করতে দেয় এবং getDirectProfilesForAttributes()
এপিআই আপনাকে আপনার অডিও স্ট্রিমটি সরাসরি খেলতে পারে কিনা তা বুঝতে সহায়তা করে। আপনার অডিও ট্র্যাকের জন্য ব্যবহার করতে সেরা AudioFormat
নির্ধারণ করতে এই এপিআইগুলি ব্যবহার করুন।
অ্যাক্সেসযোগ্যতা
অডিও বর্ণনা
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) একটি নতুন সিস্টেম-প্রশস্ত অ্যাক্সেসিবিলিটি পছন্দকে পরিচয় করিয়ে দেয় যা ব্যবহারকারীদের সমস্ত অ্যাপ্লিকেশন জুড়ে অডিও বিবরণ সক্ষম করতে দেয়। একটি অডিও বিবরণ একটি অতিরিক্ত বিবরণ ট্র্যাক যা উপস্থাপনার মাধ্যমে কথা বলার জন্য একটি বর্ণনাকারী নিয়ে গঠিত, অডিওতে প্রাকৃতিক বিরতির সময় পর্দায় কী ঘটছে তা বর্ণনা করে। অ্যাপ্লিকেশনগুলি অডিও বিবরণ ট্র্যাকগুলির জন্য ব্যবহারকারীর পছন্দকে অনুসরণ করতে পারে এটি isAudioDescriptionRequested()
দিয়ে জিজ্ঞাসা করে, নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
কোটলিন
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
জাভা
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
অ্যাপ্লিকেশনগুলি AccessbilityManager
শ্রোতাদের যুক্ত করে ব্যবহারকারীর পছন্দ পরিবর্তন পর্যবেক্ষণ করতে পারে:
কোটলিন
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
জাভা
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
মূল কার্যকারিতা
ওপেনজেডকে 11 আপডেট
অ্যান্ড্রয়েড 13 ওপেনজেডিকে 11 এলটিএস রিলিজের সাথে একত্রিত করার জন্য অ্যান্ড্রয়েডের মূল গ্রন্থাগারগুলি রিফ্রেশ করার কাজ শুরু করে লাইব্রেরি আপডেট এবং জাভা 11 অ্যাপ্লিকেশন এবং প্ল্যাটফর্ম বিকাশকারীদের জন্য ভাষা সমর্থন উভয়ই। অ্যান্ড্রয়েড 13 এ প্রবর্তিত মূল গ্রন্থাগার পরিবর্তনগুলি আর্ট মেইনলাইন মডিউলটিতে গুগল প্লে সিস্টেম আপডেটের মাধ্যমে অ্যান্ড্রয়েড 12 ডিভাইসেও উপলব্ধ থাকবে।
অ্যান্ড্রয়েড 13 এর মধ্যে মূল গ্রন্থাগারগুলিতে নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে:
- স্থানীয় ভেরিয়েবল এবং প্যারামিটার ল্যাম্বডাস হিসাবে
var
কীওয়ার্ডের জন্য সমর্থন। স্ট্রিং ক্লাসে নতুন পদ্ধতি:
-
isBlank()
-
lines()
-
repeat()
-
strip()
-
stripLeading()
-
stripTrailing()
-
কোনও সংগ্রহকে অ্যারেতে অভিযোজিত করা আরও সহজ করার জন্য
Collection.toArray(IntFunction)
এর জন্য সমর্থন।java.util
ক্লাসেOptional
, option চ্ছিক,OptionalDouble
OptionalInt
option চ্ছিক শ্রেণিতেifPresentOrElse()
,isEmpty()
,orElseThrow()
, এবংOptionalLong
stream()
এর জন্য সমর্থন।সকেটগুলির পুনরায় ব্যবহার সহ
SocketOptions
জন্য বর্ধিত সমর্থন।NullReader
,NullWriter
,InputStream
,OutputStream
এবংtransferTo()
Reader
কার্যকারিতা যা কোনওWriter
কাছে চরিত্রগুলি স্থানান্তর করে।URL এনকোডিং এবং
Charsets
ব্যবহার করে ডিকোডিংয়ের জন্য কার্যকারিতা যুক্ত করা হয়েছে।FileReader
,FileWriter
,PrintStream
এবংPrintWriter
জন্যCharset
কার্যকারিতা।নতুন
transferTo()
,readNBytes()
,readAllBytes()
, এবংwriteBytes()
ফাংশনগুলিByteArrayInput
বাOutputStream
এবংInput
বাOutputStream
জন্য ফাংশন।java.lang.invoke.VarHandle
এর জন্য রানটাইম এবং সংকলক সমর্থন।অভ্যন্তরীণভাবে
VarHandle
ব্যবহার করে java.util.concurrentjava.util.concurrent
।
Java এবং OpenJDK হল ওরাকল এবং/অথবা এর সহযোগীদের ট্রেডমার্ক বা নিবন্ধিত ট্রেডমার্ক।
,অ্যান্ড্রয়েড 13 বিকাশকারীদের জন্য দুর্দান্ত নতুন বৈশিষ্ট্য এবং এপিআইদের পরিচয় করিয়ে দেয়। নীচের বিভাগগুলি আপনাকে আপনার অ্যাপ্লিকেশনগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত এপিআই দিয়ে শুরু করতে সহায়তা করে।
নতুন, পরিবর্তিত, এবং অপসারণ এপিআইগুলির বিশদ তালিকার জন্য, এপিআই ডিফ রিপোর্টটি পড়ুন। নতুন এপিআই সম্পর্কিত বিশদগুলির জন্য অ্যান্ড্রয়েড এপিআই রেফারেন্স দেখুন - নতুন এপিআইগুলি দৃশ্যমানতার জন্য হাইলাইট করা হয়েছে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশনগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, অ্যান্ড্রয়েড 13 এবং সমস্ত অ্যাপ্লিকেশনগুলির জন্য লক্ষ্য করে এমন অ্যাপ্লিকেশনগুলির জন্য অ্যান্ড্রয়েড 13 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন।
বিকাশকারীর উত্পাদনশীলতা এবং সরঞ্জাম
থিমযুক্ত অ্যাপ আইকন
অ্যান্ড্রয়েড 13 দিয়ে শুরু করে, আপনি থিমযুক্ত অ্যাপ্লিকেশন আইকনগুলিতে বেছে নিতে পারেন। এই বৈশিষ্ট্যটির সাথে, সমর্থিত অ্যান্ড্রয়েড লঞ্চারগুলিতে অ্যাপ্লিকেশন আইকনগুলি ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং অন্যান্য থিমগুলির রঙিন উত্তরাধিকারী হওয়ার জন্য রঙিন করা হয়।
এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য, আপনার অ্যাপ্লিকেশনটিকে অবশ্যই একটি অভিযোজিত আইকন এবং একটি একরঙা অ্যাপ্লিকেশন আইকন উভয়ই সরবরাহ করতে হবে এবং ম্যানিফেস্টে <adaptive-icon>
> উপাদান থেকে একরঙা অ্যাপ্লিকেশন আইকনটি নির্দেশ করে। যদি কোনও ব্যবহারকারী থিমযুক্ত অ্যাপ্লিকেশন আইকনগুলি সক্ষম করে থাকেন (অন্য কথায়, সিস্টেম সেটিংসে থিমযুক্ত আইকনগুলি টগল চালু করেছেন), এবং লঞ্চার এই বৈশিষ্ট্যটিকে সমর্থন করে, সিস্টেমটি টিএনটি রঙ নির্ধারণের জন্য ব্যবহারকারীর নির্বাচিত ওয়ালপেপার এবং থিমের রঙ ব্যবহার করে, কোনটি এটি তখন একরঙা অ্যাপ্লিকেশন আইকনটিতে প্রযোজ্য।
হোম স্ক্রিনটি থিমযুক্ত অ্যাপ আইকনটি প্রদর্শন করে না - এবং পরিবর্তে নিম্নলিখিত দৃশ্যের মধ্যে অভিযোজিত বা স্ট্যান্ডার্ড অ্যাপ্লিকেশন আইকনটি প্রদর্শন করে:
- যদি ব্যবহারকারী থিমযুক্ত অ্যাপ্লিকেশন আইকনগুলি সক্ষম না করে
- যদি আপনার অ্যাপ্লিকেশনটি কোনও একরঙা অ্যাপ আইকন সরবরাহ না করে
- যদি লঞ্চার থিমযুক্ত অ্যাপ আইকনগুলিকে সমর্থন না করে
আরও বিশদ এবং নির্দেশাবলীর জন্য, অভিযোজিত আইকনগুলি দেখুন।
প্রতি-অ্যাপ ভাষা পছন্দ
অনেক ক্ষেত্রে, বহুভাষিক ব্যবহারকারীরা তাদের সিস্টেমের ভাষাটিকে একটি ভাষায় - যেমন ইংরেজি হিসাবে সেট করে - তবে তারা ডাচ, চাইনিজ বা হিন্দি হিসাবে নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য অন্যান্য ভাষা নির্বাচন করতে চান। অ্যাপ্লিকেশনগুলিকে এই ব্যবহারকারীদের জন্য আরও ভাল অভিজ্ঞতা সরবরাহ করতে সহায়তা করতে, অ্যান্ড্রয়েড 13 একাধিক ভাষা সমর্থন করে এমন অ্যাপ্লিকেশনগুলির জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি প্রবর্তন করে:
সিস্টেম সেটিংস : একটি কেন্দ্রীভূত অবস্থান যেখানে ব্যবহারকারীরা প্রতিটি অ্যাপের জন্য একটি পছন্দসই ভাষা নির্বাচন করতে পারেন।
আপনার অ্যাপ্লিকেশনটি অবশ্যই
android:localeConfig
বৈশিষ্ট্যটি ঘোষণা করতে হবে যাতে সিস্টেমটি এটি একাধিক ভাষাকে সমর্থন করে। আরও জানতে, একটি রিসোর্স ফাইল তৈরি এবং এটি আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ঘোষণা করার নির্দেশাবলী দেখুন।অতিরিক্ত এপিআই : এই পাবলিক এপিআই, যেমন
setApplicationLocales()
এবংgetApplicationLocales()
পদ্ধতিগুলিLocaleManager
, অ্যাপ্লিকেশনগুলিকে রানটাইমের সময় সিস্টেমের ভাষা থেকে আলাদা ভাষা সেট করে।এই এপিআইগুলি স্বয়ংক্রিয়ভাবে সিস্টেম সেটিংসের সাথে সিঙ্ক করে; অতএব, অ্যাপ্লিকেশনগুলি যে অ্যাপ্লিকেশনগুলিতে অ্যাপ্লিকেশনগুলি ব্যবহার করে অ্যাপ্লিকেশনগুলিতে ব্যবহার করে তাদের ব্যবহারকারীদের যেখানেই তারা তাদের ভাষার পছন্দগুলি নির্বাচন করে তা নির্বিশেষে তাদের ব্যবহারকারীদের একটি ধারাবাহিক ব্যবহারকারীর অভিজ্ঞতা রয়েছে তা নিশ্চিত করবে। পাবলিক এপিআইগুলি আপনাকে বয়লারপ্লেট কোডের পরিমাণ হ্রাস করতে সহায়তা করে, তারা স্প্লিট এপিকে সমর্থন করে এবং তারা অ্যাপ্লিকেশনগুলির জন্য অ্যাপস-স্তরের ব্যবহারকারী ভাষার সেটিংস সঞ্চয় করার জন্য অটো ব্যাকআপ সমর্থন করে।
পূর্ববর্তী অ্যান্ড্রয়েড সংস্করণগুলির সাথে পশ্চাদপদ সামঞ্জস্যের জন্য, অ্যান্ড্রয়েডএক্সে সমতুল্য এপিআইগুলিও উপলব্ধ। আমরা অ্যাপকম্প্যাট 1.6.0-BETA01 বা তার বেশি সংখ্যায় যুক্ত এপিআইগুলি ব্যবহার করার পরামর্শ দিই।
একাধিক ভাষা সমর্থন করে না এমন অ্যাপ্লিকেশনগুলি এই পরিবর্তনগুলি দ্বারা প্রভাবিত হয় না।
উন্নত পাঠ্য এবং ভাষা সমর্থন
অ্যান্ড্রয়েড 13 এ বেশ কয়েকটি বৈশিষ্ট্য পাঠ্য এবং ভাষার উন্নতি অন্তর্ভুক্ত রয়েছে যা আপনাকে আরও পালিশ অভিজ্ঞতা সরবরাহ করতে সহায়তা করে, যা নিম্নলিখিত বিভাগগুলি বর্ণনা করে:
দ্রুত হাইফেনেশন
হাইফেনেশন মোড়ানো পাঠ্যটি পড়া সহজ করে তোলে এবং আপনার ইউআইকে আরও অভিযোজিত করতে সহায়তা করে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, হাইফেনেশন পারফরম্যান্সটি 200% দ্বারা অনুকূলিত করা হয় যাতে আপনি এটি আপনার TextView
সক্ষম করতে পারেন রেন্ডারিং পারফরম্যান্সে প্রায় কোনও প্রভাব না দিয়ে। দ্রুত হাইফেনেশন সক্ষম করতে, setHyphenationFrequency()
এ fullFast
বা normalFast
ফ্রিকোয়েন্সিগুলি ব্যবহার করুন।
পাঠ্য রূপান্তর এপিআই
জাপানি এবং চাইনিজদের মতো ভাষায় কথা বলে এমন লোকেরা ফোনেটিক লেটারিং ইনপুট পদ্ধতি ব্যবহার করে, যা প্রায়শই অনুসন্ধান এবং অটো-সমাপ্তির মতো বৈশিষ্ট্যগুলিকে ধীর করে দেয়। অ্যান্ড্রয়েড 13 -এ, অ্যাপ্লিকেশনগুলি নতুন পাঠ্য রূপান্তর এপিআইকে কল করতে পারে যাতে ব্যবহারকারীরা দ্রুত এবং সহজ যেগুলি খুঁজছেন তা খুঁজে পেতে পারেন। পূর্বে, উদাহরণস্বরূপ, অনুসন্ধানের জন্য এই পদক্ষেপগুলি করার জন্য কোনও জাপানি ব্যবহারকারীকে প্রয়োজন:
- তাদের অনুসন্ধানের শব্দটির ফোনেটিক উচ্চারণ হিসাবে হিরাগানাকে ইনপুট করুন (যেমন কোনও স্থান বা অ্যাপের নাম)
- হিরাগানা চরিত্রগুলি কঞ্জিতে রূপান্তর করতে কীবোর্ডটি ব্যবহার করুন
- কানজি চরিত্রগুলি ব্যবহার করে পুনরায় অনুসন্ধান করুন
- অবশেষে তাদের অনুসন্ধানের ফলাফল পান
নতুন পাঠ্য রূপান্তর এপিআইয়ের সাথে, জাপানি ব্যবহারকারীরা হিরাগান টাইপ করতে পারেন এবং তাত্ক্ষণিকভাবে কঞ্জি অনুসন্ধানের ফলাফলগুলি সরাসরি দেখতে পারেন, পদক্ষেপগুলি 2 এবং 3 এড়িয়ে যান।
নন-ল্যাটিন স্ক্রিপ্টগুলির জন্য লাইন উচ্চতা উন্নত
অ্যান্ড্রয়েড 13 প্রতিটি ভাষার জন্য অভিযোজিত একটি লাইন উচ্চতা ব্যবহার করে নন-ল্যাটিন স্ক্রিপ্টগুলির (যেমন তামিল, বার্মিজ, তেলুগু এবং তিব্বতি) প্রদর্শনকে উন্নত করে। নতুন লাইন উচ্চতা ক্লিপিং প্রতিরোধ করে এবং অক্ষরের অবস্থান উন্নত করে। আপনার অ্যাপ্লিকেশনটি কেবলমাত্র অ্যান্ড্রয়েড 13 কে টার্গেট করে এই উন্নতিগুলির সুবিধা নিতে পারে new নতুন লাইন ব্যবধান ব্যবহার করার সময় আপনার অ্যাপ্লিকেশনগুলি পরীক্ষা করার বিষয়টি নিশ্চিত করুন কারণ পরিবর্তনগুলি আপনার ইউআইকে নন-ল্যাটিন ভাষায় প্রভাবিত করতে পারে।
উন্নত জাপানি পাঠ্য মোড়ানো
অ্যান্ড্রয়েড 13 থেকে শুরু করে, টেক্সটভিউগুলি আরও পালিশ এবং পঠনযোগ্য জাপানি অ্যাপ্লিকেশনগুলির জন্য চরিত্রের পরিবর্তে বুনসেটসু (প্রাকৃতিক শোনায় এমন শব্দের ক্ষুদ্রতম একক) বা বাক্যাংশ দ্বারা পাঠ্য মোড়ানো করতে পারে। আপনি android:lineBreakWordStyle="phrase"
টেক্সটভিউ সহ।
ইউনিকোড লাইব্রেরি আপডেট
অ্যান্ড্রয়েড 13 ইউনিকোড আইসিইউ 70 , ইউনিকোড সিএলডিআর 40 এবং ইউনিকোড 14.0 এর অন্তর্ভুক্ত সর্বশেষতম উন্নতি, ফিক্স এবং পরিবর্তনগুলি যুক্ত করে।
এখানে কয়েকটি উল্লেখযোগ্য পরিবর্তন রয়েছে:
- ইংলিশ (কানাডা)
en‑CA
এবং ইংলিশ (ফিলিপিন্সের প্রজাতন্ত্র)en‑PH
উভয়ই ইংরেজী (যুক্তরাজ্য)en‑GB
এর পরিবর্তে কোনও অনুবাদ সংস্থান উপলব্ধ না হলে ইংরেজি (মার্কিন যুক্তরাষ্ট্র)en
অনুবাদ সংস্থান ব্যবহার করে। - স্প্যানিশ
es
, ইতালিয়ানit
, পর্তুগিজpt
, এবং পর্তুগিজ (পর্তুগাল)pt‑PT
-র জন্যmany
বহুবচন বিভাগ চালু করা হয়েছে। সিএলডিআর ভি 38 এ প্রবর্তিত ফরাসি অনুরূপ, এটি বিপুল সংখ্যক জন্য ব্যবহৃত হয়।
রঙ ভেক্টর ফন্ট
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমটিতে COLR সংস্করণ 1 (COLRV1) ফন্টগুলির জন্য রেন্ডারিং সমর্থন এবং COLRV1 ফর্ম্যাটে আপডেট সিস্টেম ইমোজি অন্তর্ভুক্ত রয়েছে। COLRV1 একটি অত্যন্ত কমপ্যাক্ট ফন্ট ফর্ম্যাট যা কোনও আকারে দ্রুত এবং খাঁজকাটাভাবে রেন্ডার করে।
বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য, সিস্টেমটি সমস্ত কিছু পরিচালনা করে এবং COLRV1 কেবল কাজ করে। তবে, যদি আপনার অ্যাপ্লিকেশনটি তার নিজস্ব পাঠ্য রেন্ডারিং প্রয়োগ করে এবং সিস্টেমের ফন্টগুলি ব্যবহার করে তবে আমরা ইমোজি রেন্ডারিংয়ের পরীক্ষার পরামর্শ দিই।
COLRV1 সম্পর্কে আরও জানতে, নিম্নলিখিত সংস্থানগুলি দেখুন:
দ্রুত সেটিংস প্লেসমেন্ট এপিআই
বিজ্ঞপ্তি শেডে দ্রুত সেটিংস ব্যবহারকারীদের কোনও অ্যাপের প্রসঙ্গ না রেখে সেটিংস পরিবর্তন করতে বা দ্রুত পদক্ষেপ নেওয়ার জন্য একটি সুবিধাজনক উপায়। কাস্টম টাইলস সরবরাহকারী অ্যাপ্লিকেশনগুলির জন্য, আমরা ব্যবহারকারীদের দ্রুত সেটিংসে আপনার টাইলগুলি আবিষ্কার এবং যুক্ত করা সহজ করে তুলছি। একটি নতুন টাইল প্লেসমেন্ট এপিআই ব্যবহার করে, আপনার অ্যাপ্লিকেশনটি এখন ব্যবহারকারীকে সক্রিয় দ্রুত সেটিংস টাইলগুলির সেটে সরাসরি আপনার কাস্টম টাইল যুক্ত করতে অনুরোধ করতে পারে। একটি নতুন সিস্টেম ডায়ালগ ব্যবহারকারীকে টাইল যুক্ত করতে দ্রুত সেটিংসে যেতে না করে আপনার অ্যাপ্লিকেশনটি না রেখে এক ধাপে টাইল যুক্ত করতে দেয়।
ক্লিপবোর্ড পূর্বরূপ
অ্যান্ড্রয়েড 13 থেকে শুরু করে, ক্লিপবোর্ডে সামগ্রী যুক্ত করা হলে সিস্টেমটি একটি স্ট্যান্ডার্ড ভিজ্যুয়াল নিশ্চিতকরণ প্রদর্শন করে। নতুন নিশ্চিতকরণ নিম্নলিখিতটি করে:
- নিশ্চিত করে যে সামগ্রীটি সফলভাবে অনুলিপি করা হয়েছিল।
- অনুলিপিযুক্ত সামগ্রীর একটি পূর্বরূপ সরবরাহ করে।
এই বৈশিষ্ট্যটি অনুলিপি করার পরে অ্যাপ্লিকেশনগুলির দ্বারা প্রদর্শিত বিভিন্ন বিজ্ঞপ্তিগুলিকে মানক করে তোলে এবং ব্যবহারকারীদের তাদের ক্লিপবোর্ডের উপর আরও নিয়ন্ত্রণ সরবরাহ করে। অতিরিক্ত তথ্যের জন্য, অনুলিপি এবং পেস্ট বৈশিষ্ট্য পৃষ্ঠাটি দেখুন।
ভবিষ্যদ্বাণীমূলক পিছনে অঙ্গভঙ্গি
অ্যান্ড্রয়েড 13 ফোন, বড় স্ক্রিন এবং ফোল্ডেবলের মতো অ্যান্ড্রয়েড ডিভাইসগুলির জন্য একটি ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার প্রবর্তন করে। এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য আপনাকে আপনার অ্যাপ্লিকেশন আপডেট করতে হবে।
বিস্তারিত ডকুমেন্টেশন দেখতে, ভবিষ্যদ্বাণীমূলক ব্যাক অঙ্গভঙ্গি সমর্থন করতে আপনার অ্যাপ্লিকেশন আপডেট করুন। আপনি আমাদের কোডেল্যাবও চেষ্টা করে দেখতে পারেন।
ব্লুটুথ LE অডিও
লো এনার্জি (এলই) অডিও হ'ল ব্লুটুথ ক্লাসিক প্রতিস্থাপন এবং নির্দিষ্ট ব্যবহারের কেস এবং সংযোগ টোপোলজিকে সক্ষম করার জন্য নির্মিত ওয়্যারলেস অডিও। এটি ব্যবহারকারীদের তাদের অডিওগুলি বন্ধুবান্ধব এবং পরিবারের সাথে ভাগ করে নিতে এবং সম্প্রচার করতে, বা তথ্য, বিনোদন বা অ্যাক্সেসযোগ্যতার জন্য সর্বজনীন সম্প্রচারে সাবস্ক্রাইব করতে দেয়। এটি ব্যাটারির জীবন ত্যাগ না করে ব্যবহারকারীরা উচ্চ বিশ্বস্ততা অডিও পেতে পারে তা নিশ্চিত করার জন্য ডিজাইন করা হয়েছে এবং ব্লুটুথ ক্লাসিকের মাধ্যমে সম্ভব নয় এমন বিভিন্ন ব্যবহারের ক্ষেত্রে নির্বিঘ্নে স্যুইচ করতে পারে। অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে এলই অডিওর জন্য অন্তর্নির্মিত সমর্থন অন্তর্ভুক্ত রয়েছে, তাই বিকাশকারীরা সামঞ্জস্যপূর্ণ ডিভাইসে বিনামূল্যে এই ক্ষমতাগুলি পান।
MIDI 2.0
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমটিতে ইউএসবি -র মাধ্যমে এমআইডিআই 2.0 হার্ডওয়্যার সংযোগ করার ক্ষমতা সহ এমআইডিআই 2.0 স্ট্যান্ডার্ডের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। এই স্ট্যান্ডার্ডটি নিয়ন্ত্রণকারীদের জন্য বর্ধিত রেজোলিউশন, অ-পশ্চিমা প্রবণতার জন্য আরও ভাল সমর্থন এবং প্রতি নোট কন্ট্রোলার ব্যবহার করে আরও অভিব্যক্তিপূর্ণ পারফরম্যান্সের মতো বৈশিষ্ট্য সরবরাহ করে।
স্প্ল্যাশ স্ক্রিন দক্ষতা উন্নতি
অ্যান্ড্রয়েড 13 স্প্ল্যাশ স্ক্রিন এপিআইতে অ্যানিমেটেড স্প্ল্যাশ স্ক্রিনের দক্ষতা উন্নত করে:
সিস্টেমটি
AnimatedVectorDrawable
থেকে সরাসরি অ্যানিমেশন সময়কালকে অন্তর্ভুক্ত করে। অ্যান্ড্রয়েড 13 এর আগে, সরাসরিwindowSplashScreenAnimationDuration
সেট করা প্রয়োজন।আপনার অ্যাপ্লিকেশনটি সর্বদা অ্যান্ড্রয়েড 13 এবং উচ্চতর স্প্ল্যাশ স্ক্রিনে আইকনটি প্রদর্শন করে কিনা তার উপর আরও নিয়ন্ত্রণের জন্য নতুন
windowSplashScreenBehavior
অ্যাট্রিবিউটটি ব্যবহার করুন।
বিস্তারিত ডকুমেন্টেশন দেখতে, স্প্ল্যাশ স্ক্রিনগুলি দেখুন।
শিল্প অপ্টিমাইজেশন
অ্যান্ড্রয়েড 13 এ (এপিআই স্তর 33) এবং উচ্চতর, আর্ট নেটিভ কোডে এবং থেকে আরও দ্রুত স্যুইচিং করে, জেএনআই এখন আরও 2.5x পর্যন্ত কল করে। রানটাইম রেফারেন্স প্রসেসিং এটিকে বেশিরভাগ অ-ব্লকিং করার জন্য পুনরায় কাজ করা হয়েছিল, যা আরও জ্যাঙ্ককে হ্রাস করে। তদতিরিক্ত, আপনি খুব শীঘ্রই অ্যাক্সেসযোগ্য অবজেক্টগুলি পুনরায় দাবি করতে Reference.refersTo()
সর্বজনীন এপিআই ব্যবহার করতে পারেন এবং আপনি লক্ষ্য করবেন দোভাষী এখন অনুকূলিত শ্রেণি এবং পদ্ধতি অনুসন্ধানের জন্য দ্রুত ধন্যবাদ। আর্ট ইনস্টল সময়ে আরও বেশি বাইট-কোড যাচাইকরণ সম্পাদন করে, রানটাইমে যাচাইকরণের ব্যয় এড়ানো এবং অ্যাপ্লিকেশন স্টার্টআপের সময়গুলি দ্রুত রাখে।
গোপনীয়তা এবং নিরাপত্তা
প্রসঙ্গ-নিবন্ধিত রিসিভারগুলির নিরাপদ রফতানি
রানটাইম রিসিভারগুলি নিরাপদ করতে সহায়তা করতে, অ্যান্ড্রয়েড 13 আপনার অ্যাপ্লিকেশনটির জন্য নিবন্ধিত সম্প্রচার রিসিভারটি ডিভাইসের অন্যান্য অ্যাপ্লিকেশনগুলিতে রফতানি এবং দৃশ্যমান হওয়া উচিত কিনা তা নির্দিষ্ট করার জন্য দক্ষতার পরিচয় দেয়। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, ডিভাইসের যে কোনও অ্যাপ্লিকেশনটি কোনও অনিরাপদ সম্প্রচারকে গতিশীল-নিবন্ধিত রিসিভারে প্রেরণ করতে পারে যদি না যে রিসিভারটি স্বাক্ষর অনুমতি দ্বারা রক্ষিত না করা হয়।
এই রফতানি কনফিগারেশনটি অ্যাপ্লিকেশনগুলিতে উপলব্ধ যা নিম্নলিখিতগুলির মধ্যে কমপক্ষে একটি করে:
- অ্যান্ড্রয়েডএক্স কোর লাইব্রেরির সংস্করণ 1.9.0 বা উচ্চতর থেকে
ContextCompat
ক্লাসটি ব্যবহার করুন। - টার্গেট অ্যান্ড্রয়েড 13 বা উচ্চতর।
ফটো পিকার
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) এবং উচ্চতর একটি ফটো বাছাইয়ের অভিজ্ঞতা অন্তর্ভুক্ত করে। যখন আপনার অ্যাপ্লিকেশনটি ফটো পিকারটি চালু করে, ব্যবহারকারীরা আপনার অ্যাপ্লিকেশনটিকে পুরো মিডিয়া লাইব্রেরি দেখার জন্য অ্যাক্সেস দেওয়ার পরিবর্তে আপনার অ্যাপ্লিকেশন যেমন প্রোফাইল ছবিগুলির সাথে ভাগ করে নেওয়ার জন্য নির্দিষ্ট চিত্র এবং ভিডিও নির্বাচন করেন। এটি ব্যবহারকারীর ফটো এবং ভিডিওগুলি অ্যাক্সেস করার প্রস্তাবিত উপায়।
ফটো পিকার ব্যবহারকারীদের জন্য বর্ধিত গোপনীয়তা সরবরাহ করে কারণ আপনার অ্যাপ্লিকেশনটিকে কোনও রানটাইম অনুমতি ঘোষণা করার দরকার নেই। তদতিরিক্ত, ফটো পিকার অ্যাপ্লিকেশনগুলির জন্য একটি অন্তর্নির্মিত, মানক ইউআই সরবরাহ করে, যা আরও ধারাবাহিক ব্যবহারকারীর অভিজ্ঞতা তৈরি করে।
কাছাকাছি ওয়াই-ফাই ডিভাইসের জন্য নতুন রানটাইম অনুমতি
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) অ্যাপ্লিকেশনগুলির জন্য NEARBY_DEVICES
অনুমতি গোষ্ঠীতে একটি নতুন রানটাইম অনুমতি প্রবর্তন করে যা ওয়াই-ফাইয়ের উপর থেকে কাছাকাছি অ্যাক্সেস পয়েন্টগুলিতে কোনও ডিভাইসের সংযোগ পরিচালনা করে। এই অ্যাপ্লিকেশনগুলিকে অবশ্যই নতুন অনুমতিগুলি ঘোষণা করতে হবে, NEARBY_WIFI_DEVICES
, যখন তারা বেশ কয়েকটি ভিন্ন ওয়াই-ফাই এপিআই কল করে । তদতিরিক্ত, যতক্ষণ না অ্যাপ্লিকেশনগুলি ওয়াই-ফাই এপিআই থেকে শারীরিক অবস্থান অর্জন করে না, ততক্ষণ অ্যান্ড্রয়েড 13 বা তার বেশি টার্গেট করার সময় তাদের ACCESS_FINE_LOCATION
অনুমতি ঘোষণা করার দরকার নেই।
কাছাকাছি ওয়াই-ফাই ডিভাইসগুলির অনুমতি সম্পর্কে আরও জানুন।
সঠিক অ্যালার্ম ব্যবহার করার নতুন অনুমতি
যদি আপনার অ্যাপ্লিকেশনটি অ্যান্ড্রয়েড 13 বা তার বেশি লক্ষ্য করে তবে আপনি USE_EXACT_ALARM
অনুমতিটি ব্যবহার করতে পারেন, যা স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশনটিতে মঞ্জুর করা হয়। আপনার অ্যাপ্লিকেশনটির জন্য এই অনুমতিটি ব্যবহার করার জন্য, তবে এটি অবশ্যই নিম্নলিখিত মানদণ্ডগুলির মধ্যে কমপক্ষে একটি পূরণ করতে হবে:
- আপনার অ্যাপ্লিকেশনটি একটি অ্যালার্ম ক্লক অ্যাপ্লিকেশন বা একটি টাইমার অ্যাপ্লিকেশন।
- আপনার অ্যাপ্লিকেশনটি একটি ক্যালেন্ডার অ্যাপ্লিকেশন যা আসন্ন ইভেন্টগুলির জন্য বিজ্ঞপ্তিগুলি দেখায়।
যদি আপনার অ্যাপ্লিকেশনটি সঠিক অ্যালার্ম সেট করে তবে পূর্ববর্তী তালিকায় প্রদর্শিত উভয় কেস সন্তুষ্ট না করে, পরিবর্তে SCHEDULE_EXACT_ALARM
অনুমতি ঘোষণা করা চালিয়ে যান এবং ব্যবহারকারী আপনার অ্যাপ্লিকেশনটিতে অ্যাক্সেস অস্বীকার করে এমন পরিস্থিতির জন্য প্রস্তুত থাকুন।
বিকাশকারী ডাউনগ্রেডেবল অনুমতি
অ্যান্ড্রয়েড 13 থেকে শুরু করে, আপনার অ্যাপ্লিকেশনটি অব্যবহৃত রানটাইম অনুমতিগুলিতে অ্যাক্সেস প্রত্যাহার করতে পারে। এই এপিআই আপনার অ্যাপ্লিকেশনটিকে নিম্নলিখিতগুলির মতো গোপনীয়তা-বর্ধনকারী কাজগুলি সম্পাদন করতে দেয়:
- অব্যবহৃত অনুমতি সরান।
- অনুমতিগুলি সর্বোত্তম অনুশীলনগুলি মেনে চলেন, যা ব্যবহারকারীর আস্থা উন্নত করে। আপনি সক্রিয়ভাবে প্রত্যাহার করেছেন এমন অনুমতিগুলি প্রদর্শনকারী একটি ডায়ালগটি ব্যবহারকারীদের দেখানোর বিষয়টি বিবেচনা করতে পারেন।
এপিকে স্বাক্ষর স্কিম v3.1
অ্যান্ড্রয়েড 13 এপিকে স্বাক্ষর স্কিম ভি 3.1 এর জন্য সমর্থন যুক্ত করে, যা বিদ্যমান এপিকে স্বাক্ষর স্কিম ভি 3 এর উপর উন্নত করে। এই স্কিমটি ঘূর্ণন সম্পর্কিত এপিকে স্বাক্ষর স্কিম ভি 3 এর সাথে কিছু পরিচিত বিষয়গুলিকে সম্বোধন করে । বিশেষত, v3.1 স্বাক্ষর স্কিম এসডিকে সংস্করণ টার্গেটিংকে সমর্থন করে, যা রোটেশনটিকে প্ল্যাটফর্মের পরবর্তী প্রকাশকে লক্ষ্য করতে দেয়।
V3.1 স্বাক্ষর স্কিম একটি ব্লক আইডি ব্যবহার করে যা 12L বা তার চেয়ে কম সময়ে স্বীকৃত নয়। অতএব, প্ল্যাটফর্মটি নিম্নলিখিত স্বাক্ষরকারী আচরণ প্রয়োগ করে:
- অ্যান্ড্রয়েড 13 বা উচ্চতর চালিত ডিভাইসগুলি v3.1 ব্লকে ঘোরানো স্বাক্ষরকারী ব্যবহার করে।
- অ্যান্ড্রয়েডের পুরানো সংস্করণগুলি চালিত ডিভাইসগুলি ঘোরানো স্বাক্ষরকারীটিকে উপেক্ষা করে এবং পরিবর্তে v3.0 ব্লকে মূল স্বাক্ষরটি ব্যবহার করে।
যে অ্যাপ্লিকেশনগুলি এখনও তাদের স্বাক্ষর কীটি ঘোরানো হয়নি সেগুলি কোনও অতিরিক্ত ক্রিয়াকলাপের প্রয়োজন হয় না। যখনই এই অ্যাপ্লিকেশনগুলি ঘোরানো পছন্দ করে, সিস্টেমটি ডিফল্টরূপে v3.1 স্বাক্ষর স্কিম প্রয়োগ করে।
ইতিমধ্যে ঘোরানো এবং ভি 3.0 সাইনিং ব্লকে তাদের ঘোরানো সাইনিং কী ব্যবহার চালিয়ে যেতে চান এমন অ্যাপ্লিকেশনগুলি তাদের apksigner
অনুরোধ আপডেট করতে হবে:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
... যেখানে API_LEVEL
32 বা তার চেয়ে কম।
কীস্টোর এবং কীমিন্টে প্রতিবেদন করা আরও ভাল ত্রুটি
কীগুলি তৈরি করে এমন অ্যাপ্লিকেশনগুলির জন্য, কীস্টোর এবং কীমিন্ট এখন আরও বিশদ এবং সঠিক ত্রুটি সূচক সরবরাহ করে। আমরা java.security.ProviderException
এর অধীনে একটি ব্যতিক্রম শ্রেণীর শ্রেণিবিন্যাস যুক্ত করেছি, অ্যান্ড্রয়েড-নির্দিষ্ট ব্যতিক্রমগুলির সাথে কীস্টোর/কীমিন্ট ত্রুটি কোডগুলি অন্তর্ভুক্ত রয়েছে এবং ত্রুটিটি পুনরায় চেষ্টাযোগ্য কিনা। নতুন ব্যতিক্রমগুলি ছুঁড়ে ফেলার জন্য আপনি কী জেনারেশন এবং ব্যবহারের (সাইনিং, এনক্রিপশন) এর পদ্ধতিগুলিও সংশোধন করতে পারেন। উন্নত ত্রুটি প্রতিবেদনটি কী প্রজন্মের মধ্যে সীমাবদ্ধ নয় এবং এখন আপনাকে কী প্রজন্মের পুনরায় চেষ্টা করার জন্য যা প্রয়োজন তা দেওয়া উচিত।
ট্যাবলেট এবং বড় স্ক্রিন সমর্থন
অ্যান্ড্রয়েড 13 অ্যান্ড্রয়েড 12-এ প্রবর্তিত ট্যাবলেট অপ্টিমাইজেশান এবং 12L ফিচার ড্রপের উপর তৈরি করে—যার মধ্যে সিস্টেম UI এর জন্য অপ্টিমাইজেশান, আরও ভাল মাল্টিটাস্কিং এবং উন্নত সামঞ্জস্য মোড রয়েছে। আপনার পরীক্ষার অংশ হিসাবে, নিশ্চিত করুন যে আপনার অ্যাপ্লিকেশনগুলি ট্যাবলেট এবং অন্যান্য বৃহত-স্ক্রিন ডিভাইসে তাদের সেরা দেখায়।
কী নতুন এবং কী পরীক্ষা করতে হবে সে সম্পর্কে আরও তথ্যের জন্য, ট্যাবলেট এবং বৃহত্তর স্ক্রিন সমর্থন পৃষ্ঠাটি দেখুন।
গ্রাফিক্স
প্রোগ্রামেবল শেডার
অ্যান্ড্রয়েড 13 থেকে শুরু করে, সিস্টেমে অ্যান্ড্রয়েড গ্রাফিক্স শেডিং ল্যাঙ্গুয়েজ ( এজিএসএল ) ব্যবহার করে আচরণ সংজ্ঞায়িত করার সাথে প্রোগ্রামেবল RuntimeShader
অবজেক্টগুলির জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। এজিএসএল জিএলএসএল এর সাথে এর সিনট্যাক্সের বেশিরভাগ অংশ ভাগ করে, তবে অ্যান্ড্রয়েডের ক্যানভাসের মধ্যে পেইন্টিং কাস্টমাইজ করার পাশাপাশি ভিউ সামগ্রীর ফিল্টারিংয়ের জন্য অ্যান্ড্রয়েড রেন্ডারিং ইঞ্জিনের মধ্যে কাজ করে। অ্যান্ড্রয়েড অভ্যন্তরীণভাবে এই শেডারগুলি রিপল প্রভাবগুলি , অস্পষ্টতা এবং প্রসারিত ওভারক্রোল প্রয়োগ করতে ব্যবহার করে। অ্যান্ড্রয়েড 13 এবং উচ্চতর আপনাকে আপনার অ্যাপ্লিকেশনটির জন্য অনুরূপ উন্নত প্রভাব তৈরি করতে সক্ষম করে।
কোরিওগ্রাফার উন্নতি
অ্যান্ড্রয়েড 13 Choreographer
এবং ASurfaceControl
কাছে সর্বজনীন এপিআই পদ্ধতিগুলি প্রবর্তন করে যা সম্ভাব্য ফ্রেমের টাইমলাইনগুলি সম্পর্কে আরও তথ্য সরবরাহ করে এবং ফ্রেম লাইফসাইকেল সম্পর্কে SurfaceFlinger
আরও প্রসঙ্গ যুক্ত করে। আগের মতো, অ্যাপ্লিকেশনগুলি Choreographer
একটি কলব্যাক পোস্ট করতে পারে এবং ফ্রেম টাইমলাইন তথ্য পেতে পারে। অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) এ Choreographer
একাধিক সম্ভাব্য উপস্থাপনার সময় এবং তাদের সম্পর্কিত ফ্রেমের সময়সীমা প্রদান করে। অ্যাপ্লিকেশনগুলি উপস্থাপনার সময়টি চয়ন করতে পারে এবং পরবর্তীকালে পছন্দের SurfaceFlinger
অবহিত করতে পারে । SurfaceFlinger
তখন পছন্দসই উপস্থাপনার সময়টির আগে লেনদেন বা ল্যাচ বাফার প্রয়োগ করার চেষ্টা করে না।
ক্যামেরা
এইচডিআর ভিডিও ক্যাপচার
অ্যান্ড্রয়েড 13 থেকে শুরু করে, ক্যামেরা 2 এপিআইগুলি হাই ডায়নামিক রেঞ্জ (এইচডিআর) ভিডিও ক্যাপচারকে সমর্থন করে, যা আপনাকে আপনার ক্যামেরা ব্যবহার করে এইচডিআর ভিডিও সামগ্রীর পূর্বরূপ এবং রেকর্ড করতে সক্ষম করে। স্ট্যান্ডার্ড ডায়নামিক রেঞ্জ (এসডিআর) এর সাথে তুলনা করে, এইচডিআর বিস্তৃত রঙের অফার দেয় এবং লুমিন্যান্স উপাদানটির গতিশীল পরিসীমা বাড়িয়ে তোলে (বর্তমান 100 সিডি/এম 2 থেকে সিডি/এম 2 এর 1000s)। এটি ভিডিও মানের ফলাফল যা আরও সমৃদ্ধ রঙ, উজ্জ্বল হাইলাইট এবং গা er ় ছায়ার সাথে বাস্তব জীবনের সাথে আরও ঘনিষ্ঠভাবে মেলে।
এইচডিআর ভিডিও ক্যাপচার সম্পর্কে আরও জানতে, এইচডিআর ভিডিও ক্যাপচার ডকুমেন্টেশন দেখুন।
মিডিয়া
স্থানিক অডিও
স্থানিক অডিও একটি নিমজ্জনিত অডিও অভিজ্ঞতা যা মিডিয়া সামগ্রীগুলিকে আপনার ব্যবহারকারীদের জন্য আরও বাস্তবসম্মত করে তোলে। এই বৈশিষ্ট্যটির সাথে কীভাবে সংহত করা যায় সে সম্পর্কে বিশদগুলির জন্য আমাদের স্থানিক অডিও ডকুমেন্টেশন দেখুন।
প্রত্যাশিত অডিও রাউটিং
মিডিয়া অ্যাপ্লিকেশনগুলিকে কীভাবে তাদের অডিওটি রাউট করা হতে চলেছে তা সনাক্ত করতে সহায়তা করার জন্য, অ্যান্ড্রয়েড 13 AudioManager
ক্লাসে অডিও রুট এপিআইদের পরিচয় করিয়ে দেয়। getAudioDevicesForAttributes()
এপিআই আপনাকে নির্দিষ্ট অডিও খেলতে ব্যবহৃত ডিভাইসগুলির একটি তালিকা পুনরুদ্ধার করতে দেয় এবং getDirectProfilesForAttributes()
এপিআই আপনাকে আপনার অডিও স্ট্রিমটি সরাসরি খেলতে পারে কিনা তা বুঝতে সহায়তা করে। আপনার অডিও ট্র্যাকের জন্য ব্যবহার করতে সেরা AudioFormat
নির্ধারণ করতে এই এপিআইগুলি ব্যবহার করুন।
অ্যাক্সেসযোগ্যতা
অডিও বর্ণনা
অ্যান্ড্রয়েড 13 (এপিআই স্তর 33) একটি নতুন সিস্টেম-প্রশস্ত অ্যাক্সেসিবিলিটি পছন্দকে পরিচয় করিয়ে দেয় যা ব্যবহারকারীদের সমস্ত অ্যাপ্লিকেশন জুড়ে অডিও বিবরণ সক্ষম করতে দেয়। একটি অডিও বিবরণ একটি অতিরিক্ত বিবরণ ট্র্যাক যা উপস্থাপনার মাধ্যমে কথা বলার জন্য একটি বর্ণনাকারী নিয়ে গঠিত, অডিওতে প্রাকৃতিক বিরতির সময় পর্দায় কী ঘটছে তা বর্ণনা করে। অ্যাপ্লিকেশনগুলি অডিও বিবরণ ট্র্যাকগুলির জন্য ব্যবহারকারীর পছন্দকে অনুসরণ করতে পারে এটি isAudioDescriptionRequested()
দিয়ে জিজ্ঞাসা করে, নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
কোটলিন
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
জাভা
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
অ্যাপ্লিকেশনগুলি AccessbilityManager
শ্রোতাদের যুক্ত করে ব্যবহারকারীর পছন্দ পরিবর্তন পর্যবেক্ষণ করতে পারে:
কোটলিন
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
জাভা
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
মূল কার্যকারিতা
ওপেনজেডকে 11 আপডেট
অ্যান্ড্রয়েড 13 ওপেনজেডিকে 11 এলটিএস রিলিজের সাথে একত্রিত করার জন্য অ্যান্ড্রয়েডের মূল গ্রন্থাগারগুলি রিফ্রেশ করার কাজ শুরু করে লাইব্রেরি আপডেট এবং জাভা 11 অ্যাপ্লিকেশন এবং প্ল্যাটফর্ম বিকাশকারীদের জন্য ভাষা সমর্থন উভয়ই। অ্যান্ড্রয়েড 13 এ প্রবর্তিত মূল গ্রন্থাগার পরিবর্তনগুলি আর্ট মেইনলাইন মডিউলটিতে গুগল প্লে সিস্টেম আপডেটের মাধ্যমে অ্যান্ড্রয়েড 12 ডিভাইসেও উপলব্ধ থাকবে।
অ্যান্ড্রয়েড 13 এর মধ্যে মূল গ্রন্থাগারগুলিতে নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে:
- স্থানীয় ভেরিয়েবল এবং প্যারামিটার ল্যাম্বডাস হিসাবে
var
কীওয়ার্ডের জন্য সমর্থন। স্ট্রিং ক্লাসে নতুন পদ্ধতি:
-
isBlank()
-
lines()
-
repeat()
-
strip()
-
stripLeading()
-
stripTrailing()
-
কোনও সংগ্রহকে অ্যারেতে অভিযোজিত করা আরও সহজ করার জন্য
Collection.toArray(IntFunction)
এর জন্য সমর্থন।java.util
ক্লাসেOptional
, option চ্ছিক,OptionalDouble
OptionalInt
option চ্ছিক শ্রেণিতেifPresentOrElse()
,isEmpty()
,orElseThrow()
, এবংOptionalLong
stream()
এর জন্য সমর্থন।সকেটগুলির পুনরায় ব্যবহার সহ
SocketOptions
জন্য বর্ধিত সমর্থন।NullReader
,NullWriter
,InputStream
,OutputStream
এবংtransferTo()
Reader
কার্যকারিতা যা কোনওWriter
কাছে চরিত্রগুলি স্থানান্তর করে।URL এনকোডিং এবং
Charsets
ব্যবহার করে ডিকোডিংয়ের জন্য কার্যকারিতা যুক্ত করা হয়েছে।FileReader
,FileWriter
,PrintStream
এবংPrintWriter
জন্যCharset
কার্যকারিতা।নতুন
transferTo()
,readNBytes()
,readAllBytes()
, এবংwriteBytes()
ফাংশনগুলিByteArrayInput
বাOutputStream
এবংInput
বাOutputStream
জন্য ফাংশন।java.lang.invoke.VarHandle
এর জন্য রানটাইম এবং সংকলক সমর্থন।অভ্যন্তরীণভাবে
VarHandle
ব্যবহার করে java.util.concurrentjava.util.concurrent
।
Java এবং OpenJDK হল ওরাকল এবং/অথবা এর সহযোগীদের ট্রেডমার্ক বা নিবন্ধিত ট্রেডমার্ক।