2012-04-26 38 views
0

我想開發一個包含地圖功能並在Android OS上運行的應用程序。 我的問題是,如何在沒有Google地圖庫的Android設備上運行此應用程序?如何開發在包含或不包含GMS的Android設備上運行的應用程序?

例如, 有一個活動包含一些片段,其中一個片段包括地圖特徵。在這種情況下,活動「必須」擴展了地圖庫中的MapActivity。這對使用GMS的設備沒有任何問題,但沒有GMS的設備如何?

首先,我加入「需要=‘假’」對地圖庫屬性在AndroidManifest.xml

<uses-library android:name="com.google.android.maps" 
    android:required="false"/> 

而且具有如果在設備沒有地圖圖書館活動不使用地圖片段。 但該活動擴展了MapActivity,而MapActivity位於地圖庫中。 當設備具有地圖庫時,此活動如何擴展MapActivity,並在設備沒有時擴展活動?

回答

1

您可以通過讓兩個不同的類擴展MapFragment來實現這一點,另一個擴展Fragment或Activity,然後檢查Google Play Services的可用性。

如果你打算使用谷歌地圖V2(你應該因爲V1將停止在三月工作)有一種方法來檢查,如果谷歌播放服務是可用的http://developer.android.com/google/play-services/setup.html

一旦你如果谷歌Play服務,都已經建立可用,您可以實例化擴展MapFragment的活動或擴展Activity的活動。

當然,常見的功能將在類之間共享,在這種情況下,您將不得不通過組合來完成,因爲繼承是不可用的。

+0

感謝Google地圖v1版本實施兩項活動可能是一個很好的解決方案。 – LZN 2013-02-07 09:15:16

相關問題