Android Wear和二维码
这是一篇发布在Android官方开发者社区博客,15年年初的时候就看到了这篇文章,直到现在才有时间把它翻译下来。
这是一篇如何在Android Wear上面如何正确地展示二维码的文章,里面有许多的经验和教训可以记取,原文地址请点击这里。
原文翻译内容如下 :
Android Wear和二维码:使用用户通过快速轨道的方法
争匆匆上火车、进音乐会或者简单地订个咖啡,我们都看到过用户或者我们自己翻找钱包或者移动应用来努力找到正确地登机通道、票据或者会员卡。有了Android Wear和移动应用上的几行代码,这都将如魔法般工作。

Android支持库的新特性
自从Android Wear平台的首次发布开始(什么时候二维码图片能够添加到通知上面),开发人员问了他们想要看到改进的两种场景:
- 圆形展示,开发人员很难了解二维码是否完整且未剪裁地展示。
- 为了保护电池,Android Wear屏幕在无活动5秒钟之后关闭。然而,对用户而言,很难保证当他们到达队伍前面时,二维码是否依然展示在手腕上。
在最新的支付库里面,我们在WearableExtender添加了两个额外的方法,从而给予了开发人员更多的权限来控制如何在通知里面展示背景图片。这些新的API能够在大量场景中使用,本博中我们只专注于二维码的使用示例:
- 确保图片未剪裁: setHintAvoidBackgroundClipping(true)
有了这个新方法,开发人员能够确保完整的二维码总是可见的。
|
Wrong: |
Right: |
![]() |
![]() |
- 确保在用户到达队伍前面时二维码依然展示:setHintScreenTimeout(timeInMS)
这个新方法使得开发人员能够设置超时,从而满足他们的特殊用例。
最佳设计实践
我们试验了大量的二维码自定义选项,下面是我们学到的一些教训:
一定要做
- 一定要用你的装备测试,在部署之前,用你的读码器测试,确保展示在可穿戴设备上的二维码在你的装备上正常运行。
- 一定要使用黑白二色的二维码,这将保证最大程度的匹配,而且对读码器而言更容易读取信息。
- 一定要只在文本通知中展示核心信息,记得“少即是多”。对可穿戴设备,可掠览性很重要。
- 一定要在圆形和方形表上都要测试,可在通知上面展示的文本数量尤其依赖于外形因素(方形和圆形)而发生变化。
- 一定要有品牌图标,Android Wear流的主通知中,开发人员能够通过使用setLargeIcon设置颜色图标,从而标识通知。
- 一定要使用背景来传递额外信息,为了获取到更好的结果,考虑通过setBackground给上下文设置敏感的背景,例如火车目的地或者体育场的图片或者照片。
- 一定要使用400X400或者更大分辨率的二维码,根据其他的背景图片,二维码图片推荐的最小像素是400X400。
一定不要做
- 一定不要推广二维码,Android Wear上面屏幕大小是有限的,为了推广而使用一些屏幕也许导致二维码不能正确地工作。
- 一定不要在通知的文本上面使用除了灰色或者默认主题颜色之外其他任何颜色,尽管Android Wear通知支付基本的文本格式化操作,如设置文本颜色,这个应该在将颜色集修改成默认或者灰色时使用。理由是Android 4.x的Holo主题有默认的黑色背景,而包括Wear的Android 5.0+的Material Design主题有白色背景。这使得通知里面的文本颜色很难同时起到相同的作用。Bold和Italic是很好的格式化选择。
Android Wear是为了忙碌的人们而生的
在Android Wear上使用二维码是一件非常愉快的体验。用户需要的信息在正确的时候正确的地点恰好展示在手腕上。有了新的API,你现在能够比之前打开更多的门,并且能够给予忙碌的人们更容易地查看的时间。
Android Wear和二维码的更多相关文章
- Android仿微信二维码扫描
转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一 ...
- Android进阶笔记06:Android 实现扫描二维码实现网页登录
一. 扫描二维码登录的实现机制: 详细流程图: (1)PC端打开网页(显示出二维码),这时候会保存对应的randnumber(比如:12345678). (2)Android客户端扫码登录,Andro ...
- android利用zbar二维码扫描-(解决中文乱码及扫描区域定义)
写在最前(这是对上一篇博文的问题做的更新[android利用zbar二维码扫描]) project下载 zbarLib编译project project下载0积分 bug 在2.3的系统中Hol ...
- Android快速实现二维码扫描--Zbar
Android中二维码扫描的最常用库是zxing和zbar,上一篇<Android快速实现二维码扫描–Zxing>介绍了Zxing.这次说Zbar,Zbar速度极快,我就比较常用,项目地址 ...
- Android开发 QRCode二维码开发第三方框架
前言 Android开发里二维码开发经常用到,这里简单的介绍下Android开发里的二维码. 最广泛使用的二维码库zxing zxing是最广泛的二维码库各个平台都可以适用它,但是Android平台使 ...
- Android zxing 解析二维码,生成二维码极简demo
zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHand ...
- android扫描网页二维码进行网页登录
转载请标明出处: http://www.cnblogs.com/dingxiansen/: 本文出自:丁先森-博客园 周六和朋友去网吧开黑,开机打开TGP,朋友那边开始输入账号密码,我看了他一眼low ...
- Android快速实现二维码扫描--Zxing
Android中二维码扫描的最常用库是zxing和zbar,zxing项目地址为https://github.com/zxing/zxing,目前还有多个人在维护.zbar主要用C来写的,对速度有要求 ...
- Android开发——Android中的二维码生成与扫描
0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
随机推荐
- 【Android先进】我们为什么要创建Activity基类Activity什么是一般的基类方法
今天,它可以被视为只是基本完成了其首个商业项目,在发展过程中,风格,然而随着工作经验的积累.最终開始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在如今的项目 ...
- Nyoj Fire Station
描述A city is served by a number of fire stations. Some residents have complained that the distance fr ...
- 网络资源(7) - JAX-WS视频
2014_08_25 http://v.youku.com/v_show/id_XNjMzNDcyMTk2.html 基于JAX-WS编程模型的WebService 1. @WebService注释类 ...
- KafkaOffsetMonitor
Kafka实战-KafkaOffsetMonitor 1.概述 前面给大家介绍了Kafka的背景以及一些应用场景,并附带上演示了Kafka的简单示例.然后,在开发的过程当中,我们会发现一些问题,那 ...
- hdu 1712 (分组背包入门)
http://acm.hdu.edu.cn/showproblem.php?pid=1712 问题 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].这些物品被划分为若干组, ...
- C#中反射的概念及其使用(转)
提纲:1. 什么是反射2. 命名空间与装配件的关系3. 运行期得到类型信息有什么用4. 如何使用反射获取类型5. 如何根据类型来动态创建对象6. 如何获取方法以及动态调用方法7. 动态创建委托 1.什 ...
- 教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题)
原文:教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题) 之前发布过Silver ...
- 吐槽一下项目中的代码坏味道:滥用java常量
我们的项目中是否充斥着类似以下的代码呢?定义一个专门存放常量的java类(接口),非常多其它类依赖该常量类. public interface IConstant { int ZERO = 0; St ...
- 前端开发——移动bug整理
1.ios下jquery的delegate失效问题? 解决方案: $("body").delegate(...) 改为 $(".item").delegate( ...
- Linux httpd 跳转简单方法一
直接在httpd.conf中添加以下代码即可: NameVirtualHost *:80 <VirtualHost *:80> ServerName localhost ##访问域名 Re ...

