上回说到应用初始化加载及其生命周期,在Android系统调用Applicaiton.onCreate()之后,继续创建并加载清单文件中注册的首个界面即主Activity,也可称之为入口界面.主Activity的确定规则在Android系统编程入门系列之清单文件有介绍,本文主要介绍Android系统创建Activity之后的生命周期流程. 在清单文件中所注册的界面均为自定义Activity,其父类往上追溯,必须继承自android.content.Activity. 生命周期 Activity作为…
多媒体系列硬件 多媒体包括图片.动画.音频.视频,这些多媒体素材的采集(输入)主要依靠摄像头和麦克风等硬件设备转化为基础数据,而他们的播放渲染(输出),则需要依靠具有相关功能的编解码软件.当然随着硬件集成度越来越高,也有些基础功能内置到硬件中解码,以此减少软件解码过程中的CPU耗时操作,这种方式称为硬件加速.由于多媒体的播放渲染(输出)是由系统主动向用户发出的,通常不需要向用户申请权限.系统将数据直接发给应用程序,进而在应用程序内编程实现相关数据的解码播放渲染(输出)操作.故文章重点介绍在多媒体…
到目前为止,关于应用程序与用户之间的相关内容便比较肤浅的大致介绍完毕.而在整个系统架构中,应用程序与用户之间的交互,犹如参天大树上的枝干和树叶,交互起来五彩缤纷,但使整个生态系统保持生命力的核心,在于树根,也就是应用程序通过Android系统与设备上硬件的交互. 设备硬件 设备的硬件目前主要分为三大类,包括传感器系列硬件(重力传感器.加速度传感器.陀螺仪.位置传感器.光亮传感器等),互联通信系列硬件(SIM卡,无线WLAN,蓝牙.NFC.USB等),多媒体系列硬件(麦克风.播放器.相机等). 虽…
在硬件交互的首篇对设备硬件的分类中,互联通信系列硬件主要用来与其他设备进行数据交互.从本文开始,将重点介绍该系列相关硬件. 互联通信系列硬件 根据硬件的可通信距离,由近及远分为USB.NFC.蓝牙.WLAN,SIM卡槽,这些硬件之间的功能原理及关系可以查找其他资料详细学习.总之,他们为当前设备与其他设备的交互搭建了桥梁,只要双方设备均遵循该系列硬件的协议,就可以在硬件层互相通信,而设备上的Android操作系统便会将硬件层的数据转换为应用层数据,进而与应用程序交互.这样也就实现了两个不同设备上的…
通信硬件NFC的文章,虽然可以在Android系统中通过非直接接触的形式与支持NFC硬件的设备通信,但是也只能交互一些简短的标签内容,对大量的持续性数据,却并不能很好的支持.因此针对这个弊端,可以考虑使用支持Bluetooth技术的硬件. Android系统支持传统的Bluetooth技术,其实现功能不仅可以传输数据,还可以传输并执行远程控制指令.在Android4.3 即API 18 及以后的版本中,低功耗的Bluetooth技术(简称为BLE)取自传统Bluetooth的核心功能,可以更省功…
前两篇文章通过麦克风硬件和摄像头硬件分别采集音频和视频的多媒体数据,在得到的多媒体数据通常是以编码文件的格式存储,在用户需要展示时,可通过设备的内置扩音器或蓝牙耳机等硬件播放音频,通过设备的显示屏或外接投影仪等硬件播放照片.动画或视频. 可以将这些展示类设备分为两类. 一类是内置类多媒体硬件,是通过线路硬连接到设备CPU控制中心,所以在应用程序中可直接调取系统提供的相关接口直接使用这类设备.比如移动手机的内置扩音器.听筒.有线耳机.屏幕等硬件. 另一类是外接类多媒体硬件,是通过配合下文即将介绍的…
在上篇文章介绍了接入式USB硬件的简单使用,接下来将介绍不依赖物理连接的硬件通信了.本文的重点是近距离通信的硬件NFC. NFC硬件 应用程序中可以通过NFC硬件读取或发送指定协议的技术实现,在Android10.0之前甚至可以封装大段的NDEF数据.另外,Android系统基于NFC的特性,结合移动设备的安全元件,构建了一层HCE架构,从而应用于安全级别较高的公交卡刷卡或付款交易等操作. 权限声明 要想使用NFC硬件的相关功能,必须要声明权限,在应用程序的清单文件中声明<uses-permis…
Android系统的移动设备大多支持无线WLAN技术.利用该技术,不仅能实现互联网通信,还能实现无线定位,热点共享等远程通信功能.针对使用WLAN的不同功能,可能需要分别申请不同的权限声明,同时调用不同的系统框架API,下文将按照不同的使用功能分别介绍. 扫描无线设备 该功能通常只允许在系统自带的设置应用中使用,当然如果是第三方应用的目标版本在Android 9.0即API 28以下,也可以使用该功能.扫描周围的无线设备,需要用到android.net.wifi.WifiManager wifi…
现在的SIM卡通常具备基站定位.语音通话.短信消息.网络流量这四大功能,而在移动端是无法对SIM卡使用基站定位功能的,所以这里只介绍移动端如何使用SIM卡实现语音通话.短信消息.数据流量三个功能. 语音通话 Android系统中提供了通话服务,同时自带系统级应用可以通过该通话服务使用SIM卡的通话功能.因此在第三方应用中使用语音通话功能,有两种思路.其一是通过应用间唤起,由第三方应用传入指定的Intent意图对象调起系统电话应用,之后在系统电话应用操作完成后返回第三方应用:其二是在第三方应用中直…
在上篇文章中已经了解到界面Activity的绘制完全依赖其加载的视图组件View,不仅如此,用户的每次触摸操作都可以在界面Activity内接收并响应,也可以直接传递给其中的某个视图View响应.本文将针对这两种用户交互方式分别展开介绍. 界面内交互 界面响应 说到界面交互,很容易想到用户在设备屏幕上的触摸操作.可是屏幕那么大要怎么确定用户触摸的位置呢?Android系统定义了一套屏幕坐标规则,该规则不仅适用于当前的屏幕交互,在后文提及的动画绘制及其他屏幕相关操作等都同样适用.该规则将屏幕的左上…