বিকাশকারীদের জন্য Android 7.0

Android 7.0 Nougat ব্যবহারকারী এবং ডেভেলপারদের জন্য বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং ক্ষমতা প্রবর্তন করে। এই নথিটি ডেভেলপারদের জন্য নতুন কী তা হাইলাইট করে৷

প্ল্যাটফর্ম পরিবর্তনগুলি আপনার অ্যাপগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে Android 7.0 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷

Android 7.0 এর ভোক্তা বৈশিষ্ট্য সম্পর্কে আরও জানতে, www.android.com এ যান।

মাল্টি-উইন্ডো সমর্থন

Android 7.0-এ, আমরা প্ল্যাটফর্মে একটি নতুন এবং বহু-অনুরোধিত মাল্টিটাস্কিং বৈশিষ্ট্য প্রবর্তন করছি — মাল্টি-উইন্ডো সমর্থন।

ব্যবহারকারীরা এখন স্ক্রিনে দুটি অ্যাপ একবারে খুলতে পারবেন।

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

চিত্র 1. স্প্লিট-স্ক্রিন মোডে চলমান অ্যাপ।

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

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

আরও তথ্যের জন্য, মাল্টি-উইন্ডো সাপোর্ট ডেভেলপার ডকুমেন্টেশন দেখুন।

বিজ্ঞপ্তি বৃদ্ধি

Android 7.0-এ আমরা বিজ্ঞপ্তিগুলিকে আরও সহজ এবং দ্রুত ব্যবহার করার জন্য পুনরায় ডিজাইন করেছি৷ কিছু পরিবর্তন অন্তর্ভুক্ত:

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

চিত্র 2. একত্রিত বিজ্ঞপ্তি এবং সরাসরি উত্তর।

নতুন বৈশিষ্ট্যগুলি কীভাবে প্রয়োগ করতে হয় তা জানতে, বিজ্ঞপ্তি নির্দেশিকা দেখুন৷

প্রোফাইল-নির্দেশিত JIT/AOT সংকলন

অ্যান্ড্রয়েড 7.0-এ, আমরা ART-তে কোড প্রোফাইলিং সহ একটি জাস্ট ইন টাইম (JIT) কম্পাইলার যুক্ত করেছি, যা এটিকে অ্যান্ড্রয়েড অ্যাপ্লিকেশানগুলি চালানোর সাথে সাথে তাদের কর্মক্ষমতাকে ক্রমাগত উন্নত করতে দেয়৷ JIT কম্পাইলার ART-এর বর্তমান Ahead of Time (AOT) কম্পাইলারকে পরিপূরক করে এবং রানটাইম পারফরম্যান্স উন্নত করতে, স্টোরেজ স্পেস বাঁচাতে এবং অ্যাপ আপডেট এবং সিস্টেম আপডেটের গতি বাড়াতে সাহায্য করে।

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

অ্যাপের মূল অংশগুলির জন্য কর্মক্ষমতা উন্নত করার পাশাপাশি, প্রোফাইল-নির্দেশিত সংকলন সংশ্লিষ্ট বাইনারি সহ একটি অ্যাপের সামগ্রিক RAM ফুটপ্রিন্ট কমাতে সাহায্য করে। এই বৈশিষ্ট্যটি বিশেষত কম মেমরির ডিভাইসগুলিতে গুরুত্বপূর্ণ৷

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

অ্যাপ ইনস্টল করার দ্রুত পথ

ART এর JIT কম্পাইলারের সবচেয়ে বাস্তব সুবিধাগুলির মধ্যে একটি হল অ্যাপ ইনস্টল এবং সিস্টেম আপডেটের গতি। এমনকি Android 6.0-এ অপ্টিমাইজ এবং ইনস্টল করতে কয়েক মিনিটের প্রয়োজন ছিল এমন বড় অ্যাপগুলি এখন মাত্র কয়েক সেকেন্ডের মধ্যে ইনস্টল করতে পারে। সিস্টেম আপডেটগুলিও দ্রুততর, যেহেতু আর কোন অপ্টিমাইজ করার পদক্ষেপ নেই৷

যেতে যেতে ঘুম...

অ্যান্ড্রয়েড 6.0 ডোজ চালু করেছে, একটি সিস্টেম মোড যা অ্যাপের সিপিইউ এবং নেটওয়ার্ক কার্যক্রম স্থগিত করে ব্যাটারি বাঁচায় যখন ডিভাইসটি নিষ্ক্রিয় থাকে, যেমন যখন এটি টেবিলে বা ড্রয়ারে বসে থাকে।

এখন Android 7.0-এ, Doze আরও এক ধাপ এগিয়ে যায় এবং চলতে চলতে ব্যাটারি বাঁচায়। যে কোনো সময় স্ক্রীনটি নির্দিষ্ট সময়ের জন্য বন্ধ থাকে এবং ডিভাইসটি আনপ্লাগ করা থাকে, Doze অ্যাপগুলিতে পরিচিত CPU এবং নেটওয়ার্ক সীমাবদ্ধতার একটি উপসেট প্রয়োগ করে। এর মানে ব্যবহারকারীরা তাদের পকেটে তাদের ডিভাইস বহন করার সময়ও ব্যাটারি বাঁচাতে পারে।

ব্যাটারি লাইফ উন্নত করতে ডোজ কীভাবে প্রথম স্তরের সিস্টেম কার্যকলাপ বিধিনিষেধ প্রয়োগ করে তার দৃষ্টান্ত

চিত্র 3. ডিভাইসটি স্থির না থাকলেও ডোজ এখন ব্যাটারির আয়ু উন্নত করতে বিধিনিষেধ প্রয়োগ করে৷

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

যখন ডিভাইসটি আবার স্থির থাকে, স্ক্রীন বন্ধ থাকা অবস্থায় এবং একটি নির্দিষ্ট সময়ের জন্য ব্যাটারি চালু থাকে, তখন Doze PowerManager.WakeLock , AlarmManager অ্যালার্ম এবং GPS/Wi-Fi স্ক্যানগুলিতে সম্পূর্ণ CPU এবং নেটওয়ার্ক বিধিনিষেধ প্রয়োগ করে।

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

প্রকল্প Svelte: পটভূমি অপ্টিমাইজেশান

প্রজেক্ট Svelte হল ইকোসিস্টেমের সমস্ত অ্যান্ড্রয়েড ডিভাইসের পরিসর জুড়ে সিস্টেম এবং অ্যাপগুলির দ্বারা RAM ব্যবহার কমানোর একটি চলমান প্রচেষ্টা৷ অ্যান্ড্রয়েড 7.0-এ, প্রজেক্ট স্ভেল্ট ব্যাকগ্রাউন্ডে অ্যাপগুলি চালানোর পদ্ধতিকে অপ্টিমাইজ করার উপর দৃষ্টি নিবদ্ধ করে৷

