Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wear OS Latest Topic
& Improving Wear OS App Usability

Wear OS Latest Topic
& Improving Wear OS App Usability

This is the slide, "Wear OS Latest Topic
& Improving Wear OS App Usability" on potatotips 82.
#wearos #android #potatotips

Kenichi Kambara

June 20, 2023
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. 2023.06.20 ਆݪ ݈Ұ (@korodroid) Wear OS Latest Topic 
 &

    Improving Wear OS App Usability potatotips #82
  2. 2 About me Kenichi Kambara (@korodroid) •Mobile App Development •Speeches

    (e.g. 15 Int’l Confs.) •Writings (e.g. 8 Dev Books) •Principal Evangelist at NTT TechnoCross •[Private] iplatform.org
  3. Wear OS Overview  Noti fi cation Complication Based on

    Android & optimized for the wrist Tile  App
  4. Wear OS Topics from I/O 2023  Watch Face Format

    Watch Face Studio Tile (Animation)
  5. Adding a Tile feature  Noti fi cation Complication Provide

    easier access to this app Tile  App +
  6. Implementing a Tile feature  class MainTileService : CoroutinesTileService() {

    // Abbreviates some procedures, such as reading data from the repository
 override suspend fun resourcesRequest( requestParams: RequestBuilders.ResourcesRequest ): ResourceBuilders.Resources { return ResourceBuilders.Resources.Builder().setVersion(RESOURCES_VERSION).build() } override suspend fun tileRequest( requestParams: RequestBuilders.TileRequest ): TileBuilders.Tile { val singleTileTimeline = TimelineBuilders.Timeline.Builder().addTimelineEntry( TimelineBuilders.TimelineEntry.Builder().setLayout( LayoutElementBuilders.Layout.Builder().setRoot(tileLayout(this)).build() ).build() ).build() return TileBuilders.Tile.Builder().setResourcesVersion(RESOURCES_VERSION) .setTimeline(singleTileTimeline).build() } } a Kotlin coroutine-friendly wrapper 
 from the Horologist Tiles library <wear>/MainTileService.kt
  7. Adding a Tile de fi nition  <application android:allowBackup="true" android:icon="@mipmap/ic_launcher"

    android:label="@string/app_name" android:supportsRtl="true" android:theme="@android:style/Theme.DeviceDefault"> 
 …
 <service android:name=".tile.MainTileService" android:exported="true" android:label="@string/tile_label" android:permission="com.google.android.wearable.permission.BIND_TILE_PROVIDER"> <intent-filter> <action android:name="androidx.wear.tiles.action.BIND_TILE_PROVIDER" /> </intent-filter> <meta-data android:name="androidx.wear.tiles.PREVIEW" android:resource="@drawable/tile_preview" /> </service> </application> <wear>/AndroidManifest.xml
  8.  Please let me know if you have any requests

    
 such as technical speeches, technical writings and so on. Facebook:http://fb.com/kanbara.kenichi Twitter:@korodroid LinkedIn:http://www.linkedin.com/in/korodroid Thank you so much