本节书摘来自异步社区《Android开发秘籍(第2版)》一书中的第1章,第1.4节Android设备间的硬件差异,作者 【美】Ronan Schwarz , Phil Dutson , James Steele , Nelson To,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 Android设备间的硬件差异
Android开发秘籍(第2版)
每一款Android设备上可用的硬件各不相同,这在表1-1中已有所反映。总体而言,多数差异对开发者而言是透明的,这里不深入讨论。然而,了解其中某些硬件差异有助于我们编写设备无关的代码。在此我们将探讨屏幕、用户输入法和传感器这几方面。

1.4.1 屏幕
液晶显示(LCD)和发光二极管(LED)是目前显示器使用的两种技术。在Android手机上,则分别体现为薄膜晶体管(TFT)液晶屏和主动矩阵有机发光二极管(AMOLED)屏。

TFT屏的一个优势是较长的寿命;而AMOLED的好处则在于无需背光,从而有更深的黑色和更低的能耗。

总的说来,Android设备可以依照屏幕尺寸被分为小、中、大、超大,或按像素密度分为低、中、高、极高几类。注意,实际的像素密度可能多种多样,但总可以被归为低、中、高、极高中的某一种。表1-3给出了典型的屏幕尺寸、分辨率及一些与屏幕尺寸有关的名称。


1.4.2 用户输入法
触摸屏使得用户可以与视觉显示进行互动。目前有三种类型的触屏技术。

电阻屏:在玻璃屏幕的上层覆盖两层电阻材料层。当手指、手写笔或其他物体施压时,两层电阻材料发生接触,而触点可以被确定。电阻屏性价比高,但透光率只能达到75%,并且最近才实现多点触摸。
电容屏:玻璃屏上覆盖有一层带电材料。当手指或其他导体与该层接触,一些电荷被释放,引起电容变化,从而可检测出触点所在。电容屏透光率可达90%,但精确度不如电阻屏。
表面声波:这是一种靠发送和接收超声波来定位的先进技术。当手指或其他物体接触屏幕时,引起的声波被吸收和测量,从而确定触点。这是一种最为经久耐用的解决方案,但更适合诸如银行自动柜员机一类的大尺寸的屏幕。
目前绝大多数的Android设备要么采用电阻屏,要么采用电容屏技术,并且均支持多点触摸。此外,Android设备还可能采用下列某种替代性的屏幕访问方法。

十字键(D-Pad):一种上下左右型的控制杆。
轨迹球(Trackball):一种使用滚动球定位的指针设备,与鼠标类似。
触摸板(Trackpad):用一块特殊的方形表面来定位的指针设备。

1.4.3 传感器
在某种程度上,智能手机正在成为一个传感器的集合体,带给用户丰富的体验。除每部手机都必备的麦克风外,首先被引入手机的附加传感器要属摄像头。不同的手机摄像头在性能上大相径庭,这已成为人们选择手机时的一个重要考虑因素。类似多样性也体现在其他的附加传感器上。

多数智能手机至少包含以下三种基本的传感器:用于测量重力的三轴加速度计(accelerometer)、用于测量周围磁场的三轴磁力计(magnetometer),以及用于测量周边温度的温度传感器。例如,HTC Dream(G1)包含下列传感器(可以通过调用getSensorList()函数列出它们,这将在第9章中进一步讲述)。

AK8976A三轴加速度计。
AK8976A三轴磁场传感器。
AK8976A方向传感器。
AK8976A温度传感器。
AK8976A是出自旭化成微系统公司(Asahi Kasei Microsystems,AKM)的传感器包,整合了压阻式加速度计、霍尔效应磁力计及温度传感器。这些传感器都提供8位精度的数据。方向传感器则是一个虚拟传感器,实际是组合使用加速度计和磁力计来测定方向。

作为对比,我们看看摩托罗拉Droid手机采用的传感器。

LIS331DLH三轴加速度计。
AK8973三轴磁场传感器。
AK8973温度传感器。
SFH7743近距离传感器。
方向传感器。
LM3530光传感器。
LIS331DLH是来自意法半导体公司(ST Microelectronics)的12位电容式加速度计,它提供更为精确的数据,并且采样频率可达1 kHz。AK8973是一个AKM传感器包,包含8位霍尔效应磁力计及温度传感器。

此外,Droid还包含另两个传感器。SFH7743是光电半导体的短程近距离传感器,可在约40 mm距离范围内有物体(比如耳朵)存在时关闭屏幕。LM3530是美国国家半导体公司(National Semiconductor)生产的带有可编程光传感器的LED驱动器,可以检测周围光线并据此将屏幕背光和LED闪光灯调节到适当亮度。