পটভূমি প্রক্রিয়াকরণ বেশিরভাগ অ্যাপের একটি অপরিহার্য অংশ। সঠিকভাবে পরিচালনা করা হলে, এটি আপনার ব্যবহারকারীর অভিজ্ঞতাকে আশ্চর্যজনক করে তুলতে পারে — তাৎক্ষণিক, দ্রুত এবং প্রসঙ্গ-সচেতন। সঠিকভাবে পরিচালনা না করা হলে, ব্যাকগ্রাউন্ড প্রসেসিং অকারণে RAM (এবং ব্যাটারি) গ্রাস করতে পারে এবং অন্যান্য অ্যাপের জন্য সিস্টেমের কর্মক্ষমতা প্রভাবিত করতে পারে।

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

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

আমরা আপনার ব্যবহারের ক্ষেত্রে আরও বেশি কিছু পূরণ করার জন্য JobScheduler এবং GCMNetworkManager প্রসারিত করে চলেছি — উদাহরণস্বরূপ, Android 7.0-এ আপনি এখন বিষয়বস্তু প্রদানকারীদের পরিবর্তনের উপর ভিত্তি করে ব্যাকগ্রাউন্ড কাজের সময় নির্ধারণ করতে পারেন। একই সময়ে আমরা কিছু পুরানো প্যাটার্নকে অবমূল্যায়ন করতে শুরু করছি যা সিস্টেমের কার্যক্ষমতা কমাতে পারে, বিশেষ করে কম মেমরির ডিভাইসে।

অ্যান্ড্রয়েড 7.0-এ আমরা তিনটি সাধারণভাবে ব্যবহৃত অন্তর্নিহিত সম্প্রচার সরিয়ে দিচ্ছি — CONNECTIVITY_ACTION , ACTION_NEW_PICTURE , এবং ACTION_NEW_VIDEO — যেহেতু এগুলো একসাথে একাধিক অ্যাপের পটভূমি প্রক্রিয়াগুলিকে জাগিয়ে তুলতে পারে এবং মেমরি এবং ব্যাটারি স্ট্রেন করতে পারে৷ যদি আপনার অ্যাপ এগুলি পায়, তাহলে এর পরিবর্তে JobScheduler এবং সম্পর্কিত APIগুলিতে স্থানান্তর করতে Android 7.0-এর সুবিধা নিন।

বিস্তারিত জানার জন্য ব্যাকগ্রাউন্ড অপ্টিমাইজেশন ডকুমেন্টেশন দেখুন।

সারফেসভিউ

অ্যান্ড্রয়েড 7.0 SurfaceView ক্লাসে সিঙ্ক্রোনাস মুভমেন্ট নিয়ে আসে, যা কিছু ক্ষেত্রে TextureView এর চেয়ে ভাল ব্যাটারি পারফরম্যান্স প্রদান করে: ভিডিও বা 3D সামগ্রী রেন্ডার করার সময়, স্ক্রলিং এবং অ্যানিমেটেড ভিডিও অবস্থান সহ অ্যাপগুলি TextureView এর তুলনায় SurfaceView এর সাথে কম শক্তি ব্যবহার করে।

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

একটি SurfaceView অবজেক্টের বিষয়বস্তুর অবস্থান এখন অ্যাপের বিষয়বস্তুর সাথে সিঙ্ক্রোনাসভাবে আপডেট করা হয়েছে। এই পরিবর্তনের একটি ফলাফল হল যে SurfaceView প্লে করা ভিডিওর সাধারণ অনুবাদ বা স্কেলগুলি আর দৃশ্যের সাথে সাথে কালো বার তৈরি করে না।

Android 7.0 দিয়ে শুরু করে, আমরা দৃঢ়ভাবে সুপারিশ করি যে আপনি TextureView এর পরিবর্তে SurfaceView ব্যবহার করে শক্তি সঞ্চয় করুন।

ডেটা সেভার

সেটিংসে ডেটা সেভার

চিত্র 4. সেটিংসে ডেটা সেভার।

একটি মোবাইল ডিভাইসের জীবনকাল ধরে, একটি সেলুলার ডেটা প্ল্যানের খরচ সাধারণত ডিভাইসের খরচকে ছাড়িয়ে যায়। অনেক ব্যবহারকারীর জন্য, সেলুলার ডেটা একটি ব্যয়বহুল সম্পদ যা তারা সংরক্ষণ করতে চায়।

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

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

অ্যান্ড্রয়েড 7.0 ব্যবহারকারীর ডেটা সেভার পছন্দগুলি পুনরুদ্ধার করতে এবং পছন্দ পরিবর্তনগুলি নিরীক্ষণ করার জন্য অ্যাপগুলিকে একটি উপায় প্রদান করতে ConnectivityManager প্রসারিত করে৷ সমস্ত অ্যাপের ব্যবহারকারী ডেটা সেভার সক্ষম করেছেন কিনা তা পরীক্ষা করা উচিত এবং ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড ডেটা ব্যবহার সীমিত করার চেষ্টা করা উচিত।

ভলকান এপিআই

Android 7.0 Vulkan™ , একটি নতুন 3D রেন্ডারিং API, প্ল্যাটফর্মে সংহত করে৷ OpenGL™ ES এর মতো, ভলকান হল থ্রিডি গ্রাফিক্স এবং রেন্ডারিংয়ের জন্য একটি উন্মুক্ত মান যা খরোনোস গ্রুপ দ্বারা রক্ষণাবেক্ষণ করা হয়।

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

ভলকান ডেভেলপমেন্ট টুলস এবং লাইব্রেরিগুলিকে Android 7.0 SDK-এ রোল করা হয়েছে৷ তারা অন্তর্ভুক্ত:

  • হেডার
  • বৈধতা স্তর (ডিবাগ লাইব্রেরি)
  • SPIR-V শেডার কম্পাইলার
  • SPIR-V রানটাইম শেডার কম্পাইলেশন লাইব্রেরি

Vulkan শুধুমাত্র Vulkan-সক্ষম হার্ডওয়্যার, যেমন Nexus 5X, Nexus 6P, এবং Nexus Player সহ ডিভাইসে অ্যাপ্লিকেশানগুলিতে উপলব্ধ৷ Vulkan কে যত তাড়াতাড়ি সম্ভব আরও ডিভাইসে আনতে আমরা আমাদের অংশীদারদের সাথে ঘনিষ্ঠভাবে কাজ করছি।

আরও তথ্যের জন্য, API ডকুমেন্টেশন দেখুন।

দ্রুত সেটিংস টাইল API

বিজ্ঞপ্তি ছায়ায় দ্রুত সেটিংস টাইলস

চিত্র 5. বিজ্ঞপ্তি ছায়ায় দ্রুত সেটিংস টাইলস।

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

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

বিকাশকারীদের জন্য, অ্যান্ড্রয়েড 7.0 একটি নতুন API যোগ করে যা ব্যবহারকারীদের আপনার অ্যাপে কী নিয়ন্ত্রণ এবং ক্রিয়াগুলিতে সহজে অ্যাক্সেস দিতে আপনাকে আপনার নিজস্ব দ্রুত সেটিংস টাইলগুলি সংজ্ঞায়িত করতে দেয়৷

