編輯:關於Android編程
public class SensorActivity extends Activity implements SensorEventListener { private SensorManager mSensorManager; private Sensor mSensor; @Override public final void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //第一步:通過getSystemService獲得SensorManager實例對象 mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //第二步:通過SensorManager實例對象獲得想要的傳感器對象:參數決定獲取哪個傳感器 mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); } //第四步:必須重寫的兩個方法:onAccuracyChanged,onSensorChanged /** * 傳感器精度發生改變的回調接口 */ @Override public final void onAccuracyChanged(Sensor sensor, int accuracy) { //TODO 在傳感器精度發生改變時做些操作,accuracy為當前傳感器精度 } /** * 傳感器事件值改變時的回調接口:執行此方法的頻率與注冊傳感器時的頻率有關 */ @Override public final void onSensorChanged(SensorEvent event) { // 大部分傳感器會返回三個軸方向x,y,x的event值,值的意義因傳感器而異 float x = event.values[0]; float y = event.values[1]; float z = event.values[2]; //TODO 利用獲得的三個float傳感器值做些操作 } /** * 第三步:在獲得焦點時注冊傳感器並讓本類實現SensorEventListener接口 */ @Override protected void onResume() { super.onResume(); /* *第一個參數:SensorEventListener接口的實例對象 *第二個參數:需要注冊的傳感器實例 *第三個參數:傳感器獲取傳感器事件event值頻率: * SensorManager.SENSOR_DELAY_FASTEST = 0:對應0微秒的更新間隔,最快,1微秒 = 1 % 1000000秒 * SensorManager.SENSOR_DELAY_GAME = 1:對應20000微秒的更新間隔,游戲中常用 * SensorManager.SENSOR_DELAY_UI = 2:對應60000微秒的更新間隔 * SensorManager.SENSOR_DELAY_NORMAL = 3:對應200000微秒的更新間隔 * 鍵入自定義的int值x時:對應x微秒的更新間隔 * */ mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_NORMAL); } /** * 第五步:在失去焦點時注銷傳感器 */ @Override protected void onPause() { super.onPause(); mSensorManager.unregisterListener(this); } }
mSensor = mSensorManager.getDefaultSensor(int TYPE);//TYPE為Sensor中定義的static final 值
/** * 獲取加速度感應器的常量 */ public static final int TYPE_ACCELEROMETER = 1; /** * 獲取磁場感應器的常量 */ public static final int TYPE_FIELD = 2; /** * 獲取方向感應器的常量,已過時 */ @Deprecated public static final int TYPE_ORIENTATION = 3; /** * 獲取陀螺儀感應器的常量 */ public static final int TYPE_GYROSCOPE = 4; /** * 獲取光線感應器的常量 */ public static final int TYPE_LIGHT = 5; /** * 獲取壓力感應器的常量 */ public static final int TYPE_PRESSURE = 6; @Deprecated public static final int TYPE_TEMPERATURE = 7;//獲取溫度傳感器,已過時 /** * 獲取距離感應器的常量 */ public static final int TYPE_PROXIMITY = 8; /** * 獲取重力感應器的常量 */ public static final int TYPE_GRAVITY = 9; /** * 獲取線性加速度感應器的常量 */ public static final int TYPE_LINEAR_ACCELERATION = 10; /** * 獲取旋轉矢量感應器的常量 */ public static final int TYPE_ROTATION_VECTOR = 11; /** * 獲取相對濕度感應器的常量 */ public static final int TYPE_RELATIVE_HUMIDITY = 12; /** * 獲取溫度感應器的常量:取締了public static final int TYPE_TEMPERATURE = 7; */ public static final int TYPE_AMBIENT_TEMPERATURE = 13;
本文將告訴你如何讓你的應用程序支持各種不同屏幕大小,主要通過以下幾種辦法:讓你的布局能充分的自適應屏幕 根據屏幕的配置來加載合適的UI布局 確保正確的布局應用在正確的設備
單純使用GridView通用的兩種給GridView 添加分割線的方法;http://stackoverflow.com/questions/7132030/androi
一、什麼是Activity?簡單的說:Activity就是布滿整個窗口或者懸浮於其他窗口上的交互界面。在一個應用程序中通常由多個Activity構成,都會在Manifes
一個人需要隱藏多少秘密才能巧妙地度過一生 — 倉央嘉措前言上次看到一款學習的 App,有這樣一個功能,在一個 TextView 中有一段英文,點擊英文單詞通過