写点什么

Android 功能开发笔记

作者:沃德
  • 2022 年 7 月 20 日
  • 本文字数:1260 字

    阅读完需:约 4 分钟

重力感应 感应器编程

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()
复制代码


用户头像

沃德

关注

我就是个零 2018.06.14 加入

程序员而已

评论

发布
暂无评论
Android 功能开发笔记_android_沃德_InfoQ写作社区