দ্রুত সেটিংস টাইলগুলি নিয়ন্ত্রণ বা ক্রিয়াগুলির জন্য সংরক্ষিত যা হয় জরুরিভাবে প্রয়োজন বা ঘন ঘন ব্যবহার করা হয় এবং একটি অ্যাপ চালু করার শর্টকাট হিসাবে ব্যবহার করা উচিত নয়৷

একবার আপনি আপনার টাইলগুলিকে সংজ্ঞায়িত করার পরে, আপনি সেগুলিকে ব্যবহারকারীদের কাছে তুলে ধরতে পারেন, যারা কেবল টেনে এনে দ্রুত সেটিংসে যোগ করতে পারেন৷

একটি অ্যাপ টাইল তৈরি সম্পর্কে তথ্যের জন্য, Tile রেফারেন্স ডকুমেন্টেশন দেখুন।

নম্বর ব্লকিং

অ্যান্ড্রয়েড 7.0 এখন প্ল্যাটফর্মে নম্বর ব্লকিং সমর্থন করে এবং পরিষেবা প্রদানকারীদের একটি ব্লক করা নম্বর তালিকা বজায় রাখার জন্য একটি ফ্রেমওয়ার্ক API প্রদান করে। ডিফল্ট এসএমএস অ্যাপ, ডিফল্ট ফোন অ্যাপ এবং ক্যারিয়ার অ্যাপগুলি ব্লক করা নম্বর তালিকা থেকে পড়তে এবং লিখতে পারে। তালিকাটি অন্যান্য অ্যাপে অ্যাক্সেসযোগ্য নয়।

নম্বর ব্লক করাকে প্ল্যাটফর্মের একটি আদর্শ বৈশিষ্ট্য তৈরি করে, অ্যান্ড্রয়েড অ্যাপ্লিকেশানগুলির জন্য বিস্তৃত ডিভাইসগুলিতে নম্বর ব্লকিং সমর্থন করার জন্য একটি ধারাবাহিক উপায় প্রদান করে৷ অন্যান্য সুবিধার মধ্যে যে অ্যাপগুলি সুবিধা নিতে পারে তা হল:

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

উপরন্তু, অ্যান্ড্রয়েডের মাধ্যমে ক্যারিয়ার অ্যাপ ইন্টিগ্রেশনের অর্থ হল যে বাহক ডিভাইসে ব্লক করা নম্বরের তালিকা পড়তে পারে এবং ব্যবহারকারীর জন্য পরিষেবা-সাইড ব্লকিং সঞ্চালন করতে পারে যাতে কোনও মাধ্যমে ব্যবহারকারীর কাছে অবাঞ্ছিত কল এবং পাঠ্য পৌঁছানো বন্ধ করা যায়, যেমন VOIP এন্ডপয়েন্ট বা ফরওয়ার্ডিং ফোন।

আরও তথ্যের জন্য, BlockedNumberContract এর জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

কল স্ক্রীনিং

অ্যান্ড্রয়েড 7.0 ডিফল্ট ফোন অ্যাপটিকে ইনকামিং কল স্ক্রিন করার অনুমতি দেয়। ফোন অ্যাপটি নতুন CallScreeningService বাস্তবায়নের মাধ্যমে এটি করে, যা ফোন অ্যাপটিকে একটি ইনকামিং কলের Call.Details উপর ভিত্তি করে বেশ কয়েকটি ক্রিয়া সম্পাদন করতে দেয়। বিশদ বিবরণ, যেমন:

  • ইনকামিং কল প্রত্যাখ্যান করুন
  • কল লগে কল করার অনুমতি দেবেন না
  • ব্যবহারকারীকে কলের জন্য একটি বিজ্ঞপ্তি দেখাবেন না

আরও তথ্যের জন্য, CallScreeningService এর জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

বহু-স্থানীয় সমর্থন, আরও ভাষা

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

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

অ্যাপস LocaleList.GetDefault() কল করে ব্যবহারকারীর দ্বারা সেট করা লোকেলের তালিকা পেতে পারে। বর্ধিত সংখ্যক লোকেলকে সমর্থন করার জন্য, Android 7.0 রিসোর্সের সমাধান করার উপায় পরিবর্তন করছে। নিশ্চিত করুন যে আপনি পরীক্ষা এবং যাচাই করেছেন যে আপনার অ্যাপগুলি নতুন রিসোর্স রেজোলিউশন লজিকের সাথে আশানুরূপ কাজ করছে।

নতুন রিসোর্স-রেজোলিউশন আচরণ এবং আপনার অনুসরণ করা সর্বোত্তম অনুশীলন সম্পর্কে জানতে, বহুভাষিক সমর্থন দেখুন।

নতুন ইমোজি

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

  • একটি ডিভাইস ঢোকানোর আগে একটি ইমোজি আছে কিনা তা পরীক্ষা করুন। সিস্টেম ফন্টে কোন ইমোজি আছে তা পরীক্ষা করতে, hasGlyph(String) পদ্ধতি ব্যবহার করুন।
  • একটি ইমোজি ভিন্নতা নির্বাচকদের সমর্থন করে কিনা তা পরীক্ষা করুন। ভিন্নতা নির্বাচকরা আপনাকে নির্দিষ্ট ইমোজিগুলিকে রঙে বা সাদা-কালো উপস্থাপন করার অনুমতি দেয়। মোবাইল ডিভাইসে, অ্যাপ্লিকেশানগুলি ইমোজিগুলিকে সাদা-কালোর পরিবর্তে রঙে উপস্থাপন করা উচিত। যাইহোক, যদি আপনার অ্যাপটি পাঠ্য সহ ইমোজিগুলি ইনলাইন প্রদর্শন করে, তবে এটি সাদা-কালো পরিবর্তন ব্যবহার করা উচিত। একটি ইমোজির ভিন্নতা আছে কিনা তা নির্ধারণ করতে, পরিবর্তন নির্বাচক ব্যবহার করুন। বৈচিত্র সহ অক্ষরের একটি সম্পূর্ণ তালিকার জন্য, বৈচিত্রের উপর ইউনিকোড ডকুমেন্টেশনের ইমোজি বৈচিত্র্য ক্রম বিভাগটি পর্যালোচনা করুন।
  • একটি ইমোজি ত্বকের টোন সমর্থন করে কিনা তা পরীক্ষা করুন। অ্যান্ড্রয়েড 7.0 ব্যবহারকারীদের তাদের পছন্দ অনুযায়ী ইমোজির রেন্ডার করা স্কিন টোন পরিবর্তন করতে দেয়। কীবোর্ড অ্যাপ্লিকেশানগুলি ইমোজিগুলির জন্য ভিজ্যুয়াল ইঙ্গিত প্রদান করবে যাতে একাধিক স্কিন টোন থাকে এবং ব্যবহারকারীদের তাদের পছন্দের স্কিন টোন নির্বাচন করার অনুমতি দেওয়া উচিত। কোন সিস্টেম ইমোজিতে স্কিন টোন মডিফায়ার আছে তা নির্ধারণ করতে, hasGlyph(String) পদ্ধতি ব্যবহার করুন। ইউনিকোড ডকুমেন্টেশন পড়ে আপনি নির্ধারণ করতে পারেন কোন ইমোজি স্কিন টোন ব্যবহার করে।

