如何开发Android Wear应用程序

Android Wear是连接安卓手机和可穿戴产品的一个平台。自从今年上半年发布以来,Android Wear获得了大量关注,既有来自消费者的关注,也有来自开发商的关注,后者希望自己的应用程序已经准备好让用户使用一种新的方式进行信息交互。

这篇文章将简要介绍Android Wear,然后介绍关于开发商的平台。

Android Wear旨在为用户在对的时间提供数量合适的信息量。根据这一主题,谷歌已经发布了设计原则以帮助开发商集中思考Android Wear应用程序。我们将对此进行简要介绍,同时也将研究在Android Wear环境中进行应用程序开发的必要条件,以及如何运用可用的API帮助安卓开发商研发用于Android Wear平台的应用程序。

Android Wear平台

Android Wear是用于可穿戴设备的开放操作系统,它有一个新的用户界面——这是谷歌了解我们如何使用手机以及我们如何更多地与环境接触的结果。例如,数据显示,我们用手机查看信息平均每天有150次左右。每次我们这样做的时候,都有可能迷失在其它应用程序里面,常常在一个任务程序中消耗很多没必要的时间,有时甚至完全忘记我们要查询的最重要信息。

第一批使Android Wear火热起来的是三星Gear Live和LG G Watch,这两款设备都是在6月份的Google I/O大会上发布的。手表是Android Wear的第一选择目标,确实如此:大多数人每天都使用手表。这些所谓的智能手表通常都需要和安卓手机配对使用,通过与最新安卓手机的无缝配合,谷歌让用户看到Android Wear平台的效用。

事实上,开始使用Android Wear时,你所需要做的是以下几方面:

1. 安卓4.3设备;

2. 来自谷歌应用程序市场的Android Wear应用;

3. 配对安卓手机设备与Android Wear设备。

没错,就这样。只要做好这些,你手机上的大部分信息都可以在可穿戴设备上查看。你不仅可以在手表上查看这些信息,也可对它们进行交互、删除等等。这显示的是不需费任何力气或者花很少时间就可以让安卓应用程序和配对设备运行——安卓手机用户都可以这么做。

需要注意的是,手机和可穿戴设备是通过蓝牙进行连接的。可穿戴设备目前还不能独立访问网络,所以需要通过手机进行连接。

虽然Android Wear很灵活,但是它目前最关注的是手表类。

九月初,摩托罗拉发布了万众期待的智能手表Moto360。它采用的是Android Wear系统。由于美丽的设计,Moto 360获得很大的赞誉,而且250美元的售价也获得了消费者的好评。其他开发商,包括华硕,已宣布发布Android Wear智能手表的相关计划了。

使用模式

与Android Wear设备进行交互的两种主要方式有:“建议”和“需求”。

“建议”,顾名思义,以通知的形式,推送到Android Wear设备的及时有用的信息。用户界面把这设置成卡片的形式,如下图所示。

值得注意的是,Wear应用程序能识别上下文语境,所以只推送文本内的信息。这类通知及时、简短、与用户的交互达到最低程度。

至于“需求”使用模式,用户通过语音向可穿戴设备发出信号,它就会回复信息。设备含有麦克风,通过说“OK, Google”或点击主屏幕就可以让用户调用一系列标准执行动作。用户界面会提示用户说出想要执行的动作指令。标准执行动作包括“做笔记”、“打电话”和“发信息”。你可以在运用程序上注册标准执行指令,也可以自定义提示文本。

设计理念

现在,我们已经了解Android Wear的基本使用模式了,是时候看一下用户界面和设计指导原则了。

如下所示,呈现给用户的很多信息都是以卡片的形式出现的。

注意一下卡片的不同部分。目前Android Wear应用程序通知将会以上面的标准格式出现。但是我们谈论的是利于阅读和有上下文相关度的最小量信息,你需要花些时间考虑何时增加文本通知和需要显示的文本。

通知可以在单个或多个卡片中显示。如果使用多个卡片,用户需要从左到右滑动页面进行查看。

如以下所示,通过叠加,你甚至可以在单个卡片中查看多条通知。

设计Android Wear用户体验时,有四个关键点需要记住,每一个Google Wear Design视觉创意部分,Android Wear应用程序都应该做到:

1. 自动启动:用户应该不需要另外在Wear设备上安装应用程序,Wear设备不是手机。Android Wear应用程序应该可以识别时间、地点和活动,并相应地推送相关卡片。

2. 易读性:因为用户把设备戴在手腕上,所以阅读通知应该像查看传统手表的时间一样容易。记住,特别关注题目:越简短越好——可以一眼就看到要点。

