$30 off During Our Annual Pro Sale. View Details »

7 Tips for Wear OS Apps Development

7 Tips for Wear OS Apps Development

This is a slide, "7 Tips for Wear OS Apps Development" on Shibuya.apk 44.
#shibuya_apk #wearos #androiddev #androidjp

Kenichi Kambara

September 01, 2023
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. 7 Tips for Wear OS Apps Development
    Shibuya.apk #44
    2023.09.01


    Kenichi Kambara (@korodroid)

    View Slide

  2. 2
    About me
    Kenichi Kambara (X:@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

    View Slide

  3. Recent Activity (Overseas)
    Droidcon SF 2023@San Francisco (Speech)

    View Slide

  4. 4
    Asked some questions to Studio Bot, but…

    View Slide

  5. Wear OS ΞϓϦ։ൃೖ໳ with Jetpack Compose
    7 Tips for Wear OS Apps Development

    View Slide

  6. Tips1: Differences UI & UX

    Input components
    Progress Indicator Navigation
    Device Shapes

    View Slide


  7. Wear OS

    (androidx.wear.*)
    Mobile

    (androidx.*)
    androidx.wear.compose:compose-material
    androidx.compose.foundation:foundation
    androidx.wear.compose:compose-foundation
    androidx.compose.material:material
    androidx.navigation:navigation-compose
    androidx.compose.foundation:foundation
    ref: https://developer.android.com/training/wearables/compose
    Material
    androidx.wear.compose:compose-navigation
    Navigation
    Foundation
    Tips1: Differences UI & UX

    View Slide

  8. 8
    Tips2: How to start development?

    View Slide

  9. Tips3: Preview Feature

    View Slide

  10. Tips4: Animation Preview

    Supports a number of additional Compose APIs [Android Studio: Giraffe]

    View Slide


  11. TimeText Vignette PositionIndicator
    Tips5: Accelerating Development 1/2

    View Slide

  12. Scaffold for Wear OS apps

    @Composable
    fun ContactListScreenV2() {
    val listState = rememberScalingLazyListState()
    Scaffold(
    timeText = {
    if (!listState.isScrollInProgress) {
    TimeText()
    }
    },
    vignette = {
    Vignette(
    vignettePosition = VignettePosition.TopAndBottom
    )
    },
    positionIndicator = {
    PositionIndicator(
    scalingLazyListState = listState,
    )
    }
    ) {
    ScalingLazyColumn(state = listState) {
    // …
    }

    View Slide

  13. Tips6: Accelerating Development 2/2

    Live Edit to update composable in real time [Android Studio: Giraffe]

    View Slide

  14. Live Edit in real time

    Live Edit to update composable in real time [Android Studio: Giraffe]

    View Slide


  15. Noti
    fi
    cation Complication
    A little complicated to test…
    Tile

    App
    Tips7: Accelerating Test

    View Slide

  16. Implementing Complication/Tile

    Complication
    Tile

    View Slide

  17. Time-consuming…

    Complication Tile

    View Slide

  18. Easier Testing 1/2

    View Slide


  19. Easier Testing 2/2

    View Slide


  20. One more topic
    Wear OS app quality(https://developer.android.com/docs/quality-guidelines/wear-app-quality)

    View Slide

  21. Reference

    Code (My Codelab)

    bit.ly/3UWME7M

    Slide

    @korodroid

    View Slide


  22. Please let me know if you have any requests
    such as technical speeches, technical writings and so on.
    Facebook:http://fb.com/kanbara.kenichi
    X:@korodroid


    LinkedIn:http://www.linkedin.com/in/korodroid
    Thank you so much

    View Slide