Android এ ICU4J APIs

Android 7.0 এখন android.icu প্যাকেজের অধীনে Android ফ্রেমওয়ার্কে ICU4J API-এর একটি উপসেট অফার করে। মাইগ্রেশন সহজ, এবং বেশিরভাগ ক্ষেত্রেই com.java.icu নামস্থান থেকে android.icu তে পরিবর্তন করা হয়। আপনি যদি ইতিমধ্যেই আপনার অ্যাপে একটি ICU4J বান্ডেল ব্যবহার করে থাকেন, তাহলে Android ফ্রেমওয়ার্কে প্রদত্ত android.icu API-এ স্যুইচ করলে APK আকারে যথেষ্ট সঞ্চয় হতে পারে।

Android ICU4J API সম্পর্কে আরও জানতে, ICU4J সমর্থন দেখুন।

ওয়েবভিউ

Chrome + WebView, একসাথে

Android 7.0 এবং পরবর্তী সংস্করণে Chrome সংস্করণ 51 দিয়ে শুরু করে, আপনার ডিভাইসে Chrome APK Android সিস্টেম ওয়েবভিউ প্রদান এবং রেন্ডার করতে ব্যবহৃত হয়। এই পদ্ধতিটি ডিভাইসে মেমরির ব্যবহার উন্নত করে এবং ওয়েবভিউকে আপ টু ডেট রাখার জন্য প্রয়োজনীয় ব্যান্ডউইথকেও কমিয়ে দেয় (যেহেতু স্বতন্ত্র ওয়েবভিউ APK আর আপডেট করা হবে না যতক্ষণ পর্যন্ত Chrome সক্ষম থাকবে)।

আপনি বিকাশকারী বিকল্পগুলি সক্ষম করে এবং WebView বাস্তবায়ন নির্বাচন করে আপনার WebView প্রদানকারী চয়ন করতে পারেন৷ আপনি আপনার ডিভাইসে ইনস্টল করা যেকোনো সামঞ্জস্যপূর্ণ Chrome সংস্করণ (ডেভ, বিটা বা স্থিতিশীল) ব্যবহার করতে পারেন বা ওয়েবভিউ বাস্তবায়ন হিসাবে কাজ করতে স্বতন্ত্র ওয়েবভিউ APK ব্যবহার করতে পারেন।

মাল্টিপ্রসেস

Android 7.0-এ Chrome সংস্করণ 51 দিয়ে শুরু করে, WebView একটি পৃথক স্যান্ডবক্সড প্রক্রিয়ায় ওয়েব সামগ্রী চালাবে যখন বিকাশকারী বিকল্প "মাল্টিপ্রসেস ওয়েবভিউ" সক্ষম থাকবে৷

Android এর ভবিষ্যত সংস্করণে মাল্টিপ্রসেস ওয়েবভিউ সক্ষম করার আগে আমরা N-তে সামঞ্জস্যতা এবং রানটাইম কর্মক্ষমতা সম্পর্কে প্রতিক্রিয়া খুঁজছি। এই সংস্করণে, স্টার্টআপ সময়, মোট মেমরি ব্যবহার এবং সফ্টওয়্যার রেন্ডারিং কর্মক্ষমতা প্রত্যাশিত।

আপনি মাল্টিপ্রসেস মোডে অপ্রত্যাশিত সমস্যা খুঁজে পেলে আমরা সেগুলি সম্পর্কে শুনতে চাই৷ অনুগ্রহ করে Chromium বাগ ট্র্যাকারে WebView টিমের সাথে যোগাযোগ করুন৷

জাভাস্ক্রিপ্ট পৃষ্ঠা লোড আগে রান

অ্যান্ড্রয়েড 7.0-কে লক্ষ্য করে অ্যাপ্লিকেশানগুলি দিয়ে শুরু করে, একটি নতুন পৃষ্ঠা লোড হলে Javascript প্রসঙ্গ পুনরায় সেট করা হবে৷ বর্তমানে, একটি নতুন WebView উদাহরণে লোড করা প্রথম পৃষ্ঠার জন্য প্রসঙ্গটি বহন করা হয়।

ওয়েবভিউতে জাভাস্ক্রিপ্ট ইনজেক্ট করতে চাওয়া বিকাশকারীরা পৃষ্ঠাটি লোড হতে শুরু করার পরে স্ক্রিপ্টটি কার্যকর করা উচিত।

অনিরাপদ উত্সের ভূ-অবস্থান

অ্যান্ড্রয়েড 7.0 টার্গেট করা অ্যাপ্লিকেশানগুলি দিয়ে শুরু করে, ভৌগলিক অবস্থান API শুধুমাত্র সুরক্ষিত উত্সগুলিতে অনুমোদিত হবে (HTTPS এর উপরে) এই নীতিটি ব্যবহারকারীদের ব্যক্তিগত তথ্য সুরক্ষিত করার জন্য ডিজাইন করা হয়েছে যখন তারা একটি অনিরাপদ সংযোগ ব্যবহার করছে৷

WebView বিটা দিয়ে পরীক্ষা করা হচ্ছে

WebView নিয়মিত আপডেট করা হয়, তাই আমরা সুপারিশ করি যে আপনি WebView এর বিটা চ্যানেল ব্যবহার করে ঘন ঘন আপনার অ্যাপের সাথে সামঞ্জস্যতা পরীক্ষা করুন। Android 7.0-এ WebView-এর প্রি-রিলিজ সংস্করণের পরীক্ষা শুরু করতে, Chrome Dev বা Chrome বিটা ডাউনলোড এবং ইনস্টল করুন এবং উপরে বর্ণিত ডেভেলপার বিকল্পগুলির অধীনে WebView বাস্তবায়ন হিসাবে এটি নির্বাচন করুন। অনুগ্রহ করে Chromium বাগ ট্র্যাকারের মাধ্যমে সমস্যাগুলি রিপোর্ট করুন যাতে WebView-এর একটি নতুন সংস্করণ প্রকাশের আগে আমরা সেগুলি ঠিক করতে পারি৷

OpenGL™ ES 3.2 API

Android 7.0 OpenGL ES 3.2 এর জন্য ফ্রেমওয়ার্ক ইন্টারফেস এবং প্ল্যাটফর্ম সমর্থন যোগ করে, যার মধ্যে রয়েছে:

  • EXT_texture_sRGB_decode ছাড়া Android এক্সটেনশন প্যাক (AEP) থেকে সমস্ত এক্সটেনশন।
  • HDR এবং বিলম্বিত শেডিংয়ের জন্য ফ্লোটিং-পয়েন্ট ফ্রেমবাফার।
  • বেসভার্টেক্স ড্র কলগুলিকে আরও ভাল ব্যাচিং এবং স্ট্রিমিং সক্ষম করতে।
  • WebGL ওভারহেড কমাতে শক্তিশালী বাফার অ্যাক্সেস নিয়ন্ত্রণ।

