編輯:初級開發
今天有個公司說需要動作感應的幾個小游戲!也接觸android很久了,但是以前沒有看過關於動作感應技術的教程,到google上也沒搜索到類似教程!只有自己看API了,加上就其他平台的動作感應試試吧!就在這裡記錄下收獲吧!
1.發現android提供了SensorListener接口
2.要使用還得有個動作感應管理器SensorManager
Java代碼
//取得SensorManagerSensorManager sensorMgr = (SensorManager)getSystemService(SENSOR_SERVICE);
3.注冊我們獲得的SensorManager
Java代碼
//返回true表示注冊成功,flase則反之sensorMgr.registerListene(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);
如果注冊SensorManager不成功就調用
Java代碼
sensorMgr.unregisterListener(this,SensorManager.SENSOR_ACCELEROMETER);
4.SensorListener必須實現兩個方法
Java代碼
public void onAccuracyChanged(int arg0, int arg1) {}public void onSensorChanged(int sensor, float[] values) {}
5.自己定義一個3D的坐標
Java代碼
class Pos3D{ float x; float y; float z;} Pos3D cur,last;
在方法中這樣就可以獲得數據
Java代碼
cur.x = values[SensorManager.DATA_X];cur.y = values[SensorManager.DATA_Y];cur.z = values[SensorManager.DATA_Z];float speed = Math.abs((cur.x+cur.y+cur.z)-(last.x+last.y+last.z))/ 間隔的時間
下面就是判斷這個speed大於自己定義的一個數值時,進行處理
Java代碼
if(speed > 1000){ //這裡來進行處理}
就這樣最基本的實現了動作感應,,但是大家肯定能感覺得到這個方法的不足之處,我也還在研究更好的方法,希望一起討論。
不多說,上圖,見代碼。 package lab.sodino.airplane; import Java.text.SimpleDate
在經過長時間的等待之後我們在今天終於看見了看見了全新的Google Reader軟件,當然更為難能可貴的是這款軟件竟然是Google官方推出的,目前廣大的用戶已經可以在
很多初入Android的開發者可能會發現經常遇到Force Close或ANR這樣的問題,一般我們通過android系統的錯誤日志打印工具Logcat可以看到出錯的內容
最近因為因緣際會,看了好些與創新理論相關的書籍。其中創新理論權威、哈佛大學商學院教授克裡斯汀生所著《創新者的解答》一書,我個人認為頗有意思,尤其對於開放系統與封閉系