Creating customized Tiles on Put on OS by Google with the Jetpack Tiles library

Posted by Jolanda Verhoef, Developer Relations Engineer

Wear OS header

We introduced Tiles in 2019, and since then, Tiles have turn out to be one of the useful and helpful options on Put on OS by Google smartwatches. They’re quick to entry, handy, and designed to supply customers with swipeable entry to the issues they should know and get completed proper from their wrist. This additionally offers customers management over what info and actions they wish to see.

Right this moment, we’re excited to announce that the Jetpack Tiles library is in alpha. This library allows builders to create customized Tiles on Put on OS smartwatches. These customized Tiles will turn out to be obtainable to customers later this Spring once we roll out the corresponding Put on OS platform replace.

Wear OS interface

Tiles might be designed for a lot of use circumstances, like monitoring the person’s day by day exercise progress, quick-starting a exercise, beginning a just lately performed tune, or sending a message to a favourite contact. Whereas apps might be immersive, Tiles are fast-loading and give attention to the person’s rapid wants. If the person would love extra info, Tiles might be tapped to open a associated app on the watch or cellphone for a deeper expertise.

Tile designs from Figma

Getting began

Tiles are constructed utilizing Android Studio, as a part of your Put on OS utility. Begin by including the Put on OS Tiles dependencies:

dependencies {
  implementation "androidx.put on:wear-tiles:1.0.0-alpha01"
  debugImplementation "androidx.put on:wear-tiles-renderer:1.0.0-alpha01"
}

The primary dependency consists of the library you could create a Tile, whereas the second dependency permits you to preview the Tile in an exercise.

Subsequent, present the data to render the Tile utilizing the TileProviderService:

class MyTileService : TileProviderService() {
  override enjoyable onTileRequest(requestParams: RequestReaders.TileRequest) =
    Futures.immediateFuture(Tile.builder()
      .setResourcesVersion("1")
      .setTimeline(Timeline.builder().addTimelineEntry(
         // For extra details about timelines, see the docs
         TimelineEntry.builder().setLayout(
           Structure.builder().setRoot(
             Textual content.builder().setText("Whats up world!")
           )
         )
      )
    ).construct())

  override enjoyable onResourcesRequest(requestParams: ResourcesRequest) =
    Futures.immediateFuture(Sources.builder()
      .setVersion("1")
      .construct()
    )
}

There are two necessary components to this code:

  • onTileRequest() creates your Tile format. That is the place most of your code goes. You need to use a number of TimelineEntry cases to render totally different layouts for different points in time.
  • onResourcesRequest() passes any sources wanted to render your Tile. In case you resolve so as to add any graphics, embrace them right here.

Create a easy exercise to preview your Tile. Add this exercise in src/debug as an alternative of src/essential, as this exercise is barely used for debugging/previewing functions.

class MainActivity : ComponentActivity() {
  override enjoyable onCreate(savedInstanceState: Bundle?) {
    tremendous.onCreate(savedInstanceState)
    setContentView(R.format.activity_main)
    val rootLayout = findViewById<FrameLayout>(R.id.tile_container)
    TileManager(
      context = this,
      element = ComponentName(this, MyTileService::class.java),
      parentView = rootLayout
    ).create()
  }
}

Now you’re able to publish your Tile. For extra info on how to do this, and to be taught extra about Tiles, learn our new guide and try our sample Tiles to see them in motion.

The Jetpack Tiles library is in alpha, and we would like your feedback to assist us enhance the API. Joyful coding!

Recent Articles

Electrician Salisbury: The Importance of Regular Electrical Maintenance

Regular electrical maintenance plays a vital role in maintaining the safety and efficiency of your home.

Function Venues Adelaide: From Historic Charm to Modern Elegance

With an abundance of options that accommodate a variety of occasions, Adelaide's function venues are particularly remarkable. Adelaide, the...

Sports Physio Adelaide: The Benefits of Sports Physio for Adelaide Athletes

Sports physiotherapy can help athletes achieve performance goals and enjoy a long, healthy sporting career. Undeniably,sports physio in Adelaidehas...

Skip Hire Adelaide: A Complete Guide to Choosing the Right Size

Choosing the correct skip size entails evaluating your waste disposal needs, estimating the amount of waste, and understanding the different skip sizes...

Bathroom Tiles Adelaide: Transforming Your Bathroom with the Top Tile Trends

The right bathroom tiles for your Adelaide home can considerably enhance the overall look and feel of your bathroom.

Related Stories

Stay on op - Ge the daily news in your inbox