Android 7.0-এ OpenGL ES 3.2-এর ফ্রেমওয়ার্ক API GLES32 ক্লাসের সাথে প্রদান করা হয়েছে। OpenGL ES 3.2 ব্যবহার করার সময়, <uses-feature> ট্যাগ এবং android:glEsVersion অ্যাট্রিবিউট ব্যবহার করে আপনার ম্যানিফেস্ট ফাইলে প্রয়োজনীয়তা ঘোষণা করতে ভুলবেন না।

রানটাইমে একটি ডিভাইসের সমর্থিত OpenGL ES সংস্করণ কীভাবে পরীক্ষা করা যায় তা সহ OpenGL ES ব্যবহার সম্পর্কে তথ্যের জন্য, OpenGL ES API নির্দেশিকা দেখুন।

অ্যান্ড্রয়েড টিভি রেকর্ডিং

Android 7.0 নতুন রেকর্ডিং API এর মাধ্যমে Android TV ইনপুট পরিষেবাগুলি থেকে সামগ্রী রেকর্ড এবং প্লেব্যাক করার ক্ষমতা যুক্ত করে৷ বিদ্যমান টাইম-শিফটিং API-এর উপরে বিল্ডিং, টিভি ইনপুট পরিষেবাগুলি নিয়ন্ত্রণ করতে পারে কোন চ্যানেলের ডেটা রেকর্ড করা যায়, কীভাবে রেকর্ড করা সেশনগুলি সংরক্ষণ করা হয় এবং রেকর্ড করা বিষয়বস্তুর সাথে ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করে।

আরও তথ্যের জন্য, Android TV রেকর্ডিং API দেখুন।

কাজের জন্য Android

Android 7.0 চালিত ডিভাইসগুলির জন্য Android for Work অনেক নতুন বৈশিষ্ট্য এবং API যোগ করে৷ কিছু হাইলাইট নীচে দেওয়া হল — বৈশিষ্ট্যগুলির সম্পূর্ণ তালিকার জন্য, Android Enterprise বৈশিষ্ট্য তালিকা দেখুন।

কাজের প্রোফাইল নিরাপত্তা চ্যালেঞ্জ

N SDK কে লক্ষ্য করে প্রোফাইল মালিকরা কাজের প্রোফাইলে চলমান অ্যাপগুলির জন্য একটি পৃথক নিরাপত্তা চ্যালেঞ্জ নির্দিষ্ট করতে পারেন। কাজের চ্যালেঞ্জ দেখানো হয় যখন একজন ব্যবহারকারী কোনো কাজের অ্যাপ খোলার চেষ্টা করেন। নিরাপত্তা চ্যালেঞ্জের সফল সমাপ্তি কাজের প্রোফাইল আনলক করে এবং প্রয়োজনে এটি ডিক্রিপ্ট করে। প্রোফাইল মালিকদের জন্য, ACTION_SET_NEW_PASSWORD ব্যবহারকারীকে একটি কাজের চ্যালেঞ্জ সেট করতে অনুরোধ করে এবং ACTION_SET_NEW_PARENT_PROFILE_PASSWORD ব্যবহারকারীকে একটি ডিভাইস লক সেট করতে অনুরোধ করে৷

প্রোফাইল মালিকরা setPasswordQuality() , setPasswordMinimumLength() এবং সম্পর্কিত পদ্ধতি ব্যবহার করে কাজের চ্যালেঞ্জের জন্য স্বতন্ত্র পাসকোড নীতি সেট করতে পারেন (যেমন কতক্ষণ পিন থাকা প্রয়োজন, বা প্রোফাইল আনলক করতে একটি আঙুলের ছাপ ব্যবহার করা যেতে পারে কিনা)। প্রোফাইলের মালিক নতুন getParentProfileInstance() পদ্ধতি দ্বারা ফেরত DevicePolicyManager দৃষ্টান্ত ব্যবহার করে ডিভাইস লক সেট করতে পারেন। অতিরিক্তভাবে, প্রোফাইল মালিকরা নতুন setOrganizationColor() এবং setOrganizationName() পদ্ধতি ব্যবহার করে কাজের চ্যালেঞ্জের জন্য শংসাপত্রের পর্দা কাস্টমাইজ করতে পারেন।

কাজ বন্ধ করুন

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

সর্বদা ভিপিএন-এ

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

নতুন DevicePolicyManager পদ্ধতিগুলি setAlwaysOnVpnPackage() এবং getAlwaysOnVpnPackage()

যেহেতু VPN পরিষেবাগুলি অ্যাপ ইন্টারঅ্যাকশন ছাড়াই সিস্টেমের দ্বারা সরাসরি আবদ্ধ হতে পারে, VPN ক্লায়েন্টদের সবসময় VPN-এর জন্য নতুন এন্ট্রি পয়েন্টগুলি পরিচালনা করতে হবে। আগের মতো, পরিষেবাগুলি সিস্টেমে নির্দেশিত হয় একটি উদ্দেশ্য ফিল্টার ম্যাচিং অ্যাকশন android.net.VpnService দ্বারা।

ব্যবহারকারীরা ম্যানুয়ালি VPN ক্লায়েন্টগুলিতে সর্বদা সেট করতে পারেন যেগুলি সেটিংস>আরো>ভিপিএন ব্যবহার করে VPNService পদ্ধতিগুলি প্রয়োগ করে। VPN ক্লায়েন্ট API লেভেল 24 টার্গেট করলেই সেটিংস থেকে VPN চালু করার বিকল্পটি পাওয়া যায়।

কাস্টমাইজড বিধান

একটি অ্যাপ্লিকেশন কর্পোরেট রঙ এবং লোগো সহ প্রোফাইল মালিক এবং ডিভাইস মালিকের প্রভিশনিং ফ্লো কাস্টমাইজ করতে পারে৷ DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR প্রবাহের রঙ কাস্টমাইজ করে৷ DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI একটি কর্পোরেট লোগো দিয়ে প্রবাহকে কাস্টমাইজ করে৷

অ্যাক্সেসিবিলিটি বর্ধিতকরণ

Android 7.0 এখন নতুন ডিভাইস সেটআপের জন্য স্বাগতম স্ক্রিনে সরাসরি দৃষ্টি সেটিংস অফার করে। এটি ব্যবহারকারীদের জন্য তাদের ডিভাইসে বিবর্ধন অঙ্গভঙ্গি, ফন্টের আকার, প্রদর্শনের আকার এবং টকব্যাক সহ অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলি আবিষ্কার এবং কনফিগার করা আরও সহজ করে তোলে৷

এই অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলি আরও বিশিষ্ট প্লেসমেন্ট পেয়ে, আপনার ব্যবহারকারীরা তাদের সক্ষম করে আপনার অ্যাপ চেষ্টা করার সম্ভাবনা বেশি। নিশ্চিত করুন যে আপনি এই সেটিংস সক্ষম করে আপনার অ্যাপ্লিকেশানগুলি তাড়াতাড়ি পরীক্ষা করুন৷ আপনি সেটিংস > অ্যাক্সেসিবিলিটি থেকে সেগুলি সক্ষম করতে পারেন৷

