1. 创建Android Wear 项目,运行

下载Android Wear SDK

下载穿戴设备SDK需要使用SDK Manager来进行下载,打开Android Studio后,点击工具栏上的 图标,打开SDK Manager。勾选需要下载的包,点击下载即可。SDK更新建议使用这种[方法更新](()或者直接百度 “SDK更新”,下载速度很快。

注意:如果后期SDK推出更高版本,建议下载最高版的前一个版本。既保证了使用新技术又可以避免最新版本带来的问题

创建设备模拟器

连接手持设备与穿戴设备模拟器到开发环境

由于Android Wear设备是没有USB接口的,而且很多功能必须依赖手机才能实现,如果要对穿戴设备设备进行开发调试的话,就必须要通过连接手机才能进行进行。连接穿戴设备模拟器的具体步骤如下:

1. 在手机上安装Google Play,从Google Play上下载Android Wear应用,安装到手机。

Android Wear 是Google推出的,专门用于通过蓝牙连接 AndroidWear设备的应用。

2. 通过USB连接手机到开发环境。

3. 设置 AVD的通信端口到 连接的手机上,且每次连接手机都要重新设置。

adb -d forward tcp:5601 tcp:5601

4. 打开手机上的AndroidWear APP,连接手机端模拟器。

具体的连接模式,如下图所示:

注意:由于目前国内不能使用Google服务,所以手机上大多没有安装GooglePlay。如果要安装GooglePlay,需要将手机Root后,通过”谷歌安装器”来安装GooglePlay,或者通过安装第三方Recovery之后再把相应的zip包刷进去。具体的操作需要读者自己来解决,因为每一款手机的安装操作都可能不太一样。GooglePlay安装后,需要登录Google服务器进行下载操作,但是目前Google网站被墙,建议使用 fqroute 翻墙后再登录 GooglePlay,下载Android Wear 。如果在GooglePlay上找不到Android Wear ,可以到国内的软件市场下载,目前只有360安全市场可以下载。但是需要注意,Android Wear 是依赖GooglePlay的,所以只安装Android Wear 是不行的。

如果开发者持有穿戴设备设备,同样可以通过蓝牙来进行调试。主要步骤如下:

1. 打开手机的USB调试

2. 在穿戴设备启动蓝牙调试(Android Wear 系统界面目前不支持中文)

a) 点击屏幕,打开 Wear Menu

b) 滑动到底部,点击 Settings

c) 滑动到底部,如果没Developer Options,点击About,多次点击 Build number,开启开发者模式

d) 右划回到上一界面,点击 Developer Options

e) 开启 Debug over Bluetooth,ADB debugging

3. 启动手机的AndroidWear应用,点击右上角的设置图标,打开设置

4. 在 Settings 界面底部,勾选 Debug over Bluetooth后,会有提示

Host: disconnected    //主机 未连接

Target: connected     //Android Wear 已连接

5. 手机通过USB连接电脑,执行命名

adb forward tcp:4444 localabstract:/adb-hub

adb connect localhost:4444

6. 在手机的AndroidWear应用上,可以看到连接状态已经变为

Host: connected

Target: connected

创建Android Wear项目

AndroidWear 应用程序直接在穿戴设备设备上运行,可以访问其上的传感器与GPU。这些应用程序与其他设备的程序一样使用Android SDK开发,但是在UI设计商上、使用的功能上有很大的区别。以下是穿戴设备应用程序与手持设备应用程序的最大区别:

1. 系统执行超时时间。如果穿戴设备应用展示了一个Activity,并且用户没有与Activity进行交互,设备就会进入睡眠。当设备被唤醒,

穿戴设备显示的是 Home界面而不是 Activity界面。如果需要持续的显示一些内容,可以创建一个通知在Context Stream显示。

2. 穿戴设备应用相对手持设备应用来 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 说,安装包体积较小,功能较少。他们仅仅显示一些主要的UI界面,相当于是手持设备APP的子集。

通常,应该尽可能的将执行操作的功能放在手持设备应用上,然后返回操作的结果到 穿戴设备应用。

3. 用户不能直接下载穿戴设备应用,而是要将穿戴设备应用绑定到手持设备应用上。当用户安装手持设备应用,系统会

自动安装穿戴设备应用到穿戴设备。如果是开发调试,可以直接安装穿戴设备应用。

4. 穿戴设备应用支持大多数的API,但是,不支持以下API:

android.webkit; android.print; android.app.back; android.appwidget; android.hardware.usb;

一个包含穿戴设备应用的组合手持设备应用同样需要发布到 Googleplay。Android Wear不支持 GooglePlay ,所以用户下载组合手持设备应用,会自动同步 穿戴设备应用到穿戴设备设备上。手持设备应用可以用来做繁重计算的操作、网络操作、或者其他操作,最后将结果返回到穿戴设备应用上。

创建穿戴设备应用项目与普通Android项目一样,运行AndroidStudio后点击start a new Android Stuidio project,然后会打开创建应用的向导,一步步next完成即可。但是需要注意,创建时同时勾选 Phone and Tablet与Wear,如图:

当创建操作完成后,AndroidStudio创建一个新的项目包含2个模块,mobile 与wear如图 24.11。现在的这个项目就包含穿戴设备与手持设备的APP,可以创建 Activity、Service、自定义布局、等等。在手持设备,主要用来做大部分的繁重操作,例如 网络通信、进程间通信、大量的用户交互等。当这些操作完成,可以使用Notification或同步数据到穿戴设备上。

在开发过程中,可以像以前一样,直接安装应用到穿戴设备,使用 adb install 或者 AndroidStudio上的Play按钮。当项目完成、准备发布应用给用户,应该将穿戴设备应用嵌入到手持设备应用。当用户在GooglePlay上下载、安装应用后,连接手机的穿戴设备设备会自动安装穿戴设备应用。

注意:在平常开发中使用的是 Debug 签名,穿戴设备应用不会自动安装到手表上,只有通过签名后才可以自动安装。点击Studio的菜单 Build,选择Generate Signed APK…进行签名。

运行后的效果如图所示,至此,开发环境就搭建好了。

手持设备与穿戴设备的通知同步

一个Android的手持设备(平板或手机)与AndroidWear设备连接后,手持设备会自动将通知发送到穿戴设备上。通知会以卡片的形式显示在穿戴设备的ContextStream上。然而,为了给用户最好的体验,开发者应该添加穿戴设备特定的功能到通知上。从以下几点来看下如何同时为穿戴设备与手持设备创建通知。

  1. 创建通知

  2. 支持语音输入的通知

  3. 添加多页面到通知

  4. 堆叠通知

创建通知

使用NotificationCompat.Builder来创建一个可以往手持设备与穿戴设备同时发出的通知。当使用这个类创建的通知,系统会自动的显示通知在不同的平台。使用NotificationCompat.Builder 类需要在 mobile 的 build.gradle文件中加上一行代码来引用 v4包,如下所示。

compile ‘com.android.support:support-v4:21.0.3’

创建、显示的方式与之前Android中的方式无异,具体代码如下:

NotificationCompat.Builder builder = new

NotificationCompat.Builder(this);

builder.setSmallIcon(R.drawable.ic_launcher);

builder.setContentTitle(“标题”);

builder.setContentText(“内容”);

Intent i = new Intent();

i.setClass(this, ReplayActivity.class);

PendingIntent intent =

PendingIntent.getActivity(MainActivity.this, 0, i,

PendingIntent.FLAG_UPDATE_CURRENT);

builder.setContentIntent(intent);

NotificationManagerCompat mgr =

NotificationManagerCompat.from(this);

mgr.notify((int)(Math.random()*1000), builder.build());

当通知显示在手持设备上时,同时也会显示在穿戴设备上。在穿戴设备上向右滑动的时候,就会取消通知显示,同时,在手持设备上也会取消通知显示。在穿戴设备上左划,就会显示 ‘Open on phone’,点击后,则手持设备端会打开PendingIntent 所对应的组件,如下图所示

除了通过 setContentIntent() 定义主要的操作之外,还可以使用addAction()来添加其他的操作。在mgr.notify() 之前加入以下代码:

Intent actionIntent = new Intent();

i.setClass(this, ReplayActivity.class);

PendingIntent actionPendingIntent =

PendingIntent.getActivity(MainActivity.this, 0, i,

PendingIntent.FLAG_UPDATE_CURRENT);

//添加ActionButton

//参数分别为:1 图标;2 文字;3 点击跳转界面

builder.addAction(R.drawable.ic_launcher, “ActionButton”,

actionPendingIntent);

在手持设备上,Action会以一个附加按钮的形式显示在Notification 上(展开通知可以看到),在穿戴设备上,当用户左划的划的时候,就能看到以大按钮的形式展示的Action,当用户点击按钮的时候,Action所指的Intent 会在手持设备上调用。效果如图所示

如果你需要与手持设备区分,Action操作只在穿戴设备上有效,则需要使用 WearableExtender.addAction() 方法。注意,一旦使用这种方法添加Action,穿戴设备就不会显示通过NotificationCompat.Builder.addAction()添加的Action。同样,使用这个方式添加的Action不会在手持设备上显示。

//创建 只在 Wearable 端显示的Action

NotificationCompat.Action action = new

NotificationCompat.Action.Builder(R.drawable.ic_launcher,

“Wearable Only Notification”, intent).build();

//添加Action到通知上

builder.extend(new NotificationCompat

.WearableExtender().addAction(action));

可以使用 “Big View ”样式往通知中插入更多的附加文字内容。在手持设备上,用户展开通知才可以看到“Big View”内容。在穿戴设备上,“Big View”是默认显示出来的。可以通过调用 NotificationCompat.Builder对象的 setStyle()方法来设置扩展的内容,比如传递BigTextStyle或者InboxStyle的对象。具体代码如下:

//大视图样式 可以使用BigTextStyle InboxStyle

