构建具有深度和灵活性的安卓Wear应用
自从去年Android 5.0发布以后就一直在关注可穿戴方面的事情。这个年的前后一直在忖度该怎么海淘一个moto 360,可是考虑到iWatch在本年度四月份发布,估计现在已经有的Android可穿戴品牌,在功能上面肯定会有很多大的变化,现在买了,估计很快就会落伍太多,于是决定在新的一次Google I/O大会之后入手moto 360。
虽然没有硬件,但这并不影响对软件方面的先知先觉。于是在发现了一篇关于Android Wear开发的文章之后,很是兴奋,所以就找时间把它翻译成了博客,以飨读者。
好,废话不多说,下面是原博客的翻译内容,原文链接是:原文
Android Wear最近进行了许多的更新和改善,现在是时候来分享一下wear平台的最新概况了。当然,我们还没有完成--更多的东西将会到来--但是,今天就是时候开始或者继续开发开创性的Android Wear用户体验了。
Android Wear平台强调了深度和灵活性。基于此,它允许开发人员使用熟悉的API来创建可用、可编程和富于想象的、可以直接运行在手表上面的应用。本着Android开源的精神,你拥有持续改进用户体验的自由,包括自定义表盘的创建。你主要有三种主要的构建体验:应用、自定义表盘和通知。
应用

为Android Wear构建的应用可以直接运行在手表上,并且几乎能够做手机能够做的任何事情,从计步到候车时的娱乐等。一些活动甚至不需要连接手机就能够完成,比如健身和音乐应用。有一些库能够帮你在手机和可穿戴设备间移动数据,同样也可以创建特效和可适配的UI。下面是一张你可以访问的一些优秀特性的列表:
|
Feature |
Documentation |
|
Full screen activities with touch events |
|
|
Notifications and custom actions |
|
|
Custom Watch faces |
|
|
Layouts for round and square devices |
|
|
OpenGL |
|
|
Sensors
|
|
|
Haptics |
|
|
Microphone |
|
|
Voice actions |
|
|
GPS |
|
|
Offline storing of data / music |
|
|
Media playback controls |
|
|
Framework based on Android 5.0 API 21 |
|
|
Standalone or synchronized apps |
表盘

创建自定义表盘的能力给予了你直接的权限去访问用户最个人设备上面的最突出UI元素。Wear API足够简单来迅速地构建表盘,足够灵活来允许个性化。再说一次,考虑到Android平台的深度和灵活性,你能够为用户创建一些既漂亮又带有唯一特性的东西。
开发旅程开始于把设计带到手腕的简便性。onDraw方法处于表盘API的核心位置,它允许你把任何你可以想像到的设计绘制到canvas上面,并且还带有足够的帧率来播放流畅的动画。这将在手表处于交互模式时恢复全保真。
也有时候,在手表处于室外模式时,你能够绘制更谨慎版本的表盘。也可以通过设置其它的偏好来为设计恰当地组织系统UI。一旦这些基础的东西覆盖到了,能限制你的只会是你的想像!再加上月相、当前天气或者健身统计这些锦上添花的东西,你将百尺竿头更进一步。手表制造商把这些项称为“错杂、混乱或并发症”(complications)--但有了Android这些几乎不复杂(complicated)。一旦有了数据,就可以随时绘制在canvas上了。
通知

当然,Android Wear通知是开启可穿戴设备世界的最简单的方法。如果你已经有了包含通知(通知已经能够在Wear上面工作)的Android应用,如果你已经通过action增强了通知,这将会更好,而且已经自动地工作。如果再添加上wear专用的功能,如Stack、Page和Voice Reply等这些使手腕子上的通知体验更加丰富的功能,你的应用将更进一步。
你为Wear构建的用户体验将充分利用Android平台的力量和灵活性。这将很容易开始,也很可能为用户创建真正开创性的UI。把三者放在一起,我们将能够创建一个用户体验生态系统,这个系统将如它所运行的手表和穿戴手表的人一样多样。
构建具有深度和灵活性的安卓Wear应用的更多相关文章
- 使用horovod构建分布式深度学习框架
最近两周一直在尝试着分布式深度学习的架构,主要的原因一方面是几台机子全是1060卡,利用深度网络在较大数据样本上训练的效率极其低下,所以尝试着将几台机子做成分布式,看看能否提高训练效率:第二方面是有人 ...
- 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)
基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙 摘要: 针对传统安卓恶意程序检测 ...
- paper 53 :深度学习(转载)
转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...
- SpeeDO —— 并行深度学习系统
SpeeDO —— 并行深度学习系统 摘要: 最近,AlphaGo又带起了一波深度学习的热潮.深度学习在很多领域都大幅提高了模型的精度,使得很多以前在实验室中的技术得以运用到日常的生活之中.然而, ...
- Docker+Jenkins持续集成环境(5): android构建与apk发布
项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...
- 你对安卓触控一体机了解多少?视野还停留在windows一体机上?
android一体机可以根据用户的不同需求拓展各种不同的硬件外接设备和各种应用软件,环境适应能力又强,所以在诸多领域的应用都非常受欢迎,并且还在不断地开拓新市场.安卓系统触摸一体机占据绝对性优势. 1 ...
- Android Studio添加原生库并自动构建
[时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,native,c,c++,cmake,原生开发,ndk-build] 0 引言 最近 ...
- 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)
在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...
- [Android] 基于 Linux 命令行构建 Android 应用(一):关于 Android 项目
关于 Android 项目 项目是保存源代码和资源文件的容器. 谷歌提供的 Android SDK 工具只能对具有固定目录结构的项目进行编译和打包.因此强烈建议使用 Eclipse + ADT 或者 ...
随机推荐
- (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门
vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截 ...
- DDD Reference
版权声明:本文博客原创文章.博客,未经同意,不得转载.
- java多线程学习(一)
一.操作系统线程和进程的概念 线程是指进程中的一个运行单元,这个过程中也可调度实体. 线程与进程的差别: (1)地址空间:线程为进程内的一个运行单元.进程至少有一个线程(进程的主线程):进程的全部线程 ...
- interview(转)
http://ifeve.com/ali-think-12/ http://ifeve.com/think-in-ali-10/
- Java数据结构与算法(20) - ch08树
树的主要算法有插入,查找,显示,遍历,删除,其中显示和删除略微复杂. package chap08.tree; import java.io.BufferedReader; import java.i ...
- 并查集(Union-Find)算法介绍
原文链接:http://blog.csdn.net/dm_vincent/article/details/7655764 本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构 ...
- 手工制作的年份Java老A发售量
Java老A这本书是写了很长的时间,昨天终于开始china-pub.京东.活动当天发售的猫,现在,简称买卖,他当然还没有到. 有兴趣的人能够去看看哈(兴许其它站点地址也会在这里公开): china-p ...
- hdu 4915 Parenthese sequence(模拟)2014多培训学校5现场
Parenthese sequence Time Limit: ...
- linux open
一直记住不打开文件时候的mode,今天发现原来可以直接用0644这样的八进制数字代替,好开森 #include <stdio.h> #include <sys/types.h> ...
- linux c ping 实现
用c语言实现的linux中的ping命令 #include <stdio.h> #include <signal.h> #include <arpa/inet.h> ...