এছাড়াও অ্যান্ড্রয়েড 7.0-এ, অ্যাক্সেসিবিলিটি পরিষেবাগুলি এখন মোটর প্রতিবন্ধী ব্যবহারকারীদের স্ক্রীন স্পর্শ করতে সহায়তা করতে পারে। নতুন এপিআই সেই ব্যবহারকারীদের চাহিদা মেটাতে ফেস-ট্র্যাকিং, আই-ট্র্যাকিং, পয়েন্ট স্ক্যানিং ইত্যাদি বৈশিষ্ট্য সহ বিল্ডিং পরিষেবাগুলিকে অনুমতি দেয়।

আরও তথ্যের জন্য, GestureDescription এর জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

ডাইরেক্ট বুট

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

সিস্টেম এবং অ্যাপ ডেটা উভয়ের জন্য সূক্ষ্ম দানাদার এনক্রিপশন নীতিগুলি সক্ষম করতে সরাসরি বুট Android 7.0-এ ফাইল ভিত্তিক এনক্রিপশনের সুবিধা নেয়। সিস্টেমটি নির্বাচিত সিস্টেম ডেটা এবং স্পষ্টভাবে নিবন্ধিত অ্যাপ ডেটার জন্য একটি ডিভাইস-এনক্রিপ্ট করা স্টোর ব্যবহার করে৷ ডিফল্টরূপে একটি শংসাপত্র-এনক্রিপ্ট করা স্টোর অন্যান্য সমস্ত সিস্টেম ডেটা, ব্যবহারকারীর ডেটা, অ্যাপস এবং অ্যাপ ডেটার জন্য ব্যবহৃত হয়।

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

আরও তথ্যের জন্য, সরাসরি বুট দেখুন।

মূল প্রত্যয়ন

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

কী প্রত্যয়ন আপনাকে যাচাই করতে দেয় যে ডিভাইসের বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট (TEE) এর মধ্যে একটি ডিভাইসের হার্ডওয়্যার-ব্যাকড কীস্টোরে একটি RSA বা EC কী জোড়া তৈরি এবং সংরক্ষণ করা হয়েছে। টুলটি আপনাকে একটি অফ-ডিভাইস পরিষেবা ব্যবহার করার অনুমতি দেয়, যেমন আপনার অ্যাপের ব্যাক-এন্ড সার্ভার, কী জোড়ার ব্যবহার এবং বৈধতা নির্ধারণ এবং দৃঢ়ভাবে যাচাই করতে। এই বৈশিষ্ট্যগুলি একটি অতিরিক্ত স্তরের নিরাপত্তা প্রদান করে যা মূল জোড়াকে রক্ষা করে, এমনকি যদি কেউ ডিভাইসটিকে রুট করে বা ডিভাইসে চলমান Android প্ল্যাটফর্মের নিরাপত্তার সাথে আপস করে।

দ্রষ্টব্য: Android 7.0 চালিত শুধুমাত্র অল্প সংখ্যক ডিভাইস হার্ডওয়্যার-স্তরের কী প্রত্যয়ন সমর্থন করে; Android 7.0 চালিত অন্যান্য সমস্ত ডিভাইস পরিবর্তে সফ্টওয়্যার-স্তরের কী প্রত্যয়ন ব্যবহার করে। আপনি একটি প্রোডাকশন-স্তরের পরিবেশে একটি ডিভাইসের হার্ডওয়্যার-ব্যাকড কীগুলির বৈশিষ্ট্যগুলি যাচাই করার আগে, আপনাকে নিশ্চিত করা উচিত যে ডিভাইসটি হার্ডওয়্যার-স্তরের কী প্রত্যয়ন সমর্থন করে৷ এটি করার জন্য, আপনার যাচাই করা উচিত যে প্রত্যয়ন শংসাপত্রের চেইনে একটি রুট শংসাপত্র রয়েছে যা Google প্রত্যয়ন রুট কী দ্বারা স্বাক্ষরিত এবং মূল বিবরণ ডেটা কাঠামোর মধ্যে attestationSecurityLevel লেভেল উপাদান বিশ্বস্ত পরিবেশ সুরক্ষা স্তরে সেট করা আছে৷

আরও তথ্যের জন্য, কী প্রত্যয়ন বিকাশকারী ডকুমেন্টেশন দেখুন।

নেটওয়ার্ক নিরাপত্তা কনফিগারেশন

অ্যান্ড্রয়েড 7.0-এ, অ্যাপগুলি প্রচলিত ত্রুটি-প্রবণ প্রোগ্রাম্যাটিক API (যেমন X509TrustManager) ব্যবহার করার পরিবর্তে ঘোষণামূলক নেটওয়ার্ক সিকিউরিটি কনফিগ ব্যবহার করে কোনো কোড পরিবর্তন ছাড়াই নিরাপদে তাদের নিরাপদ (HTTPS, TLS) সংযোগের আচরণ কাস্টমাইজ করতে পারে।

সমর্থিত বৈশিষ্ট্য:

  • কাস্টম বিশ্বাস নোঙ্গর. একটি অ্যাপ্লিকেশানকে কাস্টমাইজ করতে দেয় কোন সার্টিফিকেট অথরিটি (CA) এর সুরক্ষিত সংযোগের জন্য বিশ্বস্ত৷ উদাহরণস্বরূপ, নির্দিষ্ট স্ব-স্বাক্ষরিত শংসাপত্র বা পাবলিক CA-এর একটি সীমাবদ্ধ সেটে বিশ্বাস করা।
  • শুধুমাত্র ডিবাগ ওভাররাইড করে। একটি অ্যাপ্লিকেশন বিকাশকারীকে ইনস্টল করা বেসে অতিরিক্ত ঝুঁকি ছাড়াই তাদের অ্যাপ্লিকেশনের সুরক্ষিত সংযোগগুলিকে নিরাপদে ডিবাগ করতে দেয়৷
  • ক্লিয়ারটেক্সট ট্রাফিক অপ্ট-আউট। একটি অ্যাপ্লিকেশনকে ক্লিয়ারটেক্সট ট্র্যাফিকের দুর্ঘটনাজনিত ব্যবহার থেকে নিজেকে রক্ষা করতে দেয়।
  • শংসাপত্র পিনিং। একটি উন্নত বৈশিষ্ট্য যা একটি অ্যাপ্লিকেশনকে সীমিত করতে দেয় যে কোন সার্ভার কীগুলি সুরক্ষিত সংযোগের জন্য বিশ্বস্ত।

আরও তথ্যের জন্য, নেটওয়ার্ক নিরাপত্তা কনফিগারেশন দেখুন।

ডিফল্ট বিশ্বস্ত শংসাপত্র কর্তৃপক্ষ

