胡凯

Android Training - 优化电池续航能力(Lesson 1 - 监测设备的电量与充电状态)

| Comments

显然,手持设备的电量需要引起很大的重视。通过这一系列的课程,可以学会如何根据设备电池状态来改变App的某些行为与功能。

通过在断开连接时关闭后台服务,在电量减少时减少更新数据的频率等等操作可以在不影响用户体验的前提下,确保App对电池寿命的影响减到最小。

Monitoring the Battery Level and Charging State[监测电池的电量与充电状态]

当你想通过改变后台更新操作的频率来减少对电池寿命的影响,那么先手需要检查当前电量与充电状态。

电池的电量与是否在充电状态会影响到一个程序去执行更新的操作。当设备在进行AC充电时,程序做任何操作都不太会受到电量的影响,所以在大多数时候,我们可以在设备充电时做很多想做的事情(刷新数据,下载文件等),相反的,如果设备没有在充电状态,那么我们就需要尽量减少设备的更新操作等来延长电池的续航能力。

同样的,我们可以通过检查电池目前的电量来减少甚至停止一些更新操作。

Android Training - 音频播放(Lesson 3 - 音频设备的相关问题)

| Comments

用户在播放音乐的时候有多个选择,可以使用内置的扬声器,有线耳机或者是支持A2DP的蓝牙耳机。 【补充:A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定! A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰度。有A2DP的耳机就是蓝牙立体声耳机。声音能达到44.1kHz,一般的耳机只能达到8kHz。如果手机支持蓝牙,只要装载A2DP协议,就能使用A2DP耳机了。还有消费者看到技术参数提到蓝牙V1.0 V1.1 V1.2 V2.0——这些是指蓝牙的技术版本,是指通过蓝牙传输的速度,他们是否支持A2DP具体要看蓝牙产品制造商是否使用这个技术。来自百度百科

Android Training - 音频播放(Lesson 2 - 管理音频焦点Audio Focus)

| Comments

很多App都可以播放音频,因此在播放前如何获取到音频焦点就显得很重要了,这样可以避免同时出现多个声音,Android使用audio focus来节制音频的播放,仅仅是获取到audio focus的App才能够播放音频。

在App开始播放音频之前,它需要经过发出请求[request]->接受请求[receive]->音频焦点锁定[Audio Focus]的过程。同样,它需要知道如何监听失去音频焦点[lose of audio focus]的事件并进行合适的响应。

Android Training - 音频播放(Lesson 1 - 控制app的音量与播放)

| Comments

如果你的App在播放音频,显然用户能够以预期的方式来控制音频是很重要的。为了保证好的用户体验,同样App能够获取音频焦点是很重要的,这样才能确保不会在同一时刻出现多个App的声音。在学习这个课程后,你将能够创建对硬件音量按钮进行响应的App,当按下音量按钮的时候需要获取到当前音频的焦点,然后以适当的方式改变音量从而进行响应用户的行为。


一个好的用户体验是可预期可控的。如果App是在播放音频,那么显然我们需要做到能够通过硬件按钮,软件按钮,蓝牙耳麦等来控制音量。 同样的,我们需要能够进行play, stop, pause, skip, and previous等动作,并且进行对应的响应。