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都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
随机推荐
- react.js 从零开始(二)组件的生命周期
什么是生命周期? 组件本质上是一个状态机,输入确定,输出一定确定. 当状态改变的时候 会触发不同的钩子函数,可以让开发者做出响应.. 一个组件的生命周期可以概括为 初始化:状态下 可以自定义的函数 g ...
- asp.net学习之ado.net(连接模式访问)
原文:asp.net学习之ado.net(连接模式访问) ado.net框架支持两种模式的数据访问: 连接模式(Connected)和非连接模式(disconnected).这一节介绍如何使用连 ...
- 一Flash从入门开发者放弃了成长之路
本文将依照入门.成长.转行三个关键词来讲述作者这些年使用Flash进行项目开发的整个历史过程. 一.入门--開始走上Flash的道路. 和Flash的机缘要从大学时代说起.2005年下半年.学校开设了 ...
- Tips & Tricks:Apache log4j简明教程(二)
在上一讲Apache log4j简明教程(一)中介绍了log4j的基本概念,配置文件,以及将日志写入文件的方法,并给出了一个详细的示例.这一讲,我在继续谈一谈如何使用log4j将日志写入MySQL数据 ...
- iOS,Android,.NET通用AES加密算法
原文:iOS,Android,.NET通用AES加密算法 这两天为移动App开发API,结果实现加密验证时碰到一大坑.这里不得不吐槽下又臭又硬的iOS,Windows Server无法解密出正确的结果 ...
- ubuntu文本界面乱码的中国解决方案
问题: 文本界面乱码中国 解决方式: 非常easy.安装fbterm就OK! 详细例如以下: 安装命令:sudo apt-get install fbterm xfonts-xqy 然后执行:sudo ...
- who is the best?
Description There are N people want to choose the best person. Each person select the best person $a ...
- 阅读INI档 - Delphi一片
程序往往需要读一些用户设置值.如何完成这一过程? B/S程序一般使用XML档.和C/S程序使用INI档. 前篇<C#迁移之callXBFLibrary - 2(调用非托管DLL)>是C#读 ...
- maven添加本地jar包依赖
1. 在java工程下新建文件夹,如repo/allin/allin-util/0.1 然后jar包扔进去,如下图: 2. 修改pom.xml文件,增加以下 <repositories> ...
- PHP採集CSDN博客边栏的阅读排行
项目中要用到採集的数据,所以就先拿CSDN博客来试了试.这里使用Simple HTML DOM(官网)这个库,它可以方便的遍历HTML文档. <?php include_once('simple ...