ডিফল্টরূপে, অ্যাপ্লিকেশানগুলি যেগুলি Android 7.0 কে লক্ষ্য করে কেবলমাত্র সিস্টেম-প্রদত্ত শংসাপত্রগুলিকে বিশ্বাস করে এবং ব্যবহারকারী-সংযোজিত শংসাপত্র কর্তৃপক্ষ (CA)-কে আর বিশ্বাস করে না৷ Android 7.0 (API লেভেল 24) লক্ষ্য করে এমন অ্যাপ যারা ব্যবহারকারী-সংযুক্ত CA-কে বিশ্বাস করতে চায় তাদের নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ব্যবহার করা উচিত যাতে ব্যবহারকারী CA-কে কীভাবে বিশ্বস্ত করা উচিত তা উল্লেখ করা উচিত।

APK স্বাক্ষর স্কিম v2

Android 7.0 APK স্বাক্ষর স্কিম v2 প্রবর্তন করেছে, একটি নতুন অ্যাপ-সাইনিং স্কিম যা দ্রুত অ্যাপ ইনস্টল করার সময় এবং APK ফাইলগুলিতে অননুমোদিত পরিবর্তনের বিরুদ্ধে আরও সুরক্ষা প্রদান করে। ডিফল্টরূপে, Android স্টুডিও 2.2 এবং Gradle 2.2 এর জন্য Android প্লাগইন APK স্বাক্ষর স্কিম v2 এবং ঐতিহ্যগত স্বাক্ষর স্কিম, যা JAR স্বাক্ষর ব্যবহার করে উভয় ব্যবহার করে আপনার অ্যাপে স্বাক্ষর করে।

যদিও আমরা আপনার অ্যাপে APK স্বাক্ষর স্কিম v2 প্রয়োগ করার পরামর্শ দিই, এই নতুন স্কিমটি বাধ্যতামূলক নয়। APK স্বাক্ষর স্কিম v2 ব্যবহার করার সময় আপনার অ্যাপটি সঠিকভাবে তৈরি না হলে, আপনি নতুন স্কিমটি অক্ষম করতে পারেন। নিষ্ক্রিয় করার প্রক্রিয়াটি শুধুমাত্র প্রথাগত সাইনিং স্কিম ব্যবহার করে আপনার অ্যাপে সাইন করার জন্য Android Studio 2.2 এবং Gradle 2.2 এর জন্য Android প্লাগইনকে কারণ করে। শুধুমাত্র ঐতিহ্যগত স্কিম দিয়ে সাইন ইন করতে, মডিউল-লেভেলের build.gradle ফাইলটি খুলুন, তারপর আপনার রিলিজ সাইনিং কনফিগারেশনে v2SigningEnabled false লাইন যোগ করুন:

  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

সতর্কতা: আপনি যদি APK স্বাক্ষর স্কিম v2 ব্যবহার করে আপনার অ্যাপে স্বাক্ষর করেন এবং অ্যাপটিতে আরও পরিবর্তন করেন, তাহলে অ্যাপটির স্বাক্ষর বাতিল হয়ে যাবে। এই কারণে, APK স্বাক্ষর স্কিম v2 ব্যবহার করে আপনার অ্যাপে স্বাক্ষর করার আগে zipalign এর মতো টুল ব্যবহার করুন, পরে নয়।

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

স্কোপেড ডিরেক্টরি অ্যাক্সেস

অ্যান্ড্রয়েড 7.0-এ, অ্যাপগুলি SD কার্ডের মতো অপসারণযোগ্য মিডিয়ার ডিরেক্টরি সহ নির্দিষ্ট বাহ্যিক স্টোরেজ ডিরেক্টরিগুলিতে অ্যাক্সেসের অনুরোধ করতে নতুন API ব্যবহার করতে পারে। নতুন এপিআইগুলি কীভাবে আপনার অ্যাপ্লিকেশন স্ট্যান্ডার্ড এক্সটার্নাল স্টোরেজ ডিরেক্টরি যেমন Pictures ডিরেক্টরিতে অ্যাক্সেস করে তা সহজ করে তোলে। ফটো অ্যাপের মতো অ্যাপগুলি READ_EXTERNAL_STORAGE ব্যবহার করার পরিবর্তে এই APIগুলি ব্যবহার করতে পারে, যা সমস্ত স্টোরেজ ডিরেক্টরিতে অ্যাক্সেস দেয়, বা স্টোরেজ অ্যাক্সেস ফ্রেমওয়ার্ক, যা ব্যবহারকারীকে ডিরেক্টরিতে নেভিগেট করে।

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

আরও তথ্যের জন্য, স্কোপেড ডিরেক্টরি অ্যাক্সেস ডেভেলপার ডকুমেন্টেশন দেখুন।

কীবোর্ড শর্টকাট সাহায্যকারী

অ্যান্ড্রয়েড 7.0-এ, ব্যবহারকারী একটি কীবোর্ড শর্টকাট স্ক্রীন ট্রিগার করতে Meta + / টিপতে পারেন যা সিস্টেম এবং অ্যাপ থেকে ফোকাসে উপলব্ধ সমস্ত শর্টকাট প্রদর্শন করে। শর্টকাটগুলি বিদ্যমান থাকলে সিস্টেমটি অ্যাপের মেনু থেকে স্বয়ংক্রিয়ভাবে এই শর্টকাটগুলি পুনরুদ্ধার করে৷ আপনি স্ক্রিনের জন্য আপনার নিজস্ব সূক্ষ্ম-টিউন করা শর্টকাট তালিকাও প্রদান করতে পারেন। আপনি onProvideKeyboardShortcuts() পদ্ধতিটি ওভাররাইড করে এটি করতে পারেন।

দ্রষ্টব্য: সমস্ত কীবোর্ডে মেটা কী উপস্থিত নেই: একটি Macintosh কীবোর্ডে, এটি কমান্ড কী, Windows কীবোর্ডে, এটি Windows কী, এবং Pixel C এবং ChromeOS কীবোর্ডে, এটি অনুসন্ধান কী৷

আপনার অ্যাপের যে কোনও জায়গা থেকে কীবোর্ড শর্টকাটস সহায়ককে ট্রিগার করতে, প্রাসঙ্গিক ক্রিয়াকলাপ থেকে requestShowKeyboardShortcuts() কল করুন।

কাস্টম পয়েন্টার এপিআই

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

একটি পয়েন্টার আইকন সেট করতে, View ক্লাসের onResolvePointerIcon() পদ্ধতিটি ওভাররাইড করুন। এই পদ্ধতিটি আইকনটি আঁকতে একটি PointerIcon অবজেক্ট ব্যবহার করে যা একটি নির্দিষ্ট গতি ইভেন্টের সাথে মিলে যায়।

টেকসই পারফরম্যান্স এপিআই