3. 有效利用“建议”和“需求”模式:Android Wear开发商页面显示:“Android Wear就像一位极好的私人助理。它只在你完全不需要的时候才会停下,它总是随时候命为你提供答案。“为了提供这一体验,开发商应该考虑何时如何使用“建议”和“需求”模式。

4. 与用户的零低交互:开发应用与程序是需要记住可穿戴设备都特别小型。应用程序必须便于用户进行交互,也就是说可以使用声音或简单的滑动或点击手势。

Android Wear设计团队已经做了大量工作,记录在现有Android Wear应用程序中进行扩展时如何有效地整合设计理念。(查看Android Wear设计部分。)

开发详情

在本部分,我们将帮助你初步了解Android Wear研发的关键概念。

你可以选择Eclipse或Android Studio作为Android Wear的集成开发环境(IDE)。谷歌建议用Android Studio进行开发。通过Android的SDK管理者下载API 20 (4.4 KitKat Wear):

Android Studio提供了在现有应用程序中添加Android Wear支持或创建新项目的便捷方式:Android Studio用的是组件模型,其中手机和Android Wear是单项目的一部分。

如果要在Android Studio创建一个新项目,点击文件- >新项目。在向导的第二页,选择构成因子,确保选择Android Wear模块作为你开发的构成因子(见下图)。

一旦完成所有选项选择,项目就会自动生成。你会看到这个Android项目有两个模块:移动和Wear。移动的使用于手机的应用程序,Wear是在Android Wear上运行的程序。

Wear应用程序不可以作为单独的软件包放在谷歌商店里。你需要把移动和Wear应用程序放在同一个应用程序APK中。当用户在手机上下载APK时,Wear应用程序就会自动传到配对的Wear设备。

Android Studio产生的默认项目并没有什么特别。在测试期间,我们需要自己写代码,这取决于我们想要应用程序的“可穿戴“执行什么。

通知

Android Wear的开发可以从两个角度进行分析:通知和Android Wear应用程序本身(包括在APK文件夹)。

对于已经从谷歌商店安装官方Android Wear到手机的用户,以及已经把手机和Wear设备配对的用户,不需要在应用程序中对通知进行任何更改。

虽然这样说,但为了让Wear真正发挥作用,有时候更改是有必要的。

你可以令通知只出现在手机或可穿戴设备或两者都有。此外,如上所述,开发商应该想下如何利用用户界面(UI)优势——即背景图像、通知标题、文本等等。

创建将发送到可穿戴设备的手持式通知,谷歌建议使用通知兼容生成器。Android 的支持库提供了一系列类别,你需要添加到你的项目中。

如果使用Android Studio,你需要添加下列属于移动模块中的build.gradle文件的编译时间。

compile "com.android.support:support-v4:20.0.+"

要创建通知,你可在你的移动应用程序中尝试下面的代码:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

builder.setContentTitle(“New API”)

.setContentText(“XYZ API got added to Food Category”)

.setSmallIcon(R.drawable.ic_mynotification)

.setContentIntent(PhoneActivityPendingIntent);

然后,你可以根据你的逻辑触发通知,如下所示:

NotificationManagerCompatnotificationManager = NotificationManagerCompat.from(this);

notificationManager.notify(notificationId, notificationBuilder.build());

现在,当用户在Wear设备上收到通知时,他们在手机上点击通知或者滑动到左边就可以启动等待模式,然后显示开始动作。

作为扩展部分,如果想要通知只出现在手机,你可以通过具体说明setLocalOnly来创建通知。

在上面的例子中,我们只显示了一个卡片,但你可以看下有多页甚至折叠的通知卡片。

可穿戴应用程序

虽然Android Wear支持来自手机的通知,但有时候还不够。有几种情况,包括:

在手机上收到数据时想要在Wear设备启动活动;

从Wear设备向手机发送信息,反过来执行一些活动或者在后台做点什么;

在Wear设备上创建自定义界面;

编写一个可以在Wear设备上启动和运行的程序,并且可以通过接收语音输入启动不同动作指令。

以上提到的都有可能实现,前提是你了解一些Wear API的基础知识。

连接和数据交换

前面提供的案例中,共同的主题是手机和Wear设备都需要一个可连续双方的机制,然后一旦建立联系,就需要相互的信息交换。这反过来可以触发相应设备上的正确指令。

手机和可穿戴设备之间的联系是由谷歌提供服务的。谷歌API客户端提供了这种联系的实例。
mGoogleApiClient = new GoogleApiClient.Builder(context)

