API স্তর: 13
Android 3.2 ( HONEYCOMB_MR2
) হল একটি ক্রমবর্ধমান প্ল্যাটফর্ম রিলিজ যা ব্যবহারকারী এবং বিকাশকারীদের জন্য নতুন ক্ষমতা যোগ করে৷ নীচের বিভাগগুলি নতুন বৈশিষ্ট্য এবং বিকাশকারী APIগুলির একটি ওভারভিউ প্রদান করে৷
বিকাশকারীদের জন্য, Android 3.2 প্ল্যাটফর্মটি Android SDK-এর জন্য ডাউনলোডযোগ্য উপাদান হিসাবে উপলব্ধ। ডাউনলোডযোগ্য প্ল্যাটফর্মটিতে একটি অ্যান্ড্রয়েড লাইব্রেরি এবং সিস্টেম ইমেজ, সেইসাথে এমুলেটর স্কিন এবং আরও অনেক কিছু রয়েছে। Android 3.2 এর বিরুদ্ধে বিকাশ বা পরীক্ষা শুরু করতে, আপনার SDK-এ প্ল্যাটফর্মটি ডাউনলোড করতে Android SDK ম্যানেজার ব্যবহার করুন৷
প্ল্যাটফর্ম হাইলাইট
নতুন ব্যবহারকারী বৈশিষ্ট্য
- ট্যাবলেটের বিস্তৃত পরিসরের জন্য অপ্টিমাইজেশন
অ্যান্ড্রয়েড 3.2 ট্যাবলেট ডিভাইসের বিস্তৃত পরিসরে একটি দুর্দান্ত ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করতে সিস্টেম জুড়ে বিভিন্ন ধরনের অপ্টিমাইজেশন অন্তর্ভুক্ত করে।
- স্থির আকারের অ্যাপের জন্য সামঞ্জস্যপূর্ণ জুম
অ্যান্ড্রয়েড 3.2 একটি নতুন সামঞ্জস্যপূর্ণ জুম মোড প্রবর্তন করেছে যা ব্যবহারকারীদের বড় ডিভাইসে স্থির-আকারের অ্যাপগুলি দেখার একটি নতুন উপায় দেয়৷ নতুন মোডটি এমন অ্যাপগুলির জন্য স্ট্যান্ডার্ড UI প্রসারিত করার জন্য একটি পিক্সেল-স্কেল বিকল্প সরবরাহ করে যা ট্যাবলেটের মতো বড় স্ক্রীনের আকারে চালানোর জন্য ডিজাইন করা হয়নি। নতুন মোড ব্যবহারকারীদের জন্য সিস্টেম বারে একটি মেনু আইকন থেকে অ্যাক্সেসযোগ্য, যে অ্যাপগুলির জন্য সামঞ্জস্যপূর্ণ সমর্থন প্রয়োজন৷
- SD কার্ড থেকে মিডিয়া সিঙ্ক
একটি SD কার্ড সমর্থন করে এমন ডিভাইসগুলিতে, ব্যবহারকারীরা এখন SD কার্ড থেকে সরাসরি মিডিয়া ফাইলগুলিকে ব্যবহার করে এমন অ্যাপগুলিতে লোড করতে পারে৷ একটি সিস্টেম সুবিধা সিস্টেম মিডিয়া স্টোর থেকে ফাইলগুলিকে অ্যাপগুলিতে অ্যাক্সেসযোগ্য করে তোলে।
নতুন বিকাশকারী বৈশিষ্ট্য
- স্ক্রিন সমর্থন পরিচালনার জন্য বর্ধিত API
অ্যান্ড্রয়েড 3.2 প্ল্যাটফর্মের স্ক্রিন সমর্থন API-এ এক্সটেনশনগুলি প্রবর্তন করে যাতে ডেভেলপারদের Android-চালিত ডিভাইসগুলির পরিসর জুড়ে অ্যাপ্লিকেশন UI পরিচালনা করার অতিরিক্ত উপায় দেয়৷ এপিআই-তে নতুন রিসোর্স কোয়ালিফায়ার এবং নতুন ম্যানিফেস্ট অ্যাট্রিবিউট রয়েছে যা সাধারণ আকারের বিভাগের উপর নির্ভর না করে আপনার অ্যাপগুলিকে কীভাবে বিভিন্ন আকারে প্রদর্শিত হবে তার উপর আরও সুনির্দিষ্ট নিয়ন্ত্রণ দেয়।
বিভিন্ন স্ক্রীন মাপের জন্য সীমিত সমর্থন সহ স্থির আকারের অ্যাপ এবং অ্যাপগুলির জন্য সর্বোত্তম সম্ভাব্য প্রদর্শন নিশ্চিত করতে, প্ল্যাটফর্মটি একটি নতুন জুম সামঞ্জস্যপূর্ণ মোডও সরবরাহ করে যা একটি ছোট স্ক্রীন এলাকায় UI রেন্ডার করে, তারপরে উপলব্ধ স্থান পূরণ করতে এটিকে স্কেল করে প্রদর্শন স্ক্রিন সমর্থন API এবং এটি যে নিয়ন্ত্রণগুলি প্রদান করে সে সম্পর্কে আরও তথ্যের জন্য, নীচের বিভাগগুলি দেখুন৷
API ওভারভিউ
স্ক্রিন সমর্থন APIs
অ্যান্ড্রয়েড 3.2 নতুন স্ক্রিন সমর্থন API গুলি প্রবর্তন করে যা আপনাকে তাদের অ্যাপ্লিকেশনগুলি কীভাবে বিভিন্ন স্ক্রীন আকারে প্রদর্শিত হয় তার উপর আরও নিয়ন্ত্রণ দেয়। প্ল্যাটফর্মের সাধারণীকৃত স্ক্রিন ঘনত্ব মডেল সহ বিদ্যমান স্ক্রিন-সমর্থন API-এর উপর API তৈরি করে, কিন্তু ঘনত্ব-স্বাধীন পিক্সেল ইউনিটে পরিমাপ করা (যেমন 600dp বা 720dp চওড়া) দ্বারা নির্দিষ্ট স্ক্রীন রেঞ্জগুলিকে সঠিকভাবে লক্ষ্য করার ক্ষমতা সহ এটিকে প্রসারিত করে। , তাদের সাধারণীকৃত স্ক্রীনের আকারের পরিবর্তে (যেমন বড় বা বড়)
একটি অ্যাপ্লিকেশনের UI ডিজাইন করার সময়, আপনি ঘনত্ব বিমূর্ততা প্রদানের জন্য এখনও প্ল্যাটফর্মের উপর নির্ভর করতে পারেন, যার মানে হল যে অ্যাপ্লিকেশনগুলিকে ডিভাইস জুড়ে প্রকৃত পিক্সেল ঘনত্বের পার্থক্যের জন্য ক্ষতিপূরণ দিতে হবে না। আপনি উপলব্ধ অনুভূমিক বা উল্লম্ব স্থান পরিমাণ অনুযায়ী অ্যাপ্লিকেশন UI ডিজাইন করতে পারেন. প্ল্যাটফর্মটি তিনটি নতুন বৈশিষ্ট্য ব্যবহার করে উপলব্ধ স্থানের পরিমাণ প্রকাশ করে: ক্ষুদ্রতম প্রস্থ , প্রস্থ এবং উচ্চতা ।
- একটি স্ক্রিনের ক্ষুদ্রতম প্রস্থ হল এর মৌলিক ন্যূনতম আকার, যা ঘনত্ব-স্বাধীন পিক্সেল ("dp") ইউনিটে পরিমাপ করা হয়। পর্দার উচ্চতা বা প্রস্থের মধ্যে, এটি দুটির মধ্যে ছোট। পোর্ট্রেট অভিযোজনে একটি পর্দার জন্য, ক্ষুদ্রতম প্রস্থ সাধারণত তার প্রস্থের উপর ভিত্তি করে, যখন ল্যান্ডস্কেপ অভিযোজনে এটি তার উচ্চতার উপর ভিত্তি করে। সব ক্ষেত্রে, ক্ষুদ্রতম প্রস্থ স্ক্রীনের একটি নির্দিষ্ট বৈশিষ্ট্য থেকে প্রাপ্ত হয় এবং অভিযোজন নির্বিশেষে মান পরিবর্তন হয় না। ক্ষুদ্রতম প্রস্থটি অ্যাপ্লিকেশনগুলির জন্য গুরুত্বপূর্ণ কারণ এটি সংক্ষিপ্ততম সম্ভাব্য প্রস্থের প্রতিনিধিত্ব করে যেখানে অ্যাপ্লিকেশন UI আঁকতে হবে, সিস্টেম দ্বারা সংরক্ষিত স্ক্রিন এলাকাগুলি অন্তর্ভুক্ত নয়৷
- বিপরীতে, একটি স্ক্রিনের প্রস্থ এবং উচ্চতা অ্যাপ্লিকেশন লেআউটের জন্য উপলব্ধ বর্তমান অনুভূমিক বা উল্লম্ব স্থানের প্রতিনিধিত্ব করে, যা "dp" ইউনিটে পরিমাপ করা হয়, সিস্টেম দ্বারা সংরক্ষিত স্ক্রিন এলাকাগুলি অন্তর্ভুক্ত নয়। যখন ব্যবহারকারী ল্যান্ডস্কেপ এবং প্রতিকৃতির মধ্যে অবস্থান পরিবর্তন করে তখন একটি স্ক্রিনের প্রস্থ এবং উচ্চতা পরিবর্তন হয়।
নতুন স্ক্রীন সমর্থন API আপনাকে বর্তমান স্ক্রিনের ক্ষুদ্রতম প্রস্থ অনুযায়ী অ্যাপ্লিকেশন UI পরিচালনা করতে দেওয়ার জন্য ডিজাইন করা হয়েছে। প্রয়োজন অনুযায়ী আপনি বর্তমান প্রস্থ বা উচ্চতা অনুযায়ী UI পরিচালনা করতে পারেন। এই উদ্দেশ্যে, API এই সরঞ্জামগুলি প্রদান করে:
- ন্যূনতম ক্ষুদ্রতম প্রস্থ, প্রস্থ, বা উচ্চতায় লেআউট এবং অন্যান্য সংস্থানগুলিকে লক্ষ্য করার জন্য নতুন সংস্থান যোগ্যতা এবং
- অ্যাপের সর্বাধিক স্ক্রীন সামঞ্জস্যের পরিসর নির্দিষ্ট করার জন্য নতুন ম্যানিফেস্ট বৈশিষ্ট্য
উপরন্তু, অ্যাপ্লিকেশনগুলি এখনও সিস্টেমকে জিজ্ঞাসা করতে পারে এবং রানটাইমে UI এবং সংস্থান লোডিং পরিচালনা করতে পারে, প্ল্যাটফর্মের পূর্ববর্তী সংস্করণগুলির মতো।
যেহেতু নতুন এপিআই আপনাকে ক্ষুদ্রতম প্রস্থ, প্রস্থ এবং উচ্চতার মাধ্যমে সরাসরি স্ক্রীনগুলিকে লক্ষ্য করতে দেয়, তাই এটি বিভিন্ন ধরণের স্ক্রিনের সাধারণ বৈশিষ্ট্যগুলি বোঝার জন্য সহায়ক। নীচের টেবিলটি "dp" ইউনিটে পরিমাপ করা কিছু উদাহরণ প্রদান করে।
সারণি 1. সাধারণ ডিভাইস, ঘনত্ব এবং আকার dp সহ।
টাইপ | ঘনত্ব (সাধারণকৃত) | মাত্রা (dp) | ক্ষুদ্রতম প্রস্থ (ডিপি) |
---|---|---|---|
বেসলাইন ফোন | এমডিপিআই | 320x480 | 320 |
ছোট ট্যাবলেট/বড় ফোন | এমডিপিআই | 480x800 | 480 |
7 ইঞ্চি ট্যাবলেট | এমডিপিআই | 600x1024 | 600 |
10-ইঞ্চি ট্যাবলেট | এমডিপিআই | 800x1280 | 800 |
নীচের বিভাগগুলি নতুন স্ক্রীন কোয়ালিফায়ার এবং ম্যানিফেস্ট বৈশিষ্ট্য সম্পর্কে আরও তথ্য প্রদান করে৷ স্ক্রিন সমর্থন API কীভাবে ব্যবহার করবেন সে সম্পর্কে সম্পূর্ণ তথ্যের জন্য, একাধিক স্ক্রিন সমর্থন করা দেখুন।
স্ক্রিন সমর্থনের জন্য নতুন রিসোর্স কোয়ালিফায়ার
অ্যান্ড্রয়েড 3.2-এ নতুন রিসোর্স কোয়ালিফায়ারগুলি আপনাকে স্ক্রীন আকারের রেঞ্জের জন্য আপনার লেআউটগুলিকে আরও ভালভাবে লক্ষ্য করতে দেয়৷ কোয়ালিফায়ারগুলি ব্যবহার করে, আপনি একটি নির্দিষ্ট ন্যূনতম ক্ষুদ্রতম প্রস্থ, বর্তমান প্রস্থ, বা বর্তমান উচ্চতার জন্য পরিকল্পিত সম্পদ কনফিগারেশন তৈরি করতে পারেন, যা ঘনত্ব-স্বাধীন পিক্সেলে পরিমাপ করা হয়।
নতুন কোয়ালিফায়াররা হল:
-
swNNNdp
— ন্যূনতম ক্ষুদ্রতম প্রস্থ নির্দিষ্ট করে যার উপর রিসোর্স ব্যবহার করা উচিত, "dp" ইউনিটে পরিমাপ করা হয়। উপরে উল্লিখিত হিসাবে, একটি পর্দার ক্ষুদ্রতম প্রস্থ ধ্রুবক, অভিযোজন নির্বিশেষে। উদাহরণ:sw320dp
,sw720dp
,sw720dp
। -
wNNNdp
এবংhNNNdp
— ন্যূনতম প্রস্থ বা উচ্চতা নির্দিষ্ট করে যার উপর সম্পদ ব্যবহার করা উচিত, "dp" ইউনিটে পরিমাপ করা হয়। উপরে উল্লিখিত হিসাবে, একটি পর্দার প্রস্থ এবং উচ্চতা স্ক্রীনের অভিযোজনের সাথে আপেক্ষিক এবং যখনই অভিযোজন পরিবর্তিত হয় তখন পরিবর্তন হয়। উদাহরণ:w320dp
,w720dp
,h1024dp
।
প্রয়োজনে আপনি একাধিক ওভারল্যাপিং রিসোর্স কনফিগারেশনও তৈরি করতে পারেন। উদাহরণ স্বরূপ, আপনি 480 dp-এর থেকে চওড়া যে কোনও স্ক্রিনে ব্যবহারের জন্য কিছু সংস্থান ট্যাগ করতে পারেন, অন্যগুলি 600 dp-এর থেকে চওড়ার জন্য, এবং অন্যগুলি 720 dp-এর চেয়ে চওড়ার জন্য৷ যখন একাধিক রিসোর্স কনফিগারেশন একটি প্রদত্ত স্ক্রিনের জন্য যোগ্য হয়, তখন সিস্টেমটি সেই কনফিগারেশনটি নির্বাচন করে যা নিকটতম মিল। একটি প্রদত্ত স্ক্রিনে কোন সংস্থানগুলি লোড করা হয় তার উপর সুনির্দিষ্ট নিয়ন্ত্রণের জন্য, আপনি একটি কোয়ালিফায়ারের সাথে সংস্থানগুলি ট্যাগ করতে পারেন বা বেশ কয়েকটি নতুন বা বিদ্যমান কোয়ালিফায়ারকে একত্রিত করতে পারেন৷
পূর্বে তালিকাভুক্ত সাধারণ মাত্রার উপর ভিত্তি করে, আপনি কীভাবে নতুন কোয়ালিফায়ার ব্যবহার করতে পারেন তার কিছু উদাহরণ এখানে দেওয়া হল:
res/layout/main_activity.xml # For phones res/layout-sw600dp/main_activity.xml # For 7” tablets res/layout-sw720dp/main_activity.xml # For 10” tablets res/layout-w600dp/main_activity.xml # Multi-pane when enough width res/layout-sw600dp-w720dp/main_activity.xml # For large width
প্ল্যাটফর্মের পুরানো সংস্করণগুলি নতুন কোয়ালিফায়ারগুলিকে উপেক্ষা করবে, তাই আপনি যে কোনও ডিভাইসে আপনার অ্যাপটি দুর্দান্ত দেখাচ্ছে তা নিশ্চিত করার জন্য প্রয়োজন অনুসারে সেগুলি মিশ্রিত করতে পারেন। এখানে কিছু উদাহরণ আছে:
res/layout/main_activity.xml # For phones res/layout-xlarge/main_activity.xml # For pre-3.2 tablets res/layout-sw600dp/main_activity.xml # For 3.2 and up tablets
নতুন কোয়ালিফায়ারগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে সম্পূর্ণ তথ্যের জন্য, নতুন আকারের কোয়ালিফায়ার ব্যবহার করা দেখুন।
স্ক্রীন-আকার সামঞ্জস্যের জন্য নতুন ম্যানিফেস্ট বৈশিষ্ট্য
ফ্রেমওয়ার্ক <supports-screens>
ম্যানিফেস্ট বৈশিষ্ট্যগুলির একটি নতুন সেট অফার করে যা আপনাকে বিভিন্ন স্ক্রীন আকারের জন্য আপনার অ্যাপের সমর্থন পরিচালনা করতে দেয়। বিশেষভাবে, আপনি সবচেয়ে বড় এবং ছোট স্ক্রীনগুলি নির্দিষ্ট করতে পারেন যার উপর আপনার অ্যাপটি চালানোর জন্য ডিজাইন করা হয়েছে, সেইসাথে সবচেয়ে বড় স্ক্রীনটি যার উপর এটি ডিজাইন করা হয়েছে সিস্টেমের নতুন স্ক্রীন সামঞ্জস্য মোডের প্রয়োজন ছাড়াই চালানো হবে৷ উপরে বর্ণিত রিসোর্স কোয়ালিফায়ারের মতো, নতুন ম্যানিফেস্ট বৈশিষ্ট্যগুলি স্ক্রিনের পরিসীমা নির্দিষ্ট করে যা অ্যাপ্লিকেশনটি সমর্থন করে, যেমনটি ক্ষুদ্রতম প্রস্থ দ্বারা নির্দিষ্ট করা হয়েছে৷
স্ক্রিন সমর্থনের জন্য নতুন ম্যানিফেস্ট বৈশিষ্ট্যগুলি হল:
-
android:compatibleWidthLimitDp=" numDp"
— এই বৈশিষ্ট্যটি আপনাকে সর্বাধিক ক্ষুদ্রতম প্রস্থ নির্দিষ্ট করতে দেয় যার উপর সামঞ্জস্য মোডের প্রয়োজন ছাড়াই অ্যাপ্লিকেশনটি চলতে পারে। যদি বর্তমান স্ক্রীনটি নির্দিষ্ট করা মানের চেয়ে বড় হয়, তবে সিস্টেমটি সাধারণ মোডে অ্যাপ্লিকেশনটি প্রদর্শন করে তবে ব্যবহারকারীকে সিস্টেম বারে একটি সেটিংসের মাধ্যমে ঐচ্ছিকভাবে সামঞ্জস্য মোডে স্যুইচ করার অনুমতি দেয়। -
android:largestWidthLimitDp=" numDp "
— এই বৈশিষ্ট্যটি আপনাকে সর্বাধিক ক্ষুদ্রতম প্রস্থ নির্দিষ্ট করতে দেয় যার উপর অ্যাপ্লিকেশনটি চালানোর জন্য ডিজাইন করা হয়েছে৷ যদি বর্তমান স্ক্রীন নির্দিষ্ট মানের চেয়ে বড় হয়, তাহলে বর্তমান স্ক্রিনে সর্বোত্তম প্রদর্শন নিশ্চিত করতে সিস্টেমটি অ্যাপ্লিকেশনটিকে স্ক্রিন সামঞ্জস্য মোডে বাধ্য করে। -
android:requiresSmallestWidthDp=" numDp"
— এই অ্যাট্রিবিউটটি আপনাকে ন্যূনতম ক্ষুদ্রতম প্রস্থ নির্দিষ্ট করতে দেয় যার উপর অ্যাপ্লিকেশনটি চলতে পারে। যদি বর্তমান স্ক্রীনটি নির্দিষ্ট মানের চেয়ে ছোট হয়, তবে সিস্টেমটি অ্যাপ্লিকেশনটিকে ডিভাইসের সাথে বেমানান বিবেচনা করে, কিন্তু এটিকে ইনস্টল করা এবং চালানো থেকে বাধা দেয় না।
দ্রষ্টব্য: Google Play বর্তমানে উপরের কোনো বৈশিষ্ট্যের উপর ভিত্তি করে অ্যাপগুলিকে ফিল্টার করে না। ফিল্টারিংয়ের জন্য সমর্থন পরবর্তী প্ল্যাটফর্ম রিলিজে যোগ করা হবে। যে অ্যাপ্লিকেশনগুলির জন্য স্ক্রীনের আকারের উপর ভিত্তি করে ফিল্টারিং প্রয়োজন সেগুলি বিদ্যমান <supports-screens>
বৈশিষ্ট্যগুলি ব্যবহার করতে পারে।
নতুন বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে সম্পূর্ণ তথ্যের জন্য, স্ক্রিন আকার সমর্থন ঘোষণা দেখুন।
স্ক্রীন সামঞ্জস্যপূর্ণ মোড
অ্যান্ড্রয়েড 3.2 অ্যাপ্লিকেশনগুলির জন্য একটি নতুন স্ক্রীন সামঞ্জস্যপূর্ণ মোড সরবরাহ করে যা স্পষ্টভাবে ঘোষণা করে যে তারা যে স্ক্রীনে চলছে তার মতো বড় স্ক্রীন সমর্থন করে না৷ এই নতুন "জুম" মোডটি একটি পিক্সেল-স্কেলড — এটি অ্যাপ্লিকেশনটিকে একটি ছোট স্ক্রীন এলাকায় রেন্ডার করে এবং তারপর বর্তমান স্ক্রীনটি পূরণ করতে পিক্সেলগুলিকে স্কেল করে৷
ডিফল্টরূপে, সিস্টেমটি ব্যবহারকারীর বিকল্প হিসাবে স্ক্রিন সামঞ্জস্য মোড অফার করে, যে অ্যাপগুলির জন্য এটির প্রয়োজন হয়৷ ব্যবহারকারীরা সিস্টেম বারে উপলব্ধ একটি নিয়ন্ত্রণ ব্যবহার করে জুম মোড চালু এবং বন্ধ করতে পারে।
কারণ নতুন স্ক্রিন সামঞ্জস্য মোড সমস্ত অ্যাপ্লিকেশনের জন্য উপযুক্ত নাও হতে পারে, প্ল্যাটফর্মটি ম্যানিফেস্ট বৈশিষ্ট্যগুলি ব্যবহার করে অ্যাপ্লিকেশনটিকে এটি নিষ্ক্রিয় করার অনুমতি দেয়৷ অ্যাপ দ্বারা অক্ষম করা হলে, অ্যাপটি চলাকালীন ব্যবহারকারীদের জন্য সিস্টেম "জুম" সামঞ্জস্য মোড অফার করে না।
দ্রষ্টব্য: আপনার অ্যাপ্লিকেশনগুলিতে সামঞ্জস্য মোড কীভাবে নিয়ন্ত্রণ করবেন সে সম্পর্কে গুরুত্বপূর্ণ তথ্যের জন্য, অনুগ্রহ করে অ্যান্ড্রয়েড বিকাশকারী ব্লগে বড় স্ক্রিনের অ্যাপগুলির জন্য নতুন মোডটি পর্যালোচনা করুন৷
720p টেলিভিশন এবং অনুরূপ ডিভাইসের জন্য নতুন পর্দার ঘনত্ব
720p টেলিভিশন বা মাঝারি ঘনত্বের স্ক্রীনের অনুরূপ অ্যাপ্লিকেশানগুলির চাহিদা মেটাতে, Android 3.2 একটি নতুন সাধারণীকৃত ঘনত্ব, tvdpi
প্রবর্তন করেছে, যার আনুমানিক dpi 213। অ্যাপ্লিকেশনগুলি densityDpi
-এ নতুন ঘনত্বের জন্য অনুসন্ধান করতে পারে এবং নতুন tvdpi
ব্যবহার করতে পারে। টেলিভিশন এবং অনুরূপ ডিভাইসের জন্য সম্পদ ট্যাগ করতে। যেমন:
res/drawable-tvdpi/my_icon.png # Bitmap for tv density
সাধারণভাবে, অ্যাপ্লিকেশনগুলির এই ঘনত্বের সাথে কাজ করার দরকার নেই। এমন পরিস্থিতিতে যেখানে 720p স্ক্রিনের জন্য আউটপুট প্রয়োজন, UI উপাদানগুলি প্ল্যাটফর্ম দ্বারা স্বয়ংক্রিয়ভাবে স্কেল করা যেতে পারে।
UI ফ্রেমওয়ার্ক
- টুকরা
- New
Fragment.SavedState
ক্লাসsaveFragmentInstanceState()
এর মাধ্যমে একটি ফ্র্যাগমেন্ট ইনস্ট্যান্স থেকে পুনরুদ্ধার করা রাষ্ট্রীয় তথ্য ধারণ করে। - নতুন পদ্ধতি
saveFragmentInstanceState()
প্রদত্ত ফ্র্যাগমেন্টের বর্তমান ইনস্ট্যান্স অবস্থা সংরক্ষণ করে। বর্তমান অবস্থার সাথে মেলে এমন ফ্র্যাগমেন্টের একটি নতুন উদাহরণ তৈরি করার সময় রাজ্যটি পরে ব্যবহার করা যেতে পারে। - নতুন পদ্ধতি
setInitialSavedState()
একটি ফ্র্যাগমেন্টের জন্য প্রাথমিক সংরক্ষিত অবস্থা সেট করে যখন প্রথম তৈরি করা হয়। - নতুন
onViewCreated()
কলব্যাক পদ্ধতিটি সেই ফ্র্যাগমেন্টটিকে অবহিত করে যাonCreateView()
ফিরে এসেছে, কিন্তু ভিউতে কোনো সংরক্ষিত অবস্থা পুনরুদ্ধার করার আগে। -
isDetached()
পদ্ধতি নির্ধারণ করে যে ফ্র্যাগমেন্টটি স্পষ্টভাবে UI থেকে আলাদা করা হয়েছে কিনা। - নতুন
attach()
এবংdetach()
পদ্ধতিগুলি একটি অ্যাপ্লিকেশনকে UI-তে অংশগুলিকে পুনরায় সংযুক্ত বা বিচ্ছিন্ন করতে দেয়। - একটি নতুন
setCustomAnimations()
ওভারলোড পদ্ধতি আপনাকে প্রবেশ/প্রস্থান ক্রিয়াকলাপের জন্য এবং বিশেষত ব্যাক স্ট্যাক পপ করার সময় চালানোর জন্য নির্দিষ্ট অ্যানিমেশন সংস্থান সেট করতে দেয়। ব্যাক স্ট্যাক পপ করার সময় বিদ্যমান বাস্তবায়নটি খণ্ডের বিভিন্ন আচরণের জন্য দায়ী নয়।
- New
- ActivityInfo এবং ApplicationInfo-এ স্ক্রীন সাইজের তথ্য
-
ActivityInfo
CONFIG_SCREEN_SIZE
এবংCONFIG_SMALLEST_SCREEN_SIZE
configChanges
বিট মাস্ক হিসাবে যোগ করে। বিটগুলি নির্দেশ করে যে একটি অ্যাক্টিভিটি নিজেই পর্দার আকার এবং সবচেয়ে ছোট পর্দার আকার পরিচালনা করতে পারে কিনা। -
ApplicationInfo
largestWidthLimitDp
,compatibleWidthLimitDp
যোগ করে, এবং অ্যাপ্লিকেশন ম্যানিফেস্ট ফাইলের সংশ্লিষ্ট<supports-screens>
বৈশিষ্ট্যগুলি থেকে প্রাপ্ত SmallestWidthDp ক্ষেত্রগুলিরrequiresSmallestWidthDp
।
-
- WindowManager থেকে ডিসপ্লে সাইজ পাওয়ার জন্য সাহায্যকারী
- নতুন পদ্ধতি
getSize()
এবংgetRectSize()
অ্যাপ্লিকেশনগুলিকে প্রদর্শনের কাঁচা আকার পেতে দেয়।
- নতুন পদ্ধতি
- নতুন পাবলিক "হলোগ্রাফিক" শৈলী
- প্ল্যাটফর্মটি এখন পাঠ্য, অ্যাকশনবার উইজেট এবং ট্যাব এবং আরও অনেক কিছুর জন্য বিভিন্ন ধরনের সর্বজনীন "হলোগ্রাফিক" শৈলী প্রকাশ করে। সম্পূর্ণ তালিকার জন্য
R.style
দেখুন।
- প্ল্যাটফর্মটি এখন পাঠ্য, অ্যাকশনবার উইজেট এবং ট্যাব এবং আরও অনেক কিছুর জন্য বিভিন্ন ধরনের সর্বজনীন "হলোগ্রাফিক" শৈলী প্রকাশ করে। সম্পূর্ণ তালিকার জন্য
-
LocalActivityManager
,ActivityGroup
, এবংLocalActivityManager
এখন বাতিল করা হয়েছে- নতুন অ্যাপ্লিকেশনগুলিকে এই ক্লাসগুলির পরিবর্তে ফ্র্যাগমেন্টগুলি ব্যবহার করা উচিত৷ প্ল্যাটফর্মের পুরানো সংস্করণে চালানো চালিয়ে যেতে, আপনি Android SDK-এ উপলব্ধ v4 সমর্থন লাইব্রেরি (সামঞ্জস্যতা লাইব্রেরি) ব্যবহার করতে পারেন। v4 সাপোর্ট লাইব্রেরি ফ্র্যাগমেন্ট API এর একটি সংস্করণ সরবরাহ করে যা Android 1.6 (API স্তর 4) এর সাথে সামঞ্জস্যপূর্ণ।
- অ্যান্ড্রয়েড 3.0 (API স্তর 11) বা উচ্চতরের বিরুদ্ধে বিকাশকারী অ্যাপগুলির জন্য, ট্যাবগুলি সাধারণত নতুন
ActionBar.newTab()
এবং সম্পর্কিত API ব্যবহার করে তাদের অ্যাকশন বার এলাকার মধ্যে ট্যাব স্থাপনের জন্য UI-তে উপস্থাপন করা হয়।
মিডিয়া ফ্রেমওয়ার্ক
- যে অ্যাপ্লিকেশনগুলি প্ল্যাটফর্মের মিডিয়া প্রদানকারী (
MediaStore
) ব্যবহার করে তারা এখন অপসারণযোগ্য SD কার্ড থেকে সরাসরি মিডিয়া ডেটা পড়তে পারে, যেখানে ডিভাইস দ্বারা সমর্থিত৷ এমটিপি API ব্যবহার করে অ্যাপ্লিকেশনগুলি সরাসরি SD কার্ড ফাইলগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে৷
গ্রাফিক্স
- পয়েন্ট এবং পয়েন্টএফ-এ পার্সেলযোগ্য ইউটিলিটি
-
Point
এবংPointF
ক্লাসে এখনParcelable
ইন্টারফেস এবং ইউটিলিটি মেথডdescribeContents()
,readFromParcel()
এবংwriteToParcel()
অন্তর্ভুক্ত রয়েছে।
-
আইএমই ফ্রেমওয়ার্ক
- পরিবর্তনকারী কীগুলির বর্তমান অবস্থা পুনরুদ্ধার করার জন্য নতুন
getModifiers()
পদ্ধতি।
ইউএসবি ফ্রেমওয়ার্ক
- ডিভাইসের জন্য কাঁচা USB বর্ণনাকারী পুনরুদ্ধার করার জন্য নতুন
getRawDescriptors()
পদ্ধতি। উচ্চ স্তরের API-এর মাধ্যমে সরাসরি সমর্থিত নয় এমন বর্ণনাকারীদের অ্যাক্সেস করতে আপনি পদ্ধতিটি ব্যবহার করতে পারেন।
নেটওয়ার্ক
- নেটওয়ার্ক প্রকার ধ্রুবক
-
ConnectivityManager
TYPE_ETHERNET
এবংTYPE_BLUETOOTH
ধ্রুবক যোগ করে।
-
টেলিফোনি
- নতুন
NETWORK_TYPE_HSPAP
নেটওয়ার্ক প্রকার ধ্রুবক৷
মূল উপযোগিতা
- পার্সেলযোগ্য ইউটিলিটি
- নতুন ইন্টারফেস
Parcelable.ClassLoaderCreator
অ্যাপ্লিকেশনটিকে ক্লাসলোডার গ্রহণ করার অনুমতি দেয় যেখানে বস্তুটি তৈরি করা হচ্ছে। -
ParcelFileDescriptor
অবজেক্ট পরিচালনার জন্য নতুনadoptFd
,dup()
, এবংfromFd()
।
- নতুন ইন্টারফেস
- বাইন্ডার এবং আইবিন্ডার
-
Binder
এবংIBinder
নতুন পদ্ধতিdumpAsync()
অ্যাপ্লিকেশনগুলিকে একটি নির্দিষ্ট ফাইলে ডাম্প করতে দেয়, যাতে লক্ষ্যটি অ্যাসিঙ্ক্রোনাসভাবে কার্যকর হয় তা নিশ্চিত করে। - নতুন
IBinder
প্রোটোকল লেনদেন কোডTWEET_TRANSACTION
অ্যাপ্লিকেশনগুলিকে লক্ষ্য বস্তুতে একটি টুইট পাঠাতে দেয়৷
-
নতুন বৈশিষ্ট্য ধ্রুবক
প্ল্যাটফর্মটি নতুন হার্ডওয়্যার বৈশিষ্ট্যের ধ্রুবক যোগ করে যা আপনি তাদের অ্যাপ্লিকেশন ম্যানিফেস্টে ঘোষণা করতে পারেন, প্রয়োজনীয় হার্ডওয়্যার এবং সফ্টওয়্যার ক্ষমতা সম্পর্কে Google Play-এর মতো বাহ্যিক সংস্থাগুলিকে অবহিত করতে। আপনি <uses-feature>
ম্যানিফেস্ট উপাদানগুলিতে এইগুলি এবং অন্যান্য বৈশিষ্ট্য ধ্রুবকগুলি ঘোষণা করেন।
Google Play অ্যাপ্লিকেশানগুলিকে তাদের <uses-feature>
বৈশিষ্ট্যের উপর ভিত্তি করে ফিল্টার করে, নিশ্চিত করতে যে সেগুলি শুধুমাত্র সেই ডিভাইসগুলিতে পাওয়া যায় যেখানে তাদের প্রয়োজনীয়তাগুলি পূরণ করা হয়৷
- ল্যান্ডস্কেপ বা প্রতিকৃতির প্রয়োজনীয়তার জন্য বৈশিষ্ট্য ধ্রুবক
অ্যান্ড্রয়েড 3.2 নতুন বৈশিষ্ট্যের ধ্রুবক প্রবর্তন করে যা অ্যাপ্লিকেশনগুলিকে নির্দিষ্ট করতে দেয় যে তাদের ল্যান্ডস্কেপ ওরিয়েন্টেশন, পোর্ট্রেট ওরিয়েন্টেশন বা উভয় ক্ষেত্রেই প্রদর্শনের প্রয়োজন আছে কিনা। এই ধ্রুবকগুলি ঘোষণা করা ইঙ্গিত দেয় যে অ্যাপ্লিকেশনটি এমন একটি ডিভাইসে ইনস্টল করা উচিত নয় যা সংশ্লিষ্ট অভিযোজন অফার করে না। বিপরীতভাবে, যদি একটি বা উভয় ধ্রুবক ঘোষণা না করা হয়, তবে এটি নির্দেশ করে যে অ্যাপ্লিকেশনটির অঘোষিত অভিযোজনের জন্য একটি পছন্দ নেই এবং এটি এমন একটি ডিভাইসে ইনস্টল করা হতে পারে যা সেগুলি অফার করে না।
-
android.hardware.screen.landscape
— অ্যাপ্লিকেশনটির জন্য ল্যান্ডস্কেপ ওরিয়েন্টেশনে প্রদর্শন প্রয়োজন। -
android.hardware.screen.portrait
— অ্যাপ্লিকেশনটির জন্য পোর্ট্রেট ওরিয়েন্টেশনে প্রদর্শন প্রয়োজন।
একটি সাধারণ অ্যাপ্লিকেশন যা ল্যান্ডস্কেপ এবং পোর্ট্রেট অভিযোজন উভয় ক্ষেত্রেই সঠিকভাবে কাজ করে তার জন্য সাধারণত একটি অভিযোজন প্রয়োজনীয়তা ঘোষণা করার প্রয়োজন হয় না। বরং, একটি অ্যাপ্লিকেশান প্রাথমিকভাবে একটি ওরিয়েন্টেশনের জন্য ডিজাইন করা হয়েছে, যেমন একটি টেলিভিশনের জন্য ডিজাইন করা একটি অ্যাপ, একটি ধ্রুবক ঘোষণা করতে পারে তা নিশ্চিত করার জন্য যে এটি সেই অভিযোজন প্রদান করে না এমন ডিভাইসগুলিতে উপলব্ধ নয়।
android:screenOrientation
অ্যাট্রিবিউট ব্যবহার করে যদি ম্যানিফেস্টের অনুরোধে ঘোষিত কোনো ক্রিয়াকলাপ একটি নির্দিষ্ট অভিযোজনে চালানো হয়, তাহলে এটিও ঘোষণা করে যে অ্যাপ্লিকেশনটির সেই অভিযোজন প্রয়োজন। -
- অন্যান্য বৈশিষ্ট্য ধ্রুবক
-
android.hardware.faketouch.multitouch.distinct
— অ্যাপ্লিকেশনটির জন্য দুই বা ততোধিক পয়েন্টের স্বতন্ত্র ট্র্যাকিং সহ অনুকরণ করা মুলিটাচ ইনপুটের জন্য সমর্থন প্রয়োজন। -
android.hardware.faketouch.multitouch.jazzhand
— অ্যাপ্লিকেশনটির জন্য পাঁচ বা তার বেশি পয়েন্টের স্বতন্ত্র ট্র্যাকিং সহ অনুকরণ করা মুলিটাচ ইনপুটের জন্য সমর্থন প্রয়োজন।
-
API পার্থক্য রিপোর্ট
অ্যান্ড্রয়েড 3.2 (এপিআই লেভেল 13) এ সমস্ত API পরিবর্তনগুলির একটি বিশদ দর্শনের জন্য, API পার্থক্য রিপোর্ট দেখুন।
API স্তর
অ্যান্ড্রয়েড 3.2 প্ল্যাটফর্ম ফ্রেমওয়ার্ক API এর একটি আপডেট সংস্করণ সরবরাহ করে। অ্যান্ড্রয়েড 3.2 API-কে একটি পূর্ণসংখ্যা শনাক্তকারী বরাদ্দ করা হয়েছে — 13 — যা সিস্টেমেই সংরক্ষিত থাকে। এই আইডেন্টিফায়ার, যাকে "API লেভেল" বলা হয়, সেটি সিস্টেমকে সঠিকভাবে নির্ধারণ করতে দেয় যে একটি অ্যাপ্লিকেশন সিস্টেমের সাথে সামঞ্জস্যপূর্ণ কিনা, অ্যাপ্লিকেশন ইনস্টল করার আগে।
আপনার অ্যাপ্লিকেশানে Android 3.2-এ প্রবর্তিত API ব্যবহার করতে, আপনাকে Android 3.2 SDK প্ল্যাটফর্মে সরবরাহ করা Android লাইব্রেরির বিপরীতে অ্যাপ্লিকেশনটি কম্পাইল করতে হবে। আপনার প্রয়োজনের উপর নির্ভর করে, আপনাকে অ্যাপ্লিকেশনের ম্যানিফেস্টে <uses-sdk>
উপাদানটিতে একটি android:minSdkVersion="13"
বৈশিষ্ট্য যোগ করতে হতে পারে।
আরও তথ্যের জন্য, পড়ুন API স্তর কী?