পারফরম্যান্স দীর্ঘ-চলমান অ্যাপ্লিকেশনগুলির জন্য নাটকীয়ভাবে ওঠানামা করতে পারে, কারণ সিস্টেমটি সিস্টেম-অন-চিপ ইঞ্জিনগুলিকে থ্রোটল করে ডিভাইস উপাদানগুলি তাদের তাপমাত্রার সীমাতে পৌঁছায়। এই ওঠানামা অ্যাপ্লিকেশন বিকাশকারীদের উচ্চ-পারফরম্যান্স, দীর্ঘকাল ধরে চলমান অ্যাপ্লিকেশন তৈরি করার জন্য একটি চলমান লক্ষ্য উপস্থাপন করে।

এই সীমাবদ্ধতাগুলি সমাধান করার জন্য, অ্যান্ড্রয়েড 7.0 এ টেকসই পারফরম্যান্স মোডের জন্য সমর্থন অন্তর্ভুক্ত করে, দীর্ঘ-চলমান অ্যাপ্লিকেশনগুলির জন্য ডিভাইস-পারফরম্যান্স ক্ষমতা সম্পর্কে ইঙ্গিত সরবরাহ করতে OEMs সক্ষম করে। অ্যাপ্লিকেশন বিকাশকারীরা দীর্ঘ সময় ধরে ডিভাইস পারফরম্যান্সের একটি অনুমানযোগ্য, ধারাবাহিক স্তরের জন্য অ্যাপ্লিকেশনগুলি টিউন করতে এই ইঙ্গিতগুলি ব্যবহার করতে পারেন।

অ্যাপ বিকাশকারীরা কেবলমাত্র নেক্সাস 6 পি ডিভাইসে অ্যান্ড্রয়েড 7.0 এ এই নতুন এপিআই চেষ্টা করতে পারেন। এই বৈশিষ্ট্যটি ব্যবহার করতে, আপনি যে উইন্ডোটি টেকসই পারফরম্যান্স মোডে চালাতে চান তার জন্য টেকসই পারফরম্যান্স উইন্ডো পতাকা সেট করুন। Window.setSustainedPerformanceMode() উইন্ডোটি আর ফোকাসে না থাকলে সিস্টেমটি স্বয়ংক্রিয়ভাবে এই মোডটি অক্ষম করে।

ভিআর সমর্থন

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

অ্যান্ড্রয়েড .0.০ -তে, মুদ্রণ পরিষেবা বিকাশকারীরা এখন পৃথক প্রিন্টার এবং মুদ্রণ চাকরি সম্পর্কে অতিরিক্ত তথ্য পৃষ্ঠত্যাগ করতে পারেন।

স্বতন্ত্র প্রিন্টারগুলি তালিকাভুক্ত করার সময়, একটি মুদ্রণ পরিষেবা এখন দুটি উপায়ে প্রতি-প্রিন্টার আইকন সেট করতে পারে:

  • আপনি setIconResourceId() কল করে কোনও রিসোর্স আইডি থেকে আইকন সেট করতে পারেন।
  • আপনি setHasCustomPrinterIcon() কল করে নেটওয়ার্ক থেকে একটি আইকন প্রদর্শন করতে পারেন এবং যখন আইকনটি onRequestCustomPrinterIcon() ব্যবহার করে অনুরোধ করা হয় তার জন্য একটি কলব্যাক সেট করতে পারেন।

তদতিরিক্ত, আপনি setInfoIntent() কল করে অতিরিক্ত তথ্য প্রদর্শন করতে প্রতি প্রিন্টারের ক্রিয়াকলাপ সরবরাহ করতে পারেন।

আপনি যথাক্রমে setProgress() এবং setStatus() কল করে মুদ্রণ কাজের বিজ্ঞপ্তিতে মুদ্রণ কাজের অগ্রগতি এবং স্থিতি নির্দেশ করতে পারেন।

ফ্রেম মেট্রিক এপিআই

ফ্রেম মেট্রিক্স এপিআই একটি অ্যাপ্লিকেশনকে তার ইউআই রেন্ডারিং পারফরম্যান্স পর্যবেক্ষণ করতে দেয়। এপিআই অ্যাপ্লিকেশনটির বর্তমান উইন্ডোটির জন্য ফ্রেম টাইমিং তথ্য স্থানান্তর করতে একটি স্ট্রিমিং পাব/সাব এপিআই প্রকাশ করে এই ক্ষমতা সরবরাহ করে। ফিরে আসা ডেটাগুলি adb shell dumpsys gfxinfo framestats প্রদর্শন করে তার সমতুল্য, তবে এটি গত 120 ফ্রেমের মধ্যে সীমাবদ্ধ নয়।

আপনি ইউএসবি সংযোগ ছাড়াই উত্পাদনে ইন্টারঅ্যাকশন-স্তরের ইউআই পারফরম্যান্স পরিমাপ করতে ফ্রেম মেট্রিক্স এপিআই ব্যবহার করতে পারেন। এই এপিআই adb shell dumpsys gfxinfo চেয়ে অনেক বেশি গ্রানুলারিটিতে ডেটা সংগ্রহের অনুমতি দেয়। এই উচ্চতর গ্রানুলারিটি সম্ভব কারণ সিস্টেম অ্যাপ্লিকেশনটিতে নির্দিষ্ট মিথস্ক্রিয়াগুলির জন্য ডেটা সংগ্রহ করতে পারে; সিস্টেমটি পুরো অ্যাপের পারফরম্যান্সের একটি বিশ্বব্যাপী সংক্ষিপ্তসার ক্যাপচার বা কোনও বিশ্বব্যাপী রাষ্ট্র সাফ করার দরকার নেই। আপনি কোনও অ্যাপের মধ্যে প্রকৃত ব্যবহারের ক্ষেত্রে ইউআই পারফরম্যান্সে পারফরম্যান্স ডেটা সংগ্রহ করতে এবং রিগ্রেশনগুলি ধরতে এই ক্ষমতাটি ব্যবহার করতে পারেন।

একটি উইন্ডো নিরীক্ষণ করতে, OnFrameMetricsAvailableListener.onFrameMetricsAvailable() কলব্যাক পদ্ধতিটি প্রয়োগ করুন এবং সেই উইন্ডোতে এটি নিবন্ধ করুন।

এপিআই একটি FrameMetrics অবজেক্ট সরবরাহ করে, যার মধ্যে টাইমিং ডেটা রয়েছে যা ফ্রেমের জীবনচক্রের বিভিন্ন মাইলফলকের জন্য রেন্ডারিং সাবসিস্টেম রিপোর্ট করে। সমর্থিত মেট্রিকগুলি হ'ল: UNKNOWN_DELAY_DURATION , INPUT_HANDLING_DURATION , ANIMATION_DURATION , LAYOUT_MEASURE_DURATION , DRAW_DURATION , SYNC_DURATION , COMMAND_ISSUE_DURATION , SWAP_BUFFERS_DURATION , TOTAL_DURATION এবং FIRST_DRAW_FRAME

ভার্চুয়াল ফাইল

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

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

ভার্চুয়াল ফাইলগুলি খোলার বিষয়ে আরও তথ্যের জন্য, স্টোরেজ অ্যাক্সেস ফ্রেমওয়ার্ক গাইডে ওপেন ভার্চুয়াল ফাইলগুলি দেখুন।