由于百度地图官方给出的是Eclipse的开发方式,所以这里讲一下我用android studio开发遇到的问题。(eclipse相对于android studio确实是资料,开发人员熟悉度都要强,但是studio毕竟亲儿子,虽然现在还存在很多缺点比如运行慢,操作不习惯,但是谷歌会继续打造它的,所以总会有一天代替eclipse去开发安卓应用,所以我就先研究了)
1.现在百度地图可达以定制jar包,根据你的需求下载相应jar包就行,配置根据官方说明配置就行,如下图1-1目录结构,libs下的包要右键->添加成lib才行。
添加到
图1-1目录结构
2.清单文件的权限,下面是我添加的,官方需要的比这些要少,为了学习一一介绍一下。
<uses-permission android:name="android.permission.GET_ACCOUNTS" />//<span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20.7999992370605px;">访问一个帐户列表在Accounts Service中</span>
<uses-permission android:name="android.permission.USE_CREDENTIALS" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px; background-color: rgb(216, 216, 216);">允许程序请求验证从AccountManager</span>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">允许程序管理AccountManager中的账户列表</span>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息</span>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">,获取网络信息状态,如当前的网络连接是否有效</span>
<uses-permission android:name="android.permission.INTERNET" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">访问网络连接,可能产生GPRS流量</span>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">允许读系统设置项</span>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px; background-color: rgb(216, 216, 216);">改变WiFi状态</span>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">,获取当前WiFi接入的状态以及WLAN热点的信息</span>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">访问电话状态</span>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">允许程序写入外部存储,如SD卡上写文件</span>
<uses-permission android:name="android.permission.BROADCAST_STICKY" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">,允许一个程序收到广播后快速收到下一个广播</span>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">允许读写系统设置项</span>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />//<span style="font-family: Verdana, Helvetica, Arial; line-height: 18px;">访问电话状态</span>
下面是官方的
3.配置完成后运行的时候出现了下面一个问题,找了好多资料才解决,原来是把清单文件中的权限属性内容放到application标签的外面去就行了。
05-28 08:22:30.580: E/AndroidRuntime(332): java.lang.SecurityException: ConnectivityService: Neither user 10036 nor current process has android.permission.ACCESS_NETWORK_STATE.