Affiliate links on Android Authority may earn us a commission.Learn more.
How to develop a simple Android Wear app
July 30, 2025
Hot Java Android Coding Bundle
If you are serious about coding you should checkout our Android Coding bundle course with 60+ Hours of Training.Get all 5 courses for just: $29$657[95% off]
Before we begin, please keep the following at the back of your mind. Wearable apps, even though they are very similar to apps built for handhelds, should be quite small in size and functionality. You do not want to attempt to replicate the entire functionality of your handset app on a wearable. Rather, you should look for ways to complement the handheld app using the wearable. Ideally, most operations should be performed on the phone, and the results sent to the wearable.

Preparation
Our app will be a simple Android app, that sends a notification from a phone to a paired Wear device, with a corresponding wearable app, with a single clickable button.
For this article, we assume you are using Android Studio. Android Studio is the de-facto standard for Android app development. To develop apps for wearables, you need to update your SDK tools to version 23.0.0 or higher, and your SDK with Android 4.4W.2 or higher.

You should then set up either an Android Wear Device or an Android Wear Emulator.
For an emulator,
(this must be done every time you connect/reconnect your handset)
For an Android Wear Device,
Create your Project
The complete source code for this tutorial is available ongithub, but you might want to create your own project to get a feel for the process. Android Studio provides wizards to help create a project, and they are the best way to setup your Android wearable project. Click File > New Project, and follow the instructions
The process issimilar to creating a phone/tablet project. Simply verify you select both “Phone and Tablet” and “Wear” in the “Form Factors” window.

When the wizard completes, Android Studio will have created a new project with two modules, mobile and wear. For each module, you may create activities, services, layouts and more. Remember, the smartphone app (mobile module) should do most of the work, like intensive processing and network communications, and then send a notification to the wearable.
“mobile” module
The mobile module is the same Android development you are used to. For our mobile module, we create a simple Activity, with an EditText field, and a Button. The text entered into the EditText gets sent to the Wear device as a notification, when the Button is tapped.
The layout is pretty straightforward:
The MainActivity is also pretty straightforward:
Notice that when building our Notification, we called the extend() method, providing a NotificationCompat.WearableExtender() object.
Running the mobile module
You run the mobile module the same way you run any other Android app. As long as you have it paired with a Wear device (emulator or real), running the project on your device will display notifications on your wearable.
“wear” module
At this point, you should be able to view notifications from your mobile device on your wear device. We, however, are not content with that, and are going to build and run an actual Wear app. Wear devices, generally have a far less screen estate than handhelds, and are usually round or rectangular. This brings it’s own set of layout challenges. True to type, Google has some excellent design guidelines and UI patterns for Android Wear developers. The Wearable UI Library is included in your project automatically when you use the Android Studio project wizard to create your wearable app. Confirm that it’s there, if not then add it to your wear build.gradle file:
If you created your project using the Android Studio Project Wizard, you will have an activity setup already for you with two different layout files for Round and Rectangular wear devices. The activity_wear.xml file is shown below:

Take note of the base widget. It is a WatchViewStub, which is a part of the Wearable UI library. You must declare the “app:” XML Namespace xmlns:app=”http://schemas.android.com/apk/res-auto” because the Wearable UI widgets declare their attributes using the “app:” namespace.Take special note of the app:roundLayout and app:rectLayout items. This specifies the layout file to load depending on the shape of the wearable screen. Nifty!
Both our round_activity_wear.xml and rect_activity_wear.xml files are quite similar, except for a few caveats. The widgets in round_activity_wear are centered vertically and horizontally, while for rect_activity, they are simply centered horizontally. Using WatchViewStub, you have the freedom to design your layout completely differently for round and rectangular screens.

round_activity_wear.xml
rect_activity_wear.xml
WearActivity extends android.app.Activity (note not AppCompatActivity), just like any normal Android smartphone or tablet Activity. We set an OnLayoutInflatedListener object on our WatchViewStub, which gets called after the WatchViewStub has determined if the wearable device is round or rectangle. You locate your widgets using findViewById() in the onLayoutInflated method of the OnLayoutInflatedListener. In our case, we instantiate the Button and DelayedConfirmationView, and then call showOnlyButton() to hide the DelayedConfirmationView and show only the Button.
Running the wear module
To run the wear module, select the wear run/debug configuration, and click the play button (or type Shift+F10). Since this is a debug build, you install directly to your wear device (or emulator). Make sure your device is connected (or a wear emulator is running) and select your device when prompted.
Deploying a release version
While you install your app directly unto a wearable during development, publishing and releasing an app for users is quite different. Your wearable app must be embedded in a handheld app, and it is automatically pushed onto wearables that are connected with the user’s handheld. Visit the Android Developer page onpackaging wearable appsfor more information on properly packaging your wearable app.
As usual, the complete code is available ongithubfor use as you see fit. Happy coding.
Thank you for being part of our community. Read ourComment Policybefore posting.