کامپوننت های رابط کاربری اندروید Jetpack
اندروید JetPack مجموعه ای از کامپوننت های نرم افزاری است ، کتابخانه ها ، ابزار ها و راهنما هایی که برای کمک به توسعه دهندگان برنامه های اندروید است .
JetPack توسط گوگل در سال 2018 معرفی شد . JetPack شامل کتابخانه هایی برای اندروید و کامپوننت های معماری اندروید با افزودن کتابخانه Android KTX
به عنوان یک نهاد واحد است . امروزه نزدیک به 99 درصد از برنامه های موجود در فروشگاه Google Play از کتابخانه های اندروید Jetpackاستفاده می کنند.
Jetpack شامل ویجت ها ، انمیشن ها و …. است تا تجربه کاربر را بهبود ببخشد . همچنین امکان استفاده ازemoji ها در رابط کاربری را به کاربر می دهد . این مقاله تک تک کتابخانه های کامپوننت های رابط کاربری را با جزئیات توضیح می دهد. Jetpack شامل مجموعه وسیعی از کتابخانه ها است که به گونه ای ساخته شده است که با هم کار می کنند که باعث می شود بتوان برنامه های بسیار خوبی ایجاد کرد .
اجزای نرم افزاری آن به 4 دسته تقسیم شده است:
- Foundation Components (پایه یا اساس Component ها)
- Architecture Components (معماری Component ها)
- Behavior Components
- UI Components
لیست تمام کامپوننت های رابط کاربری JetComose به شرح زیر است :
- Animation & Transition
- Auto
- Emoji
- Fragment
- Layout
- Palette
- TV
- Wear
راه های اضافه کردن کتابخانه اندروید Jetpack در برنامه :
repository گوگل را در فایل build.gradle پروژه برنامه اضافه کنید.
allprojects {
repositories {
google()
jcenter()
}
}
همه کامپوننت های Jetpack در repository Google Maven موجود است ، آنها را در فایل build.gradle قرار دهید.
allprojects {
repositories {
jcenter()
maven { url ‘https://maven.google.com’ }
}
}
کامپوننت های رابط کاربری JetComose :
1. Animation & Transition
Jetpack ، API هایی را برای ست کردن انیمیشن های مختلف برای برنامه های اندروید ارائه می دهد . این فریم ورک قابلیت تغییر ویدجت ها را دارد و همچنین جابجایی بین صفحه ها با انیمیشن در یک برنامه را ارائه می دهد.
برای بهبود تجربه کاربر ، از انیمیشن ها برای تغییرات ایجاد شده در یک برنامه استفاده می شود و فریم ورک پیکربندی انتقال ظاهر آن را اعمال می کند .توسعه دهندگان می توانند نحوه تغییر ظاهر برنامه را هنگام جابه جایی از یک صفحه به صفحه دیگر مدیریت بکنند. Jetpack Compose از مجموعه ابزارهایی برای ساختن رابط کاربری اندروید استفاده می کندکه این یک روش ماژولار با قطعه کد های کوچک است که قابل استفاده مجدد هم هستند. نگهداری این کامپوننت ها (قطعه کد ها) آسان است و کدی که در آن نوشته شده ظاهر رابط کاربری را به صورت اعلانی (describes) تغییر می دهد . یعنی یک مد اعلان کننده است که براساس وضعیت موجود رابط کاربری را تغییر می دهد. توسعه دهندگان از این قابلیت Jetpack Compose برای نمایش انیمیشن های پیچیده به شیوه ای زیبا و رسا استفاده می کنند.
برای ایجاد انیمیشن در اندروید از Transition استفاده می شود . قابلیت انعطاف پذیری آن به توسعه دهندگان این اجازه را می دهد تا اطلاعات را از طریق ویژگی متحرک سازی به راحتی به کاربر انتقال دهند .
عناصری که در Transition برای متحرک سازی استفاده می شود عبارت اند از :
- TransitionDefinition :
شامل تعریف تمام انیمیشنها و حالتهای مختلف انیمیشن در طول انتقال (Transition) میباشد.
- initState :
مرحله اولیه انتقال (Transition) اطلاعات است اگر Set نشده باشد مقدارش ، مقدار اولیه موجود در toState را برای انتقال (Transition) Set می کند .
- toState :
حالت بعدی انتقال (Transition) را شرح دهید.
- clock:
برای مدیریت زمان نمایش انیمیشن است که با تغییرش می توان مدت نمایش انیمیشن را تغییر داد . این یک پارامتر اختیاری است .
- onStateChangeFinished :
یک listener (گوش دهنده) است که زمانی که انیمیشن تمام می شود اطلاع می دهد.
- Children :
به Transition هایی که ایجاد می کنیم که ترکیبشان می شود انیمیشن .
@Composable
fun <T> Transition(
definition: TransitionDefinition<T>,
toState: T,
clock: AnimationClockObservable = AnimationClockAmbient.current,
initState: T = toState,
onStateChangeFinished: ((T) -> Unit)? = null,
children: @Composable() (state: TransitionState) -> Unit
)
TransitionDefinition
اندروید Jetpackبرخی از سازندگان انیمیشن از پیش ایجاد شده را که توسعه دهندگان می توانند مستقیماً در برنامه خود از آنها استفاده کنند ارائه داده است . TransitionDefinition شامل کد همه این انیمیشن ها می باشد.
- Tween :
برای متحرکسازی یک شی هندسی مانند حرکت کردن شی , چرخاندن شی , کشیدن شی و غیره.
- Physics :
برای تعریف انیمیشن برای یک شی .
- Keyframe :
ایجاد یک انیمیشن در زمان مشخصی که در آن متحرک سازی یا تغییر یک شی رخ میکند .
- Snap :
سوییچ کردن انیمیشن به صورت سریع از یک وضعیت به وضعیت دیگر .
- Repeatable:
استفاده از تکرار انیمیشن در زمان هایی که توسعه دهنده بخواهد .
2. خودرو (Auto)
امروزه مردم تا حدی به برنامه های تلفن های هوشمند وابسته شده اند که حتی در رانندگی نیز به آنها نیاز دارند. دلیل استفاده از تلفن همراه می تواند تماس فوری یا فقط لذت بردن از موسیقی باشد. گوگل به این مورد استفاده پی برد و اندروید اتو (Android Auto) را توسعه داد تا تعامل راننده با تلفن را به حداقل برساند و همچنین ایمنی و امنیت راننده را در جاده تضمین کند. که کاربرد اندروید اتو (Android Auto) این است که کاربردی ترین برنامه های کاربر را بر روی صفحه نمایش خوردو بیاورد .
اندروید اتو(Android Auto) لیست گسترده ای از برنامه های کاربردی را ارائه می دهد که به راحتی در صفحه نمایش خودرو استفاده می شود. دسته بندی برنامه های زیر را می توان در اندروید اتو (Android Auto) ایجاد و نمایش داد :
- برنامه های مسیر یابی (Navigation apps) :
نرم افزار Google Maps به کاربر این امکان را می دهد تا مقصدها را تعیین کند و مسیرهای مختلف را انتخاب کرده و ترافیک زنده را مشاهده کنند. این دستگاه در زمان رانندگی با راهنمای صوتی به راننده کمک می کند و همچنین زمان رسیدن به مقصد را تخمین می زند. این برنامه همچنان در پس زمینه اجرا می شود حتی اگر کاربر به صفحه دیگر سوئیچ کند. علاوه بر این ، کاربران می توانند به مکان های دیگری در این برنامه مانند پارکینگ و محل پمپ بنزین ها ، رستوران ها و غیره داشته باشند .
- برنامه های پیام رسان (Messaging apps) :
پیام رسانی یا تماس با کسی یکی از خطرناک ترین کارها هنگام رانندگی است. برای رسیدگی به این مشکل ، اندروید اتو (Android Auto) برنامه های پیام رسان را ارائه می دهد که پیام ها یا اعلان ها را دریافت کرده و با استفاده از ویژگی تبدیل متن به گفتار آنها را با صدای بلند می خواند. کاربران هم همچنین می توانند پاسخ ها را از طریق ورودی صوتی در خودرو ارسال کنند. برای فعال کردن دستیار صوتی در اندروید اتو (Android Auto) ، می توانید دکمه “talk” را روی فرمان فشار دهید یا با گفتن “Ok Google” دستیار صوتی را فعال کنید.
- برنامه های رسانه ای (Media apps) :
این نوع برنامهها به کاربران اجازه میدهد تا هر نوع محتوای صوتی در ماشین اجرا کنند.
نکته : اندروید خودرو (Android Auto) فقط با تلفن های هوشمند دارای اندروید 6 (سطح API 23) یا بالاتر سازگار است.
کتابخانه های Jetpack دو گزینه برای توسعه برنامه های اندروید در خودروها ارائه می دهند ، یعنی اندروید اتو (Android Auto) و Android Automotive OS. برنامههای اندروید اتو (Android Auto) همراه با یک گوشی اندرویدی قادر به ارائه یک تجربه برنامه کاربردی است، از سوی دیگر، سیستمعامل Android Automotive OS یک سیستم سرگرمی مبتنی بر اندروید است که در وسایل نقلیه تعبیه شدهاست. با این کار، اتومبیل به یک دستگاه اندرویدی که از خود پشتیبانی میکند تبدیل میشود که میتواند برنامهها را مستقیماً بر روی صفحه خودرو اجرا کند.توسعه دهندگان هنگام ایجاد یک برنامه برای پوشش هر دو مورد از یک معماری در ایجاد برنامه استفاده می کند .
3. Emoji (شکلک) :
اگر از برنامه ای برای برقراری ارتباط بین افراد استفاده می کنید ، قطعاً ایموجی بخشی از آن برنامه خواهد بود . استاندارد یونیکد اغلب ایموجی های جدید را به صورت مرتب به کاراکتر های ذخیره شده ایموجی اضافه می کند ، بنابراین مهم است که کاربر بدون توجه به نسخه دستگاه اندروید بتواند آخرین ایموجی ها را ببیند. گوگل یک کتابخانه جدید با نام EmojiCompat به منظور مدیریت کاراکترهای ایموجی منتشر کرده است.
این کتابخانه به کاربر این اطمینان را می دهد که یک برنامه بدون توجه به نسخه سیستم عامل دستگاه دارای آخرین ایموجی ها به روز باشد. EmojiCompat با استفاده از CharSequence یک ایموجی را شناسایی می کند و در صورت لزوم آنها را با EmojiSpans جایگزین می کند تا اطمینان حاصل شود که فرستنده و گیرنده ایموجی ها را به طور دقیق مشاهده خواهند کرد.
کاربران باید مرتباً این وابستگی به کتابخانه را به روز کنند تا جدیدترین ایموجی ها را داشته باشند. اگر برنامه ای از کتابخانه EmojiCompat استفاده نکند ، کاربر به جای ایموجی یک کادر خالی با علامت صلیب (☒) می بیند. سازگاری این کتابخانه تا اندروید 4.4 (سطح API 19) است. برای نسخه سیستم عامل اندروید پایین تر از آن ، ایموجی دقیقاً مانند یک TextView معمولی نمایش داده می شود .
افزودن کتابخانه EmojiCompat داخل پروژه :
کد زیر را در فایل gradle اضافه کنید.
dependencies{
…..
…..
implementation “androidx.emoji:emoji:28.0.0”
}
و برای استفاده از ویجت های ایموجی در AppCompat باید کتابخانه AppCompat به قسمت وابستگی ها (dependencies) اضافه کنیم .
dependencies {
…..
…..
implementation“androidx.emoji:emojiappcompat:$version"
ویوها / ویجت های ایموجی:
Class | Widget |
android.support.text.emoji.widget.EmojiTextView | EmojiTextView |
android.support.text.emoji.widget.EmojiEditText | EmojiEditText |
android.support.text.emoji.widget.EmojiButton | EmojiButton |
android.support.text.emoji.widget.EmojiAppCompatTextView | EmojiAppCompatTextView |
android.support.text.emoji.widget.EmojiAppCompatEditText | EmojiAppCompatEditText |
android.support.text.emoji.widget.EmojiAppCompatButton | EmojiAppCompatButton |
4. فرگمنت (Fragment) :
کلاس فرگمنت اندروید به این بخش از Jetpack منتقل شده است. فرگمنت ها اجازه می دهند که رابط کاربری را به قسمت های مجزا تقسیم کرد که باعث ایجاد دسته بندی و قابلیت استفاده مجدد از آن ها در رابط کاربری ، اکتیویتی می شود .
بخشی از رابط کاربری به وسیله یک فرگمنت تعریف می شود و سپس درون یک اکتیویتی قرار می گیرد .هیچ فرگمنتی بدون اکتیویتی وجود ندارد .
گوگل با انتشار اندروید Jetpack برخی از ویژگی های پیشرفته در استفاده از فرگمنت را ارائه نمود .
Navigation , BottomNavigationView و ViewPager2 در کتابخانه Jetpack برای کار با فرگمنت به روش بسیار موثرتری طراحی شدهاند. علاوه بر این ، ادغام مناسب کلاس فرگمنت با کلاس lifecycle جزء معماری jetpack قرار گرفته است.
در زیر لیستی از ویژگی ها و امکانات جدیدی که توسط گوگل برای توسعه دهندگان اندروید اضافه شده است را می بینید :
A) اشتراک گذاری و ارتباط بین فرگمنت ها :
به منظور حفظ فرگمنت ها به صورت مستقل ، توسعه دهندگان کد را به گونه ای می نویسند که اجازه نمی دهد فرگمنت ها به طور مستقیم با فرگمنت های دیگر یا اکتیویتی میزبان خود ارتباط برقرار کنند. کتابخانه Jetpack فرگمنت دو گزینه را برای ایجاد ارتباط به نام Fragment Result API و ViewModel مشترک ارائه می دهد.
Fragment Rest API برای نتایج یکبار مصرف با داده هایی که می توانند در یک bundle قرار گیرند مناسب است. علاوه بر این ، در صورت نیاز به اشتراک گذاری داده های ثابت همراه با هر API سفارشی ، ترجیح داده می شود از ViewModel استفاده شود همچنین قادر به ذخیره و مدیریت داده های رابط کاربری می باشد توسعه دهندگان می توانند با توجه به نیاز برنامه بین دو رویکرد یکی را انتخاب کنند.
B) سازنده (Constructor) می تواند ID منبع Layout را نگه دارد :
AndroidX AppCompat 1.1.0 و Fragment 1.1.0 سازنده را قادر می سازد تا ID layout را به عنوان پارامتر در نظر بگیرد. با این کار ، کاهش قابل توجهی در تعداد متد های override شده در فرگمنت را مشاهده می کنید . در حال حاضر ، می توان inflater را به صورت دستی فراخوانی کرد تا ویو یک فرگمنت را بدون override کردن متد () onCreateView ساخت . این امر باعث می شود کلاس ها خوانا تر شوند.
class MyFragmentActivity : FragmentActivity(R.layout.my_fragment_activity)
class MyFragment : Fragment(R.layout.my_fragment)
C) مدیریت فرگمنت و کتابخانه Navigation :
همه وظایف مهم یک فرگمنت مانند افزودن ، حذف ، جایگزینی و ارسال مجدد آنها به پشته توسط کلاس FragmentManager انجام می شود.
برای رسیدگی به همه وظایف مربوط به Navigation ، Jetpack استفاده از کتابخانه Navigation را توصیه می کند.
فریم ورک این کتابخانه برخی از بهترین شیوه ها را برای توسعه دهندگان ارائه می دهد تا بتوانند به طور موثر با فرگمنت ، مدیر فرگمنت ها و قسمت پشته کار کنند. هر برنامه اندرویدی که دارای فرگمنت هایی در رابط کاربری اش است ، باید از FragmentManager در برخی از سطوح استفاده کند. با این حال ، توسعه دهندگان ممکن است هنگام استفاده از کتابخانه Jetpack Navigation مستقیماً با FragmentManager تعامل نداشته باشند.
D) FragmentFactory:
توسعه دهندگان اندروید همیشه این مسئله را با Fragment مطرح می کردند که هیچ محدوده ای برای استفاده از متد سازنده با آرگومان وجود ندارد.
به عنوان مثال ، توسعه دهندگان نمی توانند با استفاده از Dagger2 برای تزریق وابستگی ، متد سازنده فرگمنت را با تزریق حاشیه نویسی و آرگومان ها را مشخص کنند.
کتابخانه AndroidX که همراه با jetpack معرفی شدهاست، کلاسهای FragmentFactory ارائه میدهد که قادر به رسیدگی به این مسائل و مسئله مشابه مربوط به آفرینش فرگمنتها است.
ساختار این API ساده و کلی است که توسعه دهندگان را قادر می سازد تا نمونه فرگمنت را به روش سفارشی خود ایجاد کنند.
ساختار این API ساده و عمومی است که توسعه دهندگان را قادر می سازد تا نمونه فرگمنت را به روش سفارشی خود ایجاد کنند. برای نادیده گرفتن روش پیش فرض نمونه سازی Fragment ، باید FragmentFactory را در FragmentManager برنامه ثبت کنیم.
class MyFragmentFactory : FragmentFactory() {
override fun instantiate(classLoader: ClassLoader, className: String): Fragment {
// loadFragmentClass() method is called to acquire the Class object
val fragmentClass = loadFragmentClass(classLoader, className)
// use className or fragmentClass as an argument to define the
// preferred manner of instantiating the Fragment object
return super.instantiate(classLoader, className)
}
}
E) تست فرگمنت ها :
AndroidX Test توسط گوگل راه اندازی شده است تا بخش ضروری از Jetpack را تست کند. کتابخانه های موجود به همراه API های جدید و پشتیبانی کامل Kotlin از AndroidX Test راهی برای نوشتن تست های مناسب و مختصر فراهم می کند. کلاس FragmentScenario از کتابخانه AndroidX محیطی را برای تست بر روی فرگمنت ها را ایجاد می کند که شامل دو روش اصلی برای راه اندازی فرگمنت ها در یک تست است .
اولین روش ()launInContainer است که برای تست رابط کاربری یک فرگمنت استفاده می شود. روش دیگر راه () launch است که برای تست بدون رابط کاربری فرگمنت استفاده می شود. در برخی موارد ، فرگمنت ها وابستگی هایی دارند. برای ایجاد نسخه های تستی از این وابستگی ها ، باید یک FragmentFactory سفارشی را به روش های() launInContainer یا() launch ارائه دهید.
برای ایجاد نسخه های تستی این وابستگی توسعه دهندگان می توانند یکی از روش ها را انتخاب کرده و از تست های رابط کاربری برای بررسی اطلاعات مربوط به عناصر رابط کاربری فرگمنت استفاده کنند. برای استفاده از کلاس FragmentScenario ، باید فرگمنت تست فرگمنت را در فایل build.gradle در سطح برنامه تعریف کنید.
dependencies {
def fragment_version = “1.2.5”
debugImplementation “androidx.fragment:fragment-testing:$fragment_version”
}
F) FragmentContainerView :
AndroidX Fragment 1.2.0 ، FragmentContainerView را به ارمغان می آورد که از FrameLayout ارث بری می کند و Layout سفارشی را برای فرگمنت ها در برنامه های اندروید ارائه می دهد. این اثر به عنوان والد در فرگمنت به کار می رود تا بتوان با رفتار فرگمنت هماهنگ شده و در کارهایی مانند Fragment Transactions انعطاف پذیری ایجاد کنیم.
همچنین از ویژگی های <fragment> پشتیبانی می کند و مسائل مربوط به اعزام قسمت های داخلی پنجره را برطرف می کند. علاوه بر این ، این ظرف برخی از مسائل مربوط به انیمیشن مربوط به ترتیب فرگمنت ها را حل می کند ، مانند خروج از فرگمنت ها دیگر در بالای View ظاهر نمی شود.
5. Layout :
ساختار رابط کاربری مانند فعالیت یک برنامه که توسط Layout تعریف می شود . اشیاء View و ViewGroup را تعریف می کند. View و ViewGroup را می توان به دو صورت ایجاد کرد :
با اعلام عناصر رابط کابری در XML یا با نوشتن کد ، به صورت برنامه نویسی.
این بخش از Jetpack برخی از رایج ترین Layout ها مانند LinearLayout ، RelativeLayout و ConstraintLayout جدید را پوشش می دهد.
علاوه بر این ، اسناد رسمی Jetpack Layout راهنمایی هایی برای ایجاد لیستی از موارد با استفاده از RecyclerView و card با استفاده از CardView ارائه می دهد.
یک View برای کاربر قابل مشاهده است. EditView ، TextView و Button نمونه هایی از View هستند. از سوی دیگر ، ViewGroup یک شیء محتوایی است که ساختار طرح را برای View ها تعریف می کند و بنابراین نامرئی است.
نمونه هایی از ViewGroup عبارتند از LinearLayout ، RelativeLayout و ConstraintLayout.
6. Palette :
ارائه ترکیب رنگ مناسب نقش مهمی در افزایش تجربه کاربر دارد. بنابراین این یک جنبه مهم در طول فرایند توسعه برنامه است. توسعه دهندگان اغلب برنامه هایی را ایجاد می کنند که در آن عناصر رابط کاربری با توجه به زمان (روز و شب) رنگ خود را تغییر می دهند.
این نوع تمرین به کاربر احساس خوبی می دهد و تجربه ای همه جانبه را در حین استفاده از برنامه تضمین می کند. برای انجام این وظایف ، اندروید Jetpack یک کتابخانه پشتیبانی Palette جدید ارائه می دهد. این دستگاه قادر است مجموعه کوچکی از رنگها را از یک تصویر استخراج کند.
رنگ استخراج شده را در رابط کاربری برنامه را کنترل می کند و آیکون ها را بر اساس رنگ تصویر پس زمینه به روز می کند. طراحی متریال برنامه های اندرویدی دلیل محبوبیت استفاده پویا از رنگ است.
رنگ یا پالت استخراج شده دارای تن های پر جنب و جوش و خاموش تصویر است. همچنین شامل رنگ متن پیش زمینه برای اطمینان از حداکثر خوانایی است.
برای گنجاندن API Palette در پروژه ، فایل build.gradle در سطح برنامه را به روش زیر به روز کنید:
dependencies {
…..
…..
implementation ‘androidx.palette:palette:1.0.0’
}
پالت انتخابشده به توسعه دهندگان این امکان را میدهد که تعداد رنگهایی که میخواهند از یک منبع تصویر مشخص تولید کنند را انتخاب کنند. مقدار پیش فرض تعداد رنگ ها در پالت حاصل 16 رنگ است. با این حال ، می تواند تعداد را تا 24-32 افزایش یابد.
زمان لازم برای تولید پالت کامل با تعداد رنگها متناسب است.
هنگامی که پالت تولید می شود ، از یک نمونه برای دسترسی به آن رنگ ها استفاده می شود. هر پروفایل رنگی دارای یک سواچ مرتبط است که رنگ را در آن پالت برمی گرداند.
در زیر پروفایل های رنگی ایجاد شده توسط API پالت آورده شده است :
Profile | Swatch |
Light Vibrant | Palette.getLightVibrantSwatch() |
Vibrant | Palette.getVibrantSwatch() |
Dark Vibrant | Palette.getDarkVibrantSwatch() |
Light Muted | Palette.getLightMutedSwatch() |
Muted | Palette.getMutedSwatch() |
Dark Muted | Palette.getDarkMutedSwatch() |
7. TV (تلویزیون) :
jetpack چندین مولفه کلیدی برای کمک به توسعه دهندگان در ساخت برنامههای کاربردی برای تلویزیون های هوشمند اندروید پیشنهاد میکند . ساختار برنامه کاربردی تلویزیون اندروید همان است که برنامههای موبایل / تبلت دارند ، با این حال ، تفاوتهای بارزی وجود دارد . سختافزار و کنترلکنندههای یک تلویزیون بسیار متفاوت از دستگاههای تلفن همراه هستند . علاوه بر این ، سیستم navigation قرار است از طریق یک پد d بر روی یک صفحه تلویزیون جابجا شود ( بالا ، پایین ، چپ ، راست ) . jetpack برای پرداختن به این نگرانیها یک کتابخانه ای به نام Leanback ارائه داده است . این کتابخانه همچنین مساله جستجو و همچنین توصیه محتوا به کاربر را در تلویزیون اندروید حل میکند .
اضافه کردنDependency (وابستگی) کتابخانه leanback را می توان در فایل build.gradle برنامه اضافه کرد:
dependencies {
def leanback_version = “1.0.0”
implementation “androidx.leanback:leanback:$leanback_version”
}
8. Wear OS :
نسخه اندروید برای دستگاه های پوشیدنی Wear OS نام دارد. اندروید Jetpackشامل کتابخانه Wear UI است که توسعه دهندگان را قادر می سازد برنامه هایی بسازند که بتوانند رسانه ها را از ساعت پخش و کنترل کنند. یک برنامه کنترل غیر مستقل میتواند با استفاده از بخش واسط کاربر کتابخانه ایجاد شود. jetpack اطمینان میدهد که این رابط کاربر در تمام برنامهها بهینه و سازگار است. همچنین از ویژگیهای دستگاههای تلفن همراه مانند notifications و اقدامات گوگل پشتیبانی می کنید. توسعه دهندگان می توانند سه نوع سیستم تحت Wear OS توسعه دهند :
- Wear apps:
برنامه هایی که بر روی ساعت های هوشمند یا چرخ دنده ها اجرا می شوند. دستگاه از ویژگی هایی مانند سنسورها و GPU پشتیبانی می کند.
- Watch faces :
مخصوص طراحی های رنگی ، انیمیشن ها و اطلاعات زمینه ای است.
- Complication data providers (ارائه دهندگان داده های پیچیده) :
داده های سفارشی مانند متن ، تصاویر و غیره را برای صفحه ساعت استفاده می شود .
کتابخانهWear UI را می توان با افزودن وابستگی (dependency) به فایل build.gradle ماژول استفاده کرد:
dependencies {
…..
…..
compile ‘androidx.wear:wear:1.0.0’
}
دیدگاهتان را بنویسید