.addApi(Wearable.API)

.addConnectionCallbacks(this)

.addOnConnectionFailedListener(this)

.build();

你可以在合适的运动周期建立或关闭联系,如下所示:
@Override  protected void onStart() {super.onStart();

mGoogleApiClient.connect();  }  @Override  protected void onStop() { super.onStop(); mGoogleApiClient.disconnect();   }

一旦建立联系,你可以查看不同API例子,以促进设备间的数据发送和同步:

Node API:该API是用于两个设备连接或分离使通过NodeListener界面方法保持追踪。

Message API:该API是用于双方相互发送消息。这需要接收方(MessageListener)有一个监听器可以接收消息。

Data API:该API用于设备之间的数据同步。该平台负责为双方提供同步机制。你需要完成 DataListener 界面才可以接收消息。建议先在可穿戴设备Listener服务平台上创建一个实例,然后听些你感兴趣的事件。

数据层界面如下所示,选择一个适合你的。

tatic interface DataListener {void onDataChanged(DataEventBufferdataEvents);}

static interface MessageListener {void onMessageReceived(MessageEventmessageEvent);}

static interface NodeListener {void onPeerConnected(Node node); void onPeerDisconnected(Node node);}

其余的功能——即需要针对特定信息采取的指令,完全取决于应用程序的功能需要。

执行实例

为了了解全局,我们来看一个实例应用程序,包括手机和Wear组件。为了让事情简单化,手机应用程序将会有单独的活动指令名称——MainActivity.java。它设计了一个按钮,点击时会发送消息到Wear应用程序。

首先,让我们看下MainActivity.java在手机应用程序上的情况(主要方法如下所示):

public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener {
 
        .....
 
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(Wearable.API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
    }
 
@Override
   protected void onStart() {
       super.onStart();
       mGoogleApiClient.connect();
   }
 
  @Override
   protected void onStop() {
       mGoogleApiClient.disconnect();
       super.onStop();
   }
 
//Button click
public void onSendMessage(View view) {
   //Get Connected Nodes
   Collectionnodes = getNodes();
 
   //For each node - send the message across
            for (String node : nodes) {
               SendMessageResult result = Wearable.MessageApi.sendMessage(
                   mGoogleApiClient, node, "/startactivity" , null).await();
              if (!result.getStatus().isSuccess()) {
                 //Log Message Success
                }
            }
}
 
@Override
    public void onConnectionSuspended(inti) {
        Log.e(TAG, ...);
    }
 
@Override
    public void onConnectionFailed(ConnectionResultconnectionResult) {
        Log.e(TAG, ...);
    }

对于接收方——也就是Wear设备,我们写了一份扩展WearableListenerService的服务程序。通过这份服务,你可以初始化GoogleAPI客户端和其他回调信号,比如GoogleApiClient.ConnectionCallbacks。最后,我们提供了MessageReceived实例,如下所示:

@Override
    public void onMessageReceived(MessageEventmessageEvent) {
       if (messageEvent.getPath().equals("/startactivity")) {
          
         Intent startIntent = new Intent(this, WearActivity.class);
         startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         startActivity(startIntent);
      }

自定义界面和语音操作

除了数据API,Wear提供了让开发商使用不同部件创建自定义界面的条件。

如今,你有非官方的资料库可用。

语音集成提供了语音输入的标准功能,可以把语音转化为文字。还有“需求“使用模式,用户可以通过语音唤醒应用程序或动作指令。

Wear平台系统提供了“记事”、“发送信息”等动作指令,通过这些,开发商可以让应用程序在清单文件中注册标准活动组件。

同样,用户只要向Wear设备说出“开始【活动名称】”就可以开始一个活动指令。你所需要做的就是在活动清单中为该活动提供一个文件属性。

对于基于Android Wear的第一波可穿戴设备——智能手表来说,Android Wear是创建可穿戴应用程序的一个好平台。

说到可穿戴设备应用程序,谷歌一直强调开发商需要尊重用户并遵循用户希望来设计。通过现有应用程序,编写可穿戴设备应用程序的困难将减到最小。在应用商城有很多专为可穿戴设备设计的应用程序,包括不断增加的手表应用程序——用户最喜欢的app。考虑到越来越多的供应商宣布Android Wear产品计划、以及Android OS的全球市场份额,开发商应该投资更多的时间到该平台上。

时间: 2024-11-09 04:49:08

如何开发Android Wear应用程序的相关文章

Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)

微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 Linux 了!! 同时宣布的 Visual Studio 2015 和 .Net 2015 预览版均也开放下载了.作为微软跨平台新战略下的开发工具, VS2015 支持开发人员编写跨平台应用程序,从 Windows 到 Mac.Linux.甚至是编写 iOS 和 Android 代码! 此外,微软还

[转]ubuntu下整合eclipse和javah生成jni头文件开发android的native程序

转载自:http://blog.csdn.net/jiuyueguang/article/details/9404237 本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:ubuntu64位系统 2:android-ndk-r8e已经安装好,并且配置到eclipse里面 3:android-sdk-linux已经安装好,并且配置到eclipse里面

ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)

