关于android应用签名以及google map api的申请和使用

 

官方的这篇文档 讲了关于android的程序签名的东西,首先所有安装在android上的app都需要先签名才能安装,而签名这东西(签名详细内容请自行查看公钥密钥加密和数字签名的相关内容)就是说明了开发者到底是谁的问题,而默认使用sdk开发安装到模拟器上其实是用的是默认的签名即debug.keystore文件,使用google map api的时候需要用签名来申请key才能使用。

在项目上右键android tools->export signed application package是用来导出签名应用的,也就是打包成可以安装的apk文件,然后就会让你选择密钥文件,如果没有的话就可以生成一个,以后都用此密钥文件。

对于模拟器上的,默认的是debug.keystore存放位置可以在eclipse下window->preferences->android->build里查看

  • Keystore name: "debug.keystore"
  • Keystore password: "android"
  • Key alias: "androiddebugkey"
  • Key password: "android"
  • CN: "CN=Android Debug,O=Android,C=US"

这是debug.keystore相关内容。

下面就开始说google map api的申请和使用,这里是官方文档

首先就是利用.keystore文件来生成MD5之后来申请key,下面就以在模拟器下的使用举例。

进入到刚才debug.keystore的文件夹,输入命令

  1.  keytool -list -keystore debug.keystore

输入密码android之后会显示出一行MD5码,然后输入到这个网址成功后显示

然后建项目和建模拟器target那都需要选google api才可以的,然后main.xml里加入MapView,而主程序这样写

  1. package com.example;
  2.  
  3. import android.os.Bundle;
  4.  
  5. import com.google.android.maps.MapActivity;
  6. import com.google.android.maps.MapView;
  7.  
  8. public class hello extends MapActivity {
  9.     /** Called when the activity is first created. */
  10.     @Override
  11.     public void onCreate(Bundle savedInstanceState) {
  12.         super.onCreate(savedInstanceState);
  13.         setContentView(R.layout.main);
  14.         MapView mapView=(MapView)findViewById(R.id.map_view);      
  15.         mapView.setBuiltInZoomControls(true);
  16.     }
  17.  
  18.  @Override
  19.  protected boolean isRouteDisplayed() {
  20.   // TODO Auto-generated method stub
  21.   return false;
  22.  }
  23. }

可以看到需要继承MapActivity而不是Activity,然后加入了可以使地图放缩的命令
还有一点需要注意,就是程序调用了其他的api并且需要使用网络的权限所以需要在AndroidManifest.xml里进行注册

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.       package="com.example"
  4.       android:versionCode="1"
  5.       android:versionName="1.0">
  6.     <uses-sdk android:minSdkVersion="8" />
  7.  
  8.     <application android:icon="@drawable/icon" android:label="@string/app_name">
  9.         <activity android:name=".hello"
  10.                   android:label="@string/app_name">
  11.             <intent-filter>
  12.                 <action android:name="android.intent.action.MAIN" />
  13.                 <category android:name="android.intent.category.LAUNCHER" />
  14.             </intent-filter>
  15.         </activity>
  16.    <uses-library android:name="com.google.android.maps" />
  17.  
  18.     </application>
  19.     <uses-permission android:name="android.permission.INTERNET"/>
  20.    
  21. </manifest>

运行程序就可以显示出像本文章最上面那种图那样的地图了。
然后想进一步了解google map及相关api的可以查看这篇hello-mapview官方的api文档

您可能喜欢:
我猜您可能还喜欢:
, , ,

《关于android应用签名以及google map api的申请和使用》有 2 条评论

Trackbacks/Pingbacks:

  1. Thought this was cool: CUDA编程入门 « CWYAlpha

发表评论