2012-04-26 40 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

相关问题