Android_功能开发笔记

重力感应 感应器编程

a.获取系统服务
SensorManager sensormanager = (SensorManager)getSystemSeriver(SENSOR_SERVICE);
b.通过SensorManager对象获取相应的Sensor类型的对象
SensorManager sensorObject = sensormanager.getDefaultSensor(sensor Type);
c.声明一个SensorEventListener 对象用于侦听Sensor 事件,并重载onSensorChanged方法
SensorEventListener sensorListener = new SensorEventListener(){
};
d.注册相应的SensorService
sensormanager.registerListener(sensorListener, sensorObject, Sensor TYPE);
e.销毁相应的SensorService
sensormanager.unregisterListener(sensorListener, sensorObject);
f: SensorListener 接口是传感器应用程序的中心。
onSensorChanged(int sensor,float values[]) 

该方法在传感器值更改时调用。
该方法只对受此应用程序监视的传感器调用(更多内容见下文)。该方法的参数包括:一个整数,指示更改的传感器;一个浮点值数组,表示传感器数据本身。有些传感器只提供一个数据值,另一些则提供三个浮点值。方向和加速表传感器都提供三个数据值。

LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.Layout_inflater_service);
利用上下文对象取得布局服务
View convertView = layoutInflater.inflate(listviewItem, null);
Android aidl服务通信

远程对象Ibinder是代理对象
系统内部的服务也需要进行aidl实现

1,强制执行单任务模式

如果应用程序跳转走后再次启动的话,可能会在设备上产生多个activity的实例,会可能导致异常
确保设备上只有一个actuvity执行

android:launchMode="singleInstance"

使得所有的activity作为一个任务,共享信息非常方便

android:lanuchMode="sigleTask"
2,强制纵屏
android:screenOrientation="portrait"

强制横屏

android:screenOrientation="landscape"

在硬键盘滑出时,先前的情况还是会导致activity的关闭和重新启动,所以可以采用第三种办法,告知Android系统处理应用程序方向和键盘滑出事件,可以在activity元素属性中添加如下代码:

android:configChanges="orientation|keyboardHidden"

该方法可以单独使用,也可以和screenOrdientation属性结合在一起使用,视应用程序要求而定

3,声音转换为文本

Google功能
RecongizerIntent

4,设置线程优先级

可以在

myThread.start()

前,调用

myThread.setPriority(priority)

为线程设置不同的优先级,这里的priority不能大于常量Thread.MAX_PRIORITY(该值为10),也不能小于1

5,有时候当一个组件完成或被杀死后,开发者希望由它产生的线程也被杀死

方法一:

mythread.interrupt()

方法二:

mythread.setDaemon(true)

将所有生成的线程声明为守护线程,这样可以确保如果应用程序的主线程被杀死,那么该应用程序的所有守护线程可也以都被杀死
方法三:
可以在run()方法中使用
while(isRunning)并且从循环外部
isRunning=false的方法来杀死线程,
但是这种方法的确定是不能有效的控制线程停止的时间

6,倒数计时器
CountDownTimer
7,使用搜索键
8,使用手势
simpleongestureListener()