构建具有深度和灵活性的安卓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 或者 ...
随机推荐
- IIS 7.0 Features and Vista Editions
原文 IIS 7.0 Features and Vista Editions Overview of IIS 7.0 differences Across Windows Vista Editions ...
- 单节点伪分布式Hadoop配置
本文所用软件版本: VMware-workstation-full-11.1.0 jdk-6u45-linux-i586.bin ubuntukylin-14.04-desktop-i386.iso ...
- linux下一个Oracle11g RAC建立(四)
linux下一个Oracle11g RAC建立(四) 三.配置共享存储 配置ASM管理准备 1)OCRDISK :存储CRS资源配置信息 2)VOTEDISK:仲裁盘.记录节点状态 3)DataDis ...
- java 中类的加载顺序(转)
1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始 ...
- spring framework 4 源代码阅读器(1) --- 事前准备
在你开始看代码.的第一件事要做的就是下载代码. 这里:https://github.com/spring-projects/spring-framework 下载完整的使用发现gradle建立管理工具 ...
- YUV422蓝色屏幕输出的调试援助
YUV422蓝色屏幕输出的调试援助 YUV422有YUYV,YVYU,UYVY,VYUY四种,以下笔者就就以UYVY为例介绍一下数据构成.因为常常要跟视频输入打交道,所以YUV422这种常见的视频信号 ...
- SharePoint 如何使自己的网页自动跳转
SharePoint 如何使自己的网页自动跳转 SharePoint自动制作自己的网页跳的很easy,只有在页面上要添加一个Web部分--内容编辑器,对应的js代码就可以. ...
- 采购申请 POCIRM-001:ORA-01403: 无论数据未找到
今天就让同事帮忙看问题.当请求生成采购订单,在销售模块错误提交销售订单 查看请求日志 +-------------------------------------------------------- ...
- rabbitMQ说明文档
rabbitMQ是什么 RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开 ...
- java_软件发布版本_Asynch HttpClien 对比发行版本说明_Alpha、Beta、RC、GA版本的区别
今天看了一天的apache 的httpasyncclient ,为了和默认的httpclient做个对比,httpcore是核心轻量级的提供传统阻塞IO 和 java NIO两种方式,httpclie ...