关于Android设备上可用的传感器我们再举一例,即HTC EVO 4G,它含有下列传感器。

BMA150三轴加速度计。
AK8973三轴磁场传感器。
AK8973方向传感器。
CM3602近距离传感器。
CM3602光传感器。
BMA150是博世传感器公司(Bosch Sensortec)生产的10位加速度计,采样率可达1.5 kHz。CM3602则是Capella微系统公司生产的短程近距离传感器和环境光传感器的二合一产品。

总体而言,理解不同的Android设备拥有不同的底层硬件是很有必要的,这些不同会导致性能和传感器精度的差异。

《Android开发秘籍(第2版)》——第1.4节Android设备间的硬件差异相关推荐

  1. Android开发秘籍 第2版

    iOS传感器应用开发最佳实践_PDF电子书下载 带书签目录 完整版http://pan.baidu.com/s/1dDtSP2L   Node应用程序构建  使用MongoDB和Backbone_PD ...

  2. 应用程序基础知识:activity和intent——Android开发秘籍

    应用程序基础知识:activity和intent --Android开发秘籍 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#defaul ...

  3. Android 开发规范(完结版)

    点击上方蓝字关注公众号 码个蛋第270次推文 长文干货 作者:Blankj 博客:https://www.jianshu.com/u/46702d5c6978 文章目录 前言 AS 规范 命名规范 代 ...

  4. 001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7)

    001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7) 毕业就一直从事.Net开发,之后做管理,做产品设计,疏于编码. 最近打算买个小米手机 ...

  5. Android开发经验谈-很少有人会告诉你的Android开发基本常识,经验谈android

    转载:http://www.android100.org/html/201507/15/165084.html Android开发经验谈-很少有人会告诉你的Android开发基本常识,经验谈andro ...

  6. android工程师饱和,Android开发是否饱和了?你所不了解的Android开发

    原标题:Android开发是否饱和了?你所不了解的Android开发 Android开发是否饱和了?是很多人关心的问题,对于想要从事Android开发的人更是头等大事.如今,就业难成横亘在求职者面前的 ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)...

    1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本"Quartz"版的更新资料,它将是一个非常重要的更新,包括API接口的重构和 ...

  8. android开发笔记之2012版辅助开发工具包(ADT)新功能特性介绍及安装使用

    原文链接:http://android.eoe.cn/topic/android_sdk 2012年的Android辅助设备开发工具包(ADK)是Android开放设备协议(AOA)设备的最新参考实现 ...

  9. 阿里巴巴Android开发手册(正式版)

    去年有个阿里巴巴java开发手册,今年有了Android了.. 下载链接: 阿里巴巴Android开发手册

最新文章

  1. Codeforces Round #253 (Div. 1) A. Borya and Hanabi 暴力
  2. 皮一皮:直男的拍摄水平...
  3. android 浅复制与深复制
  4. ASP.NET2.0中themes、Skins轻松实现网站换肤!
  5. Linux驱动:VFIO概述(vfio/iommu/device passthrough)
  6. 浙大 PAT a1058
  7. 深度学习TF—8.经典CNN模型—LeNet-5、VGG13、AlexNet、GoogLeNet、ResNet、DenseNet
  8. JAVA怎么创建被继承的类_Java入门之类的继承
  9. Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
  10. c语言顺序结构编程题及其答案,C语言编程 顺序结构编程练习题目
  11. 链表?数组?合二为一
  12. 关于bios+mbr还原uefi+gpt的系统后,出现进不去系统的问题
  13. sql语句date函数
  14. 跨链桥:用零知识证明桥接多链宇宙
  15. Android中计步器的实现
  16. HIbernate Lazy 常用配置
  17. 自动批量处理人像照片
  18. 唐杰:悟道的雄心,何止是万亿参数模型
  19. 记录:微信小程序Switch样式调整
  20. 2020大学生网络安全知识总决赛 NISP一级模拟题(07)

热门文章

  1. jquery水平垂直居中_Java Web应用程序集成的jQuery UI选项卡(水平和垂直)示例
  2. 深度学习 keras_Keras深度学习教程
  3. Python写数据结构:二叉树的性质
  4. RPC框架设计概要-性能
  5. C++基础教程之数据结构
  6. FreeNAS 安装与用户指导页
  7. tomcat使用线程池配置高并发连接
  8. Linux系统入门学习:改变libvirt VM镜像的默认位置
  9. python 发送email
  10. 均值(Mean)和均值标准误差(S.E. Mean)