對Android手機全新效能全預覽

來源:互聯網
上載者:User

目前市場上發布的Android手機,已經全面對Android的指南針、網路攝影機預覽、加速度感應器與GPS子系統做出了進一步的提高,下面文章將對其功能進行了全面的介紹瞭解。

獲得位置管理器看起來好像挺簡單的,但是還是得牢記一些事項。首先,我們也許只能在UI主線程中請求位置管理器。我們要麼在有關動作的onCreate調用中請求LocationManager對象。

要麼使用LocationManager請求建立一個運行於主線程的可執行對象。為簡單起見,下面的範例程式碼將從一個動作的onCreate方法中註冊LocationManager更新。如您所見,這裡聲明了一個LocationManager對象.。

使用getSystemService獲得您的對象,然後調用了requestLocationUpdates。您可能想知道位置更新時需要哪些參數。首先,您告訴系統,您想使用系統中GPS裝置的位置更新功能。然後,您告訴它您希望多長時間更新一次(本例時間間隔為100ms)。

並且每當移動一米以上時就更新。這樣,Android手機就能迅速識別他們的移動情況並調整它們與其他對象的位置關係。最後,傳入實現LocationListener介面的類的執行個體。為位置更新傳遞請求後,LocationListener類將收到初始位置,繼之以後來位置的改變情況。下面是我們的LocationListener:

 
  1. <html> 
  2.  
  3. <head> 
  4.  
  5. <title>PageTitle</title> 
  6.  
  7. </head> 
  8.  
  9. <body> 
  10.  
  11. Thecontentofthebodyelement.  
  12.  
  13. </body> 
  14.  
  15. </html> 
  16.  
  17. 就如Android的XML布局一樣,所有的元素都是結構化的,能夠通過樹形結構來表示:  
  18.  
  19. <?xmlversionxmlversion=”1.0″encoding=”utf-8″?> 
  20.  
  21. <LinearLayout 
  22.  
  23. http://schemas.android.com/apk/res/android  
  24.  
  25. android:orientation=”vertical”  
  26.  
  27. android:layout_width=”fill_parent”  
  28.  
  29. android:layout_height=”fill_parent”> 
  30.  
  31. <TextView 
  32.  
  33. android:layout_width=”wrap_content”  
  34.  
  35. android:layout_height=”wrap_content”  
  36.  
  37. android:text=”HelloWorld”/> 
  38.  
  39. </LinearLayout> 

在上面的代碼中,我們唯一需要關心的就是onLocationChanged這個方法。然而,我們還會介紹這個對象的其它方法。以便您將這個對象複製到您自己的代碼中時能夠瞭解它們。 一旦衛星鎖定了這個裝置,方法onLocationChanged就會被調用,之後每經過在請求更新時指定的時間間隔(本例中為100ms)後,就會調用一次。

每當位置更新時,都會帶來一個Location對象。我們通過這個類可以獲得目標的經緯度,並完成許多重要事情。這裡我們最感興趣的方法是getLatitude()、getLongitude()、bearingTo()與distanceTo()。使用這四個函數,我們可以計算出任何隨後的位置的方位角,並確定出離您的距離有多遠。

 
  1. sensorMan = (SensorManager) ctx.getSystemService(Context.SENSOR_SERVICE);  
  2. sensorMan.registerListener(listener,  
  3.    sensorMan.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),  
  4.    SensorManager.SENSOR_DELAY_FASTEST); 

我們調用了Android手機內容物件(上述代碼中為ctx)的getSystemService方法。下面是用於方向監聽器與加速度感應器監聽器的完整代碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.