从开发者的角度来看,Google 的 Wear OS 是绝对的主流和首选,因为它拥有:

- 统一的开发框架:使用 Android Studio 和熟悉的 Java/Kotlin 语言。
- 庞大的用户基础:覆盖了 Fossil、Mobvoi、三星(部分型号)、华硕等众多品牌的设备。
- 活跃的社区和官方支持:Google 提供了全面的文档、工具和示例。
- Google Play 商店:可以方便地分发和更新应用。
我将主要围绕 Wear OS 来为你详细讲解整个开发流程。
核心概念:Wear OS 开发与手机 App 开发的区别
Wear OS 应用本质上是一个运行在手表上的 Android App,但它有自己独特的 UI/UX 设计原则和 API。
-
UI/UX 设计原则:
- 简洁至上:手表屏幕小,交互时间短,界面必须一目了然,操作要快速。
- 圆形优先:大部分 Wear OS 设备是圆形表盘,UI 布局需要适配圆形。
- 语音和手势:除了触摸,语音交互(Google Assistant)和手势(如手腕轻抬、旋转表圈)是核心交互方式。
- 通知是关键:Wear OS 的一个重要价值在于将手机通知实时、优雅地展示在手腕上。
- 卡片式界面:Wear OS 广泛使用
WearableRecyclerView和WearableLinearLayoutManager来创建可以上下滚动的卡片列表。
-
通信方式:
(图片来源网络,侵删)- 手持应用:一个完整的 Wear OS 解决方案包含两个 App:
- 手持应用:安装在手机上,负责处理复杂逻辑、网络请求和数据处理。
- 手表应用:安装在手表上,负责展示数据、响应用户交互和显示通知。
- 数据同步:手机和手表应用之间通过 Google Play Services 提供的 Data Layer API 进行通信,可以同步数据、发送消息和传递流式数据。
- 手持应用:一个完整的 Wear OS 解决方案包含两个 App:
开发环境搭建
这是开始的第一步,确保你的电脑上安装了正确的工具。
-
安装 Android Studio:
- 从 Android Studio 官网 下载并安装最新版本,Android Studio 是官方推荐的开发 IDE。
-
安装 Wear OS 模拟器:
- 在 Android Studio 中,进入
Tools->SDK Manager。 - 切换到
SDK Platforms标签页,勾选Android 13 (Tiramisu)或更高版本的 API 级别(推荐API 33或更高)。 - 切换到
SDK Tools标签页,勾选Android SDK Build-Tools、Android SDK Platform-Tools和Intel x86 Emulator Accelerator (HAXM installer)。 - 点击
Apply安装。 - 安装完成后,在 Android Studio 右上角的设备选择器中,点击
Create Device。 - 选择
Wear标签页,选择一个 Wear OS 圆形设备(如Wear OS Pixel Watch),然后点击Next。 - 在
System Image选择界面,选择一个带Google Play的系统镜像(Wear OS > API 33 > Wear OS API 33 with Google Play),然后点击Download下载。 - 下载完成后,点击
Finish创建模拟器,现在你就可以在模拟器上运行和调试你的 Wear OS 应用了。
- 在 Android Studio 中,进入
创建你的第一个 Wear OS 项目
有两种主要的方式来创建项目:

从头创建一个 Wear OS 项目
- 在 Android Studio 欢迎界面,选择
New Project。 - 选择
Wear OS模板,然后点击Next。 - 选择
Empty Activity,点击Next。 - 配置你的项目:
- Name: 你的应用名称。
- Package name: 你的包名。
- Save location: 项目保存路径。
- Language: 选择
Kotlin(现代、推荐)或Java。 - Minimum SDK: 选择
API 26 (Android 8.0)或更高。
- 点击
Finish,Android Studio 会为你创建一个包含基本布局和代码的项目。
创建一个与手机 App 关联的项目(推荐)
这是最常见和最实用的方式,因为它能同时生成手机端和手表端的代码。
- 在 Android Studio 欢迎界面,选择
New Project。 - 选择
Wear OS模板,然后点击Next。 - 选择
Watch Face或Wear OS App with companion phone/tablet App,点击Next。 - 配置项目,与方式一类似,但这里你会看到更多选项来配置手机和手表模块。
- 点击
Finish,Android Studio 会创建一个包含wearApp(手表模块)和phoneApp(手机模块)的 Gradle 项目。
核心开发组件
UI 开发
-
布局文件:位于
res/layout/目录下,除了标准的 Android 布局(如LinearLayout,ConstraintLayout),Wear OS 还提供了专门的组件:WearableRecyclerView:用于创建可滚动的卡片列表,是 Wear OS 应用的核心 UI 组件。BoxInsetLayout:帮助你的布局在圆形和方形屏幕上都能正确显示,它会根据屏幕形状自动为子视图添加内边距。WearableRecyclerView.LayoutManager:必须使用WearableLinearLayoutManager来管理WearableRecyclerView,它提供了圆形滚动等优化效果。
-
Wear OS UI 库:
- 在
build.gradle(Module: app) 文件中添加依赖:implementation 'com.google.android.wearable:wearable:2.9.0'
- 这个库提供了
WearableRecyclerView,WearableLinearLayoutManager等组件。
- 在
-
列表项布局:为
WearableRecyclerView的每个子项创建布局,通常是一个卡片样式。
通知
这是 Wear OS 开发的重中之重,Wear OS 的通知非常强大和美观。
-
手机 App 发送通知:在手机 App 的
NotificationCompat.Builder中,添加一个 Wear OS 扩展。val notification = NotificationCompat.Builder(this, "your_channel_id") .setSmallIcon(R.drawable.ic_notification) .setContentTitle("New Message") .setContentText("Hello from your phone!") .extend( // 添加 Wear OS 特定的样式 NotificationCompat.WearableExtender() .setHintDisplayActionInline(true) // 允许在通知上直接操作 .setCustomSize(1) // 自定义大小 .addAction( NotificationCompat.Action.Builder( R.drawable.ic_reply, "Reply", // 这里可以设置一个 PendingIntent 来处理回复 ).build() ) ) .build() NotificationManagerCompat.from(this).notify(notificationId, notification) -
手表 App 处理通知:当用户与手表上的通知交互时(例如点击 "Reply" 按钮),系统会发送一个
Wearable Data Layer消息到手表 App,你的手表 App 需要设置一个MessageClient监听器来接收并处理这些交互。
数据层通信
这是连接手机 App 和手表 App 的桥梁。
-
DataItem:用于同步少量、结构化的数据,同步用户的健康目标、天气信息等,数据会自动在配对的设备间同步。
- 手机端发送:
val dataClient = Wearable.getDataClient(this) val putDataRequest = PutDataRequest.create("/path/to/your/data") putDataRequest.setData("Your data here".toByteArray()) dataClient.putDataItem(putDataRequest) - 手表端监听:
val dataClient = Wearable.getDataClient(this) dataClient.addListener { dataEventBuffer -> // 处理接收到的数据 }
- 手机端发送:
-
MessageClient:用于发送即时、请求-响应式的消息,手表 App 请求手机 App 获取最新的数据。
- 发送方:
val messageClient = Wearable.getMessageClient(this) messageClient.sendMessage(nodeId, "/path/to/message", "Hello".toByteArray())
- 接收方:
val messageClient = Wearable.getMessageClient(this) messageClient.addListener { messageEvent -> val message = String(messageEvent.data) // 处理消息 }
- 发送方:
-
StreamResource:用于传输大量数据,如图片或文件流。
实战步骤:一个简单的“消息传递”示例
目标:在手机 App 中输入一段文字,点击发送,显示在手表 App 上。
-
创建项目:选择
Wear OS App with companion phone/tablet App。 -
手机端开发:
-
在
res/layout/activity_main.xml中添加一个EditText和一个Button。 -
在
MainActivity.kt中,为按钮添加点击事件监听器。 -
在点击事件中,获取
EditText的文本,然后通过MessageClient发送到手表。// In Phone MainActivity.kt val messageClient = Wearable.getMessageClient(this) binding.sendButton.setOnClickListener { val message = binding.messageEditText.text.toString() // 获取已连接的设备节点 ID TaskApi.getConnectedNodes(this) .addOnSuccessListener { nodes -> for (node in nodes) { messageClient.sendMessage(node.id, "/message_path", message.toByteArray()) } } }
-
-
手表端开发:
-
在
res/layout/activity_main.xml中,添加一个TextView来显示消息。 -
在
MainActivity.kt中,设置MessageClient的监听器来接收来自手机的消息,并更新TextView的内容。// In Wear MainActivity.kt val messageClient = Wearable.getMessageClient(this) val receivedTextView = findViewById<TextView>(R.id.receivedTextView) messageClient.addListener { messageEvent -> if (messageEvent.path == "/message_path") { val message = String(messageEvent.data) runOnUiThread { receivedTextView.text = message } } }
-
-
运行和调试:
- 同时运行手机 App 和手表 App(可以是模拟器,也可以是真实的设备)。
- 确保手机和手表通过蓝牙配对,并且开启了蓝牙和 Wi-Fi。
- 在手机上输入文字并发送,你应该能在手表上看到文字显示出来。
发布到 Google Play Store
当你完成应用开发后,可以将其发布到 Google Play 商店。
- 生成签名密钥:和 Android App 一样,你需要一个签名密钥来对 APK 进行签名。
- 构建 APK/AAB:在 Android Studio 中,使用
Build->Generate Signed Bundle / APK来生成发布版本的 App Bundle (.aab)。 - 创建应用:登录 Google Play Console,创建一个新的应用,选择 "Wear OS" 作为设备类型。
- 上传 AAB:上传你构建好的
.aab文件。 - 填写商店信息:应用名称、描述、截图、图标等,特别注意为手表应用提供高质量的圆形图标。
- 内容分级:回答一些关于应用内容的问题。
- 发布:提交审核,审核通过后即可发布。
学习资源推荐
- 官方文档:Wear OS 开发者官网 - 这是最权威、最全面的资源。
- Codelabs:Google 提供了很多动手实践的教程,Building a Wear OS App。
- GitHub 示例:GoogleSamples/android-WearOS-Samples - 包含了大量高质量的示例代码,覆盖了通知、数据层、传感器等各个方面。
- 博客和社区:关注 Google 的官方 Android 开发者博客,以及 Stack Overflow 上的相关标签。
智能手表 Android 开发是一个充满潜力的领域,核心要点是:
- 环境:安装 Android Studio 和 Wear OS 模拟器。
- 项目:优先选择创建带手机伴侣的 Wear OS 项目。
- UI:使用
WearableRecyclerView和BoxInsetLayout,遵循简洁、圆形优先的原则。 - 通信:熟练使用 Data Layer API (
DataItem,MessageClient) 来连接手机和手表。 - 通知:充分利用 Wear OS 强大的通知扩展功能。
- 实践:从简单的示例开始,逐步构建复杂的应用。
祝你开发顺利!
