一个可以把现在的心情记录到地图上的 APP ,基于高德 LBS 开放平台。

需要用到的工具

Android Studio 和 Genymotion 的基本使用方法可参考《Android学习记录——开发环境搭建》

创建应用——MoodMap

1. 使用 Android Studio 创建一个名为 MoodMap 的 Android 项目

配置保持默认参数即可:

导入高德 LBS 开放平台相关 SDK

1. 注册高德 LBS 开放平台账号并获取相关 SDK 的 KEY

注册账号后在我的 KEY页面获取 Android 平台 SDK 和 Rest 服务接口的 KEY。

2. 下载 SDK

3. 配置 SDK 库文件

将 SDK 包中对应的 .jar 文件复制到当前 app 项目下的 libs 目录中;然后再 Android Studio 中依次右击 .jar文件,选择 Add as library ,将其导入当前 app 项目。

创建一张云图

通过以下命令请求 Rest 服务接口创建一张用于存储心情数据的云图:

RestKey为刚才申请的 Rest 服务接口的 KEY,注意保存返回结果中的tableid,后面需要保存到 AndroidManifest.xml 文件中。

导入 Android Asynchronous Http Client

在项目 build.gradle 文件的 dependencies 节中添加一行compile 'com.loopj.android:android-async-http:1.4.5'

实现 APP 的功能

1. 界面

res/layout/activity_main.xml:

res/layout/choose_mood.xml:

res/values/strings.xml:

复制以下3张图片到 res/drawable/ 目录下:

2. 逻辑

MainActivity.java:

3. 修改AndroidManifest.xml

注意将代码中的AndroidKeyRestKeyCloudTableId替换成自己应用的。

测试应用

使用 Android 4.1 或以上版本的手机打开 MoodMap (Genymotion模拟器需要先打开GPS并设置当前的位置),选择一个表情,等待片刻便能在地图上看到自己所在的位置多了一个表情,如下图所示。

要点总结

1. 界面

应用初始化完成后会创建一个自定义的对话框,其布局文件位于 choose_mood.xml 文件中,当用户做出选择后该对话框即关闭。

2. 逻辑

此应用启动后首先初始化 2D 地图 SDK,然后发起定位请求,获得位置信息后显示对话框让用户选择当前的心情,之后保存用户的心情到云图,最后更新云图数据显示到地图上。期间使用到 2D 地图 SDK 、 定位 SDK 和 云图 SDK ,具体使用方法可参看实现代码及文档。

3. AndroidManifest.xml

应用将用到第三方服务的 KEY 保存到了 meta-data 字段,可在 Java 代码中通过如下方式获取:

原文:大专栏  Android学习记录——让应用通晓地理


01-14 10:11