构建具有深度和灵活性的安卓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 或者 ...
随机推荐
- Windows 2008 卸载 IIS7 批处理
@echo offcolor 0aecho 正在卸载IIS功能,这可能需要几分钟时间...start /w pkgmgr /uu:IIS-WebServerRole;WAS-WindowsActiva ...
- Online网站集
http://tool.oschina.net/apidocs/ 在线工具(IT技术工具)
- 使用newLISP由SMTPserver发送电子邮件
直接使用的标准模块smtpx.lsp, smtp.lsp你可以不设置port,庭审后,没用. 以下是一个示例代码: #!/usr/bin/newlisp (set 'debug-flag true) ...
- python2.7和 python3.4但是不要
很多 Python 刚開始学习的人想知道他们应该从 Python 的哪个版本号開始学习.对于这个问题我的答案是 "你学习你喜欢的教程的版本号.然后检查他们之间的不同. " 可是假设 ...
- Xamarin.Forms 初探
什么是 Xamarin Forms ? Xamarin Forms 是一个高效创建跨平台用户界面的库 .通过Xamarin Forms 能够一次编码生成基于主流移动平台(iOS, Android, W ...
- OR1200数据Cache介绍
以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 上一章剖析了ICache模块. 本章将剖析DCache模块.首先指出DCache模块相比ICache的特别之处.由于这 ...
- uva 10652 Board Wrapping (计算几何-凸包)
Problem B Board Wrapping Input: standard input Output: standard output Time Limit: 2 seconds The sma ...
- MVC自定义配置
ASP.NET 5 入门 (2) – 自定义配置 ASP.NET 5 理解和入门 建立和开发ASP.NET 5 项目 初步理解ASP.NET5的配置 正如我的第一篇文章ASP.NET 5 (vNext ...
- mysql 的load data infile要使用
LOAD DATA INFILE从文本文件中读出的声明以极高的速度到表. 1.基本语法 LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'fi ...
- 深入理解C指针之三:指针和函数
原文:深入理解C指针之三:指针和函数 理解函数和指针的结合使用,需要理解程序栈.大部分现代的块结构语言,比如C,都用到了程序栈来支持函数的运行.调用函数时,会创建函数的栈帧并将其推到程序栈上.函数返回 ...