NotificationCompat.BigTextStyle style = new

NotificationCompat.BigTextStyle();

//内容太多的话,需要点击Wearable通知,下拉滚动显示

style.bigText(“大视图内容-大视图内容-大视图内容-大视图内容-大视图内”

+“容-大视图内容-大视图内容-大视图内容-大视图内容-大视图内容-大视图”

+“内容-大视图内容-大视图内容-大视图内容-大视图内容-大视图内容”);

builder.setContentIntent(intent);

builder.setStyle(style);

//设置Wearable 通知背景

builder.setLargeIcon(BitmapFactory.decodeResource(

getResources(), R.drawable.ic_launcher));

可以调用通知的setLargeIcon() 方法来添加一个大的图片到任意的通知上。这个图片会以背景图片的形式显示到穿戴设备上,运行效果如下图所示:

如果需要添加穿戴设备特有的属性到通知上,例如,指定附加内容的页数,让用户通过语音输入等,就需要使用NotificationCompat.WearableExtender类。具体的使用步骤如下:

Android Wear开发步骤相关推荐

  1. Android Wear开发浅析(一)

    Android Wear究竟是什么? Android Wear和手机是完全不同的设计理念:手机大多数情况下,都是用户去操作,去触发里面的应用:而手表则是"用户被动"的,用户越少感觉 ...

  2. Android Wear 开发 (一)

    [转载博客](http://blog.csdn.net/hehaitao074/article/details/50675618) Android Wear究竟是什么? Android Wear和手机 ...

  3. Android Wear 开发 (一),移动应用开发技术

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDRiKjYy-1637431867561)(https://blog.csdn.net/)] 创建Phone端的页面样 ...

  4. Android Wear 开发 (一),如何化身BAT面试收割机

    3.   自定义卡片:保留官方提供的卡片流样式,个性化修改卡片内容 4.   完全自定义界面:自己实现界面,需要处理多分辨率问题,自由度高 5.   手表表盘:类似手机动态壁纸的机制 开发平台的搭建 ...

  5. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收: 1.Data Items : 比特类型数据,限制100KB以内 2.Assets : 资源类型数据,大小无上限 3.Message : 发送消息,触发指令 http:/ ...

  6. android wear 浮动通知,Android Wear 开发 (一) 创建手表通知

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? I bought a moto 360 last year. But I seldom wear it, because ...

  7. android wear手表6,Android Wear(手表)开发

    Android Wear开发 - 学习指南 http://www.cnblogs.com/benhero/p/4273800.html 前言 本篇文章是本人对这这一阶段Android Wear的开发总 ...

  8. Android Wear开发者预览版入门

    Android Wear开发者预览版包括工具和API,增强了应用程序通知功能,提供针对Android可穿戴设备的最佳用户体验. 利用Android Wear开发者预览,你可以: 在Android模拟器 ...

  9. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统, ...

最新文章

  1. 在vi或vim上查找字符串
  2. php分页样式,thinkphp分页样式修改
  3. EVM反编译软件Porosity的使用-mac
  4. java保留想要的字符,反转Java中的字符,同时保留一些字符 - java
  5. 【Linux】一步一步学Linux——rm命令(32)
  6. 20应用统计考研复试要点(part22)--简答题
  7. java 异步调用方法_乐字节Java编程之方法、调用、重载、递归
  8. 小学计算机学情分析,小学信息技术教学计划【三篇】
  9. c如何接收java指令_java指令和javac指令总结
  10. 04. 非必要不提供default constructor
  11. pg库使用dblink连接mysql_PG-跨库操作-dblink
  12. #读取json某一节点数据_06596.2.0Hive处理JSON格式数据
  13. origin 一键导出文件夹中所有图形
  14. ES3~ES7的数组方法
  15. C语言编程>第八周 ③ 请编写一个函数void fun(char orig[],char result[],int flg),其功能是:删除一个字符串中指定下标的字符。其中,orig指向……
  16. [转载] 网页制作常用英语标示
  17. Premature end of Content-Length delimited message body解决方案
  18. 【软件工程】订货系统的UML类图
  19. 全民热衷“合成大西瓜”,游戏外挂上热搜,不愧是程序员!
  20. iOS逆向开发,突破微信强制升级,让低版本的iPhone也能正常使用

热门文章

  1. 跑步健身蓝牙耳机哪款好用?适合女孩子佩戴舒适挂脖式蓝牙耳机推荐
  2. 涨工资 啦 啊啊啊啊 !!
  3. LInux:vim的使用以及用户账号的管理
  4. Memcached prepend 命令的介绍及其使用实例
  5. python anaconda和pycharm_python anaconda与pycharm的特点
  6. springboot毕设项目招投标管理系统57xwe(java+VUE+Mybatis+Maven+Mysql)
  7. 从中台模式的式微,到ChatGPT的兴起
  8. Python练习——Turtle库学习记录
  9. 《地铁:离去》为何能打动人心? 4A Games背后的叙事逻辑
  10. 电商bu单平台如何制定计划有效补单