این راهنما ویژگیهای مختلف کتابخانه برنامه خودرو را که میتوانید برای پیادهسازی عملکرد برنامه نقطه مورد علاقه خود (POI) استفاده کنید، توضیح میدهد.
پشتیبانی از دسته را در مانیفست خود اعلام کنید
برنامه شما باید دسته برنامه ماشین androidx.car.app.category.POI
را در فیلتر هدف CarAppService
خود اعلام کند.
مثال زیر نحوه اعلام دسته برنامه را نشان می دهد:
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.POI"/>
</intent-filter>
</service>
...
<application>
به الگوهای نقشه دسترسی داشته باشید
برنامههای POI میتوانند به PlaceListMapTemplate
و MapWithContentTemplate
دسترسی داشته باشند.
PlaceListMapTemplate
به طور خاص برای نشان دادن لیستی از POI ها در کنار نقشه ای که توسط میزبان ارائه می شود طراحی شده است.
MapWithContentTemplate
می تواند برای نمایش لیست ها و انواع دیگر محتوا در کنار نقشه ای که توسط برنامه شما ارائه می شود استفاده شود. برای جزئیات بیشتر در مورد استفاده از این الگو به Draw maps مراجعه کنید.
برای دسترسی به این الگوها، برنامه شما باید مجوز androidx.car.app.MAP_TEMPLATES
را در فایل AndroidManifest.xml
خود اعلام کند:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
محتوای PlaceListMapTemplate را بازخوانی کنید
میتوانید به رانندگان اجازه دهید هنگام مرور فهرست مکانهای ساختهشده با PlaceListMapTemplate
، محتوا را با ضربه زدن یک دکمه بهروزرسانی کنند. متد onContentRefreshRequested
رابط OnContentRefreshListener
را پیاده سازی کنید و از PlaceListMapTemplate.Builder.setOnContentRefreshListener
برای تنظیم شنونده روی الگو برای فعال کردن بازخوانی لیست استفاده کنید.
قطعه زیر نحوه تنظیم شنونده در قالب را نشان می دهد:
کاتلین
PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate() } .build()
جاوا
new PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener(() -> { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate(); }) .build();
دکمه refresh فقط در صورتی در سربرگ PlaceListMapTemplate
نشان داده می شود که شنونده مقداری داشته باشد.
هنگامی که کاربر روی دکمه refresh کلیک می کند، روش onContentRefreshRequested
پیاده سازی OnContentRefreshListener
شما فراخوانی می شود. در onContentRefreshRequested
، روش Screen.invalidate
را فراخوانی کنید. سپس میزبان مجدداً با روش Screen.onGetTemplate
برنامه شما تماس می گیرد تا الگو را با محتوای تازه شده بازیابی کند. برای اطلاعات بیشتر در مورد الگوهای به روز رسانی، به Refresh the content of a template مراجعه کنید. تا زمانی که الگوی بعدی که توسط onGetTemplate
برگردانده میشود از همان نوع باشد، بهعنوان یک تازهسازی محسوب میشود و در سهمیه الگو به حساب نمیآید.
با استفاده از App Actions با Google Assistant یکپارچه شوید
برنامه POI خود را با استفاده از «دستیار» با صدا فعال کنید تا به کاربران امکان دهد با پرسیدن مواردی مانند «Hey Google، ایستگاههای شارژ اطراف را در ExampleApp پیدا کن»، نقاط مورد علاقه خود را جستجو کنند. برای دستورالعملهای دقیق، به App Actions for Cars مراجعه کنید.