Android SDK:构建一个购物中心搜索的应用(一)-Mapview & Location
本教程将探讨如何使用谷歌地图API来显示出信息点(POI),并使用手机提供的定位服务,来显示当前位置可搜索到的POI位置。这种情况下,我们应使用商场作为POI。
我把教程分为了两部分。
第一部分(在本节中)将介绍包括:
1.MapView对象的使用
2.使用MD5密文获取一个谷歌地图API密钥
3.实现一个地点易做图,以获得你的当前位置
第二部分将包括:
1.在应用程序中使用外部库类
2.创建显示出你的当前位置和周边的信息点
word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">现在让我们开始吧!
>步骤1:创建一个新的Android项目
启动Eclipse IDE并创建一个新的Android项目。
File > Create > New Android Project
使用以下设置创建新的项目:
项目名称:MallFinder
生成目标:Google APIs Platform–2.1 API Level 7
应用程序名:Mall Finder
包名称:com.shawnbe.mallfinder
创建Activity:MallFinderActivity
最低SDK版本:7
设置完成后,点击完成。
>步骤2:在谷歌上注册获取API密钥
因为MapView对象使用谷歌地图,你需要在谷歌注册一个API密钥,并同意服务条款,然后才可以使用他们。注册过程相当简单。想要了解更多关于获得地图API密钥信息,请查看此链接。
要对你的应用程序进行签名就必须要用到的MD5密文生成的API秘钥,听起来很令人困惑,但它并不难,因为你会发现它像当我们之前的几个步骤 。而不是上面的链接所述,使用命令行的方式得到你的MD5密文,我们将使用keytool的一个Eclipse插件 。想要了解更多有关keytool的插件信息,请查看此链接。
>步骤3:安装keytool插件
在Eclipse IDE中,导航到 Help > Install New Software。
当新的窗口弹出,在窗口的顶部点击“Add”按钮。
在“Name”栏输入“keytool”(不含引号),
在“Location”栏输入“http://www.keytool.sourceforge.net/update”
点击“OK”。
经过短暂的加载时间,窗口将出现一个标有“keytool”的复选框。选中该复选框并单击“下一步”。同意协议的条款,然后单击“下一步”完成。
注意:在安装过程中,可能会提示您确定是否信任安全证书。如果你确定,就选中复选框并单击“确定”继续安装。
安装完成后,将会提示重新启动Eclipse。
>步骤4:获取MD5密文
Eclipse重新启动之后,你应该看到一个新的菜单项“keytool”,它旁边有一个小钥匙图标。
我们现在要打开调试的keystore。
注意:由于操作系统的位置可能会有所不同。各种操作系统的默认位置:
- >Windows Vista : C:\Users\<user>\.android\debug.keystore
- >Windows XP : C:\Documents and Settings\<user>\.android\debug.keystore
- >OS X and Linux : ~/.android/debug.keystore
点击keytool菜单项>打开密钥库。
点击位于“文件名”文本框右侧的“浏览”按钮,并找到keystore的位置(上述为默认位置),并选择debug.keystore文件。
单击“打开”,选择类型“android”(不带引号),这是默认的调试密码,然后单击“Load”。
现在应该在屏幕底部的面板可见一个新的keytool的标签(如果你没有看到它,导航到“Window > Open Perspective > Java Browsing”)。
点击debug.keystore路径左侧的小箭头将显示androiddebugkey。
双击androiddubugkey并复制MD5密文。
打开Web浏览器,进入以下网址。 http://code.google.com/android/maps-api-signup.html
阅读并同意条款,在文本框中输入MD5密文,并点击“Generate API Key”。请注意保存好你的API密钥,因为使用MapView的时候需要它。
>步骤5:在布局中添加MapView
在这一步,我们将添加一个MapView到布局文件。
打开位于MallFinder > res > layout> main.xml中的main.xml文件,并修改该文件如下所示,包括一个FrameLayout和MapView
:
01
<?xml version="1.0" encoding="utf-8"?>
02
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03
android:layout_width="fill_parent"
04
android:layout_height="fill_parent"
05
android:orientation="vertical" >
06
<FrameLayout
07
android:layout_width="fill_parent"
08
android:layout_height="fill_parent">
09
<com.google.android.maps.MapView
10
android:id="@+id/mapView"
11
android:layout_width="fill_parent"
12
android:layout_height="fill_parent"
13
android:clickable="true"
14
android:apiKey="PUT YOUR API KEY HERE"/>
15
</FrameLayout>
16
</LinearLayout>
上述布局在整个可用的屏幕空间创建一个MapView。在当前状态下运行的应用程序,将导致在强制关闭。我们还需要完成多个步骤。
步骤6:设置权限,并导入所需的库
由于我们的应用程序将会从Google Maps下载数据,同时需要从手机的GPS或其他定位服务访问信息,所以我们需要在AndroidManifest文件中的声明必要的权限来使用这些服务。
补充:移动开发 , Android ,