posts - 11,  comments - 21,  trackbacks - 0

V2 版本有几个注意事项:

  • 只能运行在Android2.2以及以上版本的设备上
  • 不能运行在模拟器中

 

  • 在开发环境中安装Goole Play service SDK.

(参考: http://developer.android.com/google/play-services/setup.html)

  1. 在Eclipse中打开 Windows>Android SDK Manager
    0T((W]AF]A)59ATEL6]B{DE
     
  2. 滚动条滚动到最下面,选择 Extra>Google Play services, 然后安装.
    未命名 
    下载后的Google Play services SDK 保存在<android-sdk-folder>/extras/google/google_play_services/.
  3. 复制<android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib到任何地方.我这里是复制到D:\code. 然后再eclipse中选择 File > Import, Android > Existing Android Code into Workspace. (注意: 这里是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 否则是无法导入的.)
    未命名
  4. 导入示例程序.
    为了不破坏SDK中的程序的原样,我们先把示例程序复制一份出来.
    复制
    <android-sdk-folder>/extras/google/google_play_services/samples/mapsD:\code 下.
    然后选择File > Import, Android > Existing Android Code into Workspace,把此程序导入到Eclipse中.(注意: 这里是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 否则会出现大量错误.)
    未命名
     
    这个工程导入后可能会出现很多问题,请尝试使用以下方法解决:
        1. 在此工程上点击右键,选择Properties>Android, 在右下方的Library选项中如果出现红叉,先把它删除,然后点击添加按钮,把前面导入的google-play-services_lib工程加进来
        2. 另一个问题就是android.support找不到,这个是缺少android-support-v4.jar,可以通过在工程上点击右键,选择Android Tools > Add Support Library, 会从网络上下载.如果网络下载有问题,也可以在工程中新建目录libs,然后把此文件从<android-sdk-folder>\extras\android\compatibility\v4\android-support-v4.jar复制到新建目录一个就可以了.

获得Google Maps API Key 在V2版本中需要如下几个步骤:

  1. 查看程序签名的SHA1认证指纹.
    在开发模式下,默认会使用C:\Users\<你的用户名称>\.android\debug.keystore这个自动生成的debug状态的签名文件,可以通过Windows>Preferences>Android中的Default debug keystore进行查看.
    接下来进入你的系统的命令行控制台中,切换到你安装的JDK的bin目录中输入keytool -v -list -keystore C:\Users\<你的用户名称>\.android\debug.keystore,密码是android,查看"证书指纹"中的SHA1中的内容,这个内容记下来,接下来会使用到.
    未命名

  2. 创建Google Maps API Key.
    访问Google APIs Console(https://code.google.com/apis/console).如果没有登录,就先登录.登录后,如果是首次使用,会出现让你创建API工程的页面.
    未命名
    点击Create project后会跳转到services页面,需要在这个页面选择你要使用的API.这里我们选择Google Maps Android API v2.
    未命名
    之后会跳转到服务条款确认的页面,接受后,在显示的页面中左边列表选择”API Access”,然后点击Create new Android key... 按钮.
    TM截图未命名
    在弹出的对话框中填写SHA1认证指纹和程序的包命,中间用分号分隔(google自带的google map v2示例程序的包命是com.example.mapdemo):
    0E:10:94:C7:B9:FD:15:62:27:FC:E7:FC:0C:05:59:A7:18:41:F5:B2;com.example.mapdemo
    点击create按钮后,就创建了一个新的API key:
    TM截图未命名

  • 配置运行示例程序

  1. 打开示例程序的AndroidManifest.xml, 把上面生成的API key复制到以下位置:
    TM截图未命名

  2. 现在,这个程序可以在手机中运行了(不能运行在模拟器中).如果手机中没有安装Goole Play Services和Google Map,程序会崩溃,在Android Logcat视图中可以看到提示相关东西没有安装.这种方式非常不友好,我们应该添加一些代码,提示用户安装安装缺少的东西.
    在MainActivity.java中的最下面添加如下代码:
    //======= For Google Maps Check============ public boolean isGoogleMapsInstalled() { try { ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } public OnClickListener getGoogleMapsListener() { return new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.apps.maps")); startActivity(intent); //Finish the activity so they can't circumvent the check finish(); } }; }


    然后在onCreate方法中添加一些代码,如下:
    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListAdapter adapter = new CustomArrayAdapter(this, demos); setListAdapter(adapter); //======= For Google Maps Check============ if (!this.isGoogleMapsInstalled()) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Install Google Map ?"); builder.setCancelable(false); builder.setPositiveButton("Install", getGoogleMapsListener()); AlertDialog dialog = builder.create(); dialog.show(); } }


    现在再运行,就会提示用户安装缺少的内容.

posted on 2013-01-03 23:16 xmlspy 阅读(9480) 评论(1)  编辑  收藏

FeedBack:
# re: Google Map Android v2开发: 安装运行Google Map Android v2 示例程序
2013-09-05 00:17 | androiod 开发人员
你这个判断不了GOOGLE MAP 是否能运行的
用这个判断
GooglePlayServicesUtil.isGooglePlayServicesAvailable(this)  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2013年9月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