本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:ubuntu64位系统 2:android-ndk-r8e已经安装好,并且配置到eclipse里面 3:android-sdk-linux已经安装好,并且配置到eclipse里面 1:第一种命令行模式 1:如图,我的项目结构是这样,我的 如图,采用eclipse自动生成的jni文件夹中,可以看到And

Android Wear 开发入门

大家好,我是陆嘉杰,我是一名Android开发者.我想和大家进行一些技术交流,希望越来越多的人能和我成为好朋友. 大家都知道,智能手表是下一个开发的风口,而这方面的技术又属于前沿,所以和大家分享下Android Wear的开发流程. 首先,我推荐大家使用Android Studio来进行Wear的开发,这也是谷歌推荐的,本次讲授过程也将以Android Studio作为开发集成环境进行. 下面我们来创建Android Wear项目. 请注意,Android Wear项目中同时包含mobile和w

Android Wear之android穿戴式设备应用开发平台

Android Wear于2014年03月19日公布,并有Moto 360和LG watch两款产品. 眼下源代码还没有开放.可是开发人员能够下载它的Image及相应的开发SDK,这样开发人员通过模拟器能够进行前期开发. 事实上,Android Wear包括两个部分,一部分是执行在穿戴式设备上的操作系统,一部分是给手持设备(手机.平板)程序使用的SDK,该SDK的主要目的是为可穿戴设备上应用开发提供了參考及规范.以引导用户开发出可同小屏幕设备协作操作的应用程序.这里使用"协作操作"是由

想做Android Wear开发?你得先搞明白这四件事

手环和手表的腕上穿戴之争,随着Apple Watch发布和Android Wear不断完善而告一段落.尽管续航上略有缺陷,但手表以其类似手机可扩展的生态环境赢得了众多巨头的支持. Google曾透露,Android Wear发布三周左右应用数就超过了Google Glass,并将有数以千计的app不断加入.Apple Watch发布的该月内,雷锋网驻硅谷的记者发现已有公司开始招聘相关开发者. 国外的开发者生态一向积极,国内虽明面上动静不大,但实际各家也已经都在暗自开动.鉴于Apple Watch

在Android Wear开发中使用蓝牙调试同时操作手机与手表设备

在开发Android Wear应用过程中需要对手表和手机进行同时操作,可以通过蓝牙同时对手机和手表进行操作. 1 打开手表和手机的调试设置 打开手机的usb调试 打开手表设置的开发者选项,选中Debug over Bluetooth   如果是首次使用手表调试,需要在Setting中找到About,单击7次打开开发者选项 2 连接手表到开发工具 在手机端打开Android Wear App,进入Setting,选中Debugging over Bluetooth,会发现当前状态是 <span s

Android 开发新方向 Android Wear ——概述

2014 谷歌 I/O大会正式公布的Android Wear 开发理念,从而能够更系统的提供开发人员使用Android接口开发便携式可穿戴设备,以智能手表为例,通过Android提供的接口,能够方便的将仅仅能手机与仅仅能手表进行关联,而且同步操作. 后面的文章将依次介绍几种相关的开发方式,如通知的方式.app的方式以及数据同步的方式. Android Wear 开发入门--怎样创建一个手机与可穿戴设备关联的通知(Notification) (未完) 开发Android Wear相关应用受到开发设

即刻开始使用Kotlin开发Android的12个原因(KAD 30)

作者:Antonio Leiva 时间:Jul, 11, 2017 原文链接:https://antonioleiva.com/reasons-kotlin-android/ 这组文章已到最后了,它们是非常实用的.今天我想谈谈为什么我认为学习Kotlin是非常有趣的. 虽然, Kotlin现在已是官方支持的开发Android APP的编程语言,而你仍可能觉得没有足够的理由进行改变.在这些年以来,Java已经证明其能力,为什么要改变? 这是我认为转换到Kotlin不是一个冒险的赌注,而是你可以做的