Wear OS ডিভাইসে, টাইলগুলি স্বাধীন সংস্করণ সহ দুটি মূল উপাদান দ্বারা রেন্ডার করা হয়। আপনার অ্যাপের টাইলস সমস্ত ডিভাইসে সঠিকভাবে কাজ করছে তা নিশ্চিত করতে, এই অন্তর্নিহিত আর্কিটেকচারটি বোঝা গুরুত্বপূর্ণ।
- জেটপ্যাক টাইল-সম্পর্কিত লাইব্রেরি : এই লাইব্রেরিগুলি (ওয়্যার টাইলস এবং ওয়ার প্রোটোলেআউট সহ) আপনার অ্যাপে এম্বেড করা আছে এবং আপনি, বিকাশকারী হিসাবে, তাদের সংস্করণগুলি নিয়ন্ত্রণ করেন। আপনার অ্যাপটি সিস্টেমের
onTileRequest()
কলের প্রতিক্রিয়া হিসাবে একটিTileBuilder.Tile
অবজেক্ট (আপনার টাইল প্রতিনিধিত্বকারী ডেটা কাঠামো) তৈরি করতে এই লাইব্রেরিগুলি ব্যবহার করে৷ - প্রোটোলেআউট রেন্ডারার: এই সিস্টেম উপাদানটি ডিসপ্লেতে
Tile
অবজেক্ট রেন্ডার করার এবং ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করার জন্য দায়ী। রেন্ডারারের সংস্করণ অ্যাপ ডেভেলপার দ্বারা নিয়ন্ত্রিত হয় না এবং ডিভাইস জুড়ে পরিবর্তিত হতে পারে, এমনকি অভিন্ন হার্ডওয়্যার সহ।
আপনার অ্যাপের জেটপ্যাক টাইলস লাইব্রেরি সংস্করণ এবং ব্যবহারকারীর ডিভাইসে প্রোটোলেআউট রেন্ডারার সংস্করণের উপর ভিত্তি করে একটি টাইলের চেহারা বা আচরণ পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, একটি ডিভাইস ঘূর্ণন বা হার্ট রেট ডেটা প্রদর্শন সমর্থন করতে পারে এবং অন্যটি নাও পারে৷
এই দস্তাবেজটি ব্যাখ্যা করে যে কীভাবে আপনার অ্যাপটি টাইলস লাইব্রেরি এবং প্রোটোলেআউট রেন্ডারারের বিভিন্ন সংস্করণের সাথে সামঞ্জস্যপূর্ণ তা নিশ্চিত করা যায় এবং কীভাবে উচ্চতর জেটপ্যাক লাইব্রেরি সংস্করণগুলিতে স্থানান্তর করা যায়।
সামঞ্জস্য বিবেচনা করুন
একটি টাইল তৈরি করতে যা বিভিন্ন ডিভাইসে সঠিকভাবে কাজ করে, আপনার নিম্নলিখিতগুলি বিবেচনা করা উচিত।
রেন্ডারার সংস্করণ সনাক্ত করুন
- আপনার onTileRequest() পদ্ধতিতে পাস করা
DeviceParameters
অবজেক্টেরgetRendererSchemaVersion()
পদ্ধতি ব্যবহার করুন। এই পদ্ধতিটি ডিভাইসে প্রোটোলেআউট রেন্ডারারের প্রধান এবং ছোট সংস্করণ নম্বর প্রদান করে। - তারপরে আপনি শনাক্ত রেন্ডারার সংস্করণের উপর ভিত্তি করে আপনার টাইলের নকশা বা আচরণকে মানিয়ে নিতে আপনার
onTileRequest()
বাস্তবায়নে শর্তসাপেক্ষ যুক্তি ব্যবহার করতে পারেন।- উদাহরণস্বরূপ, যদি একটি নির্দিষ্ট অ্যানিমেশন সমর্থিত না হয়, আপনি পরিবর্তে একটি স্থির চিত্র প্রদর্শন করতে পারেন।
@RequiresSchemaVersion
টীকা
- ProtoLayout পদ্ধতিতে
@RequiresSchemaVersion
টীকা নির্দেশ করে যে পদ্ধতিটি নথিভুক্ত ( উদাহরণ ) হিসাবে আচরণ করার জন্য প্রয়োজনীয় ন্যূনতম রেন্ডারার স্কিমা সংস্করণ।- ডিভাইসে উপলব্ধের চেয়ে উচ্চতর রেন্ডারার সংস্করণ প্রয়োজন এমন একটি পদ্ধতিকে কল করার সময় আপনার অ্যাপ ক্র্যাশ হবে না, এটি সামগ্রী প্রদর্শন না করা বা বৈশিষ্ট্যটিকে উপেক্ষা করা হতে পারে।
উদাহরণ
override fun onTileRequest(
requestParams: TileService.TileRequest
): ListenableFuture<Tile> {
val rendererVersion =
requestParams.deviceConfiguration.rendererSchemaVersion
val tile = Tile.Builder()
if (
rendererVersion.major > 1 ||
(rendererVersion.major == 1 && rendererVersion.minor >= 300)
) {
// Use a feature supported in renderer version 1.300 or later
tile.setTileTimeline(/* ... */ )
} else {
// Provide fallback content for older renderers
tile.setTileTimeline(/* ... */ )
}
return Futures.immediateFuture(tile.build())
}
বিভিন্ন রেন্ডারার সংস্করণের সাথে পরীক্ষা করুন
আপনার টাইলগুলিকে বিভিন্ন রেন্ডারার সংস্করণের সাথে পরীক্ষা করতে, সেগুলিকে Wear OS এমুলেটরের বিভিন্ন সংস্করণে স্থাপন করুন৷ (ভৌত ডিভাইসগুলিতে, প্রোটোলেআউট রেন্ডারার আপডেটগুলি প্লে স্টোর বা সিস্টেম আপডেটগুলি দ্বারা বিতরণ করা হয়৷ একটি নির্দিষ্ট রেন্ডারার সংস্করণ ইনস্টল করার জন্য জোর করা সম্ভব নয়৷)
অ্যান্ড্রয়েড স্টুডিওর টাইল প্রিভিউ বৈশিষ্ট্যটি জেটপ্যাক প্রোটোলেআউট লাইব্রেরিতে এমবেড করা একটি রেন্ডারার ব্যবহার করে যার উপর আপনার কোড নির্ভর করে, তাই আরেকটি পদ্ধতি হল টাইলস পরীক্ষা করার সময় বিভিন্ন জেটপ্যাক লাইব্রেরি সংস্করণের উপর নির্ভর করা।
জেটপ্যাক লাইব্রেরি আপগ্রেড করুন
আপনার টাইলগুলিকে সিস্টেমের সাথে নির্বিঘ্নে একীভূত করতে UI পরিবর্তন সহ সাম্প্রতিক বর্ধনগুলির সুবিধা নিতে আপনার জেটপ্যাক টাইল লাইব্রেরিগুলি আপডেট করুন৷
টাইলস 1.2 / ProtoLayout 1.0 এ স্থানান্তর করুন
সংস্করণ 1.2 অনুযায়ী, বেশিরভাগ টাইলস লেআউট API গুলি androidx.wear.protolayout
নামস্থানে রয়েছে। সর্বশেষ API ব্যবহার করতে, আপনার কোডে নিম্নলিখিত মাইগ্রেশন পদক্ষেপগুলি সম্পূর্ণ করুন৷
নির্ভরতা আপডেট করুন
আপনার অ্যাপ মডিউলের বিল্ড ফাইলে, নিম্নলিখিত পরিবর্তনগুলি করুন:
গ্রোভি
// Removeimplementation 'androidx.wear.tiles:tiles-material:version'// Include additional dependencies implementation "androidx.wear.protolayout:protolayout:1.2.1" implementation "androidx.wear.protolayout:protolayout-material:1.2.1" implementation "androidx.wear.protolayout:protolayout-expression:1.2.1" // Update implementation "androidx.wear.tiles:tiles:1.4.1"
কোটলিন
// Removeimplementation("androidx.wear.tiles:tiles-material:version")// Include additional dependencies implementation("androidx.wear.protolayout:protolayout:1.2.1") implementation("androidx.wear.protolayout:protolayout-material:1.2.1") implementation("androidx.wear.protolayout:protolayout-expression:1.2.1") // Update implementation("androidx.wear.tiles:tiles:1.4.1")
নামস্থান আপডেট করুন
আপনার অ্যাপের Kotlin- এবং Java-ভিত্তিক কোড ফাইলগুলিতে, নিম্নলিখিত আপডেটগুলি করুন৷ বিকল্পভাবে, আপনি এই নেমস্পেস রিনেমিং স্ক্রিপ্ট চালাতে পারেন।
- সমস্ত
androidx.wear.tiles.material.*
আমদানিandroidx.wear.protolayout.material.*
দিয়ে প্রতিস্থাপন করুন।androidx.wear.tiles.material.layouts
লাইব্রেরির জন্যও এই ধাপটি সম্পূর্ণ করুন। অন্যান্য বেশিরভাগ
androidx.wear.tiles.*
androidx.wear.protolayout.*
।androidx.wear.tiles.EventBuilders
,androidx.wear.tiles.RequestBuilders
,androidx.wear.tiles.TileBuilders
, এবংandroidx.wear.tiles.TileService
জন্য আমদানি একই থাকতে হবে।TileService এবং TileBuilder ক্লাস থেকে কিছু অবনমিত পদ্ধতির নাম পরিবর্তন করুন:
-
TileBuilders
:getTimeline()
togetTileTimeline()
, এবংsetTimeline()
tosetTileTimeline()
-
TileService
:onResourcesRequest()
থেকেonTileResourcesRequest()
-
RequestBuilders.TileRequest
:getDeviceParameters()
togetDeviceConfiguration()
,setDeviceParameters()
tosetDeviceConfiguration()
,getState()
togetCurrentState()
, এবংsetState()
tosetCurrentState()
-
{% শব্দার্থে %}
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়
- টাইলস দিয়ে শুরু করুন
- Wear OS-এ আপনার প্রথম টাইল তৈরি করুন
- টিভির জন্য রচনার ভূমিকা