当前位置: 首页 > news >正文

帮别人做app网站门户的兼职项目建设管理费

帮别人做app网站门户的兼职,项目建设管理费,三维动画设计,asp商业网站源码Android 百度离线地图(由apk文件转入手机内部存储) 最近做了一个小项目,需要使用百度地图,但是使用了VPN专线,不能连接外网,也就是说我不能使用百度地图自带的离线地图下载方式,因为从软件安装…

Android 百度离线地图(由apk文件转入手机内部存储)

最近做了一个小项目,需要使用百度地图,但是使用了VPN专线,不能连接外网,也就是说我不能使用百度地图自带的离线地图下载方式,因为从软件安装开始就是在无网状态下执行的,因此需要另外使用一种方法实现百度地图的展示。

首先换一种思路,我们现将手机连接网络下载百度地图离线包,将下载下来的百度地图离线文件找到,将这些离线包放进APP的目录下,在app里面写一段代码,在某一时刻将APP里的这些离线包写入手机内存,这样百度地图就可以使用手机内存中的离线地图包了。手机用的离线包是以 .dat 结尾的,有些方式下载下来不是 dat 结尾可能用不了,注意一下!!!

下载的百度离线地图包在文件管理下,Android/data/应用项目包/files/BaiduMapSDKNew/vmp 下,比如下载了几个是这个样子,把这几个问价放到APP项目assets文件夹下:
在这里插入图片描述
APP项目assets文件夹:
在这里插入图片描述
然后写一个类,作用主要是把assets文件夹下的文件全部写到手机内部存储,然后使用百度地图的时候他检测到没有网就会去查看手机内部有没有离线地图,如果有的话,就可以显示出来。但是百度地图会检测appkey的有效性,如果联网可以检测出来并且使用,但是没有网络这个appkey就没法检测,如果调试的话会报appkey无效的错误,因为没法验证,但是不影响百度地图离线包的使用。

package com.wjw.ceshi.util;import android.content.Context;import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;public class MapOffLine {public static void copy(Context context) {try {// 这个数组用来存放离线地图文件的名称String fileName[] = {"binzhou_235.dat","dezhou_372.dat",// 如果有其他的就加进来,因为是确定的所以说这样写尽管不合适,但是也行...};// 这个是百度地图在没有网络的时候读取离线文件的目录,也就是说我们要把APP assets文件夹下的百度离线地图包放到这个文件夹下。String path = context.getExternalFilesDir("/BaiduMapSDKNew/vmp").getPath();// 每个文件的路径,也是个数组String filepath[] = {path + "/" + fileName[0],path + "/" + fileName[1],// 也是,fileName数组有几个就写几个。。。};File file = new File(path);if (!file.exists()) { // 判断一下这个路径有没有,没有的话就创建一下file.mkdir();}// 循环我们的地图文件for (int i = 0; i < fileName.length; i++) {// 如果这个地图文件没有if (!(new File(filepath[i])).exists()) {// 如果手机内存没有这个文件就去创建一个文件new File(filepath[i]).createNewFile();// 一个流操作,把APP assets文件下对应的文件放进去,循环完成就OK了。InputStream is = context.getAssets().open(fileName[i]);FileOutputStream fos = new FileOutputStream(filepath[i]);byte[] buffer = new byte[8192];int count = 0;while ((count = is.read(buffer)) > 0) {fos.write(buffer, 0, count);}fos.close();is.close();}}} catch (Exception e) {e.printStackTrace();}}}

最好添加两个读写权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

这两个权限是操作SD卡读写的,不知道这里需不需要,写上把先。

OK。到这里基本上就完成了,只要在某个时刻把这个方法执行一下就可以了!

http://www.yayakq.cn/news/166715/

相关文章:

  • 伪静态网站入侵阿里巴巴外贸学院
  • 秦皇岛中兵建设集团网站网页打包成apk
  • 网站建设要求 牛商网网页代码是什么语言
  • wordpress推送服务器wordpress固定链接优化
  • 网站开发的现状分析网站如何做电脑销售
  • 读书网站建设策划书摘要黑马培训
  • 黄冈网站搭建推荐注册企业视频号
  • 中国建筑人才网是什么网站景点介绍网站开发设计
  • 陇西 网站建设服务中心网站建设方案
  • 提高网站排名的方法1688外贸
  • 网站需要访客上传图片该怎么做小学网站asp
  • 成都市网站建设公北京大型网站建设
  • 汽车可以做哪些广告视频网站网站建设主要由哪几个部分组成
  • 重庆网站推广公司哪家好顺德大良那里做网站好
  • 中国网站备案信息查询广告设计作品集
  • 合肥市城乡建设厅网站个人旅游网站建设方案
  • 文字堆积网站南通网站定制哪家好
  • html网站模板怎么用外贸建站注意事项
  • 注册网站会不会有问题python在线编程题库
  • 深圳房地产网站建设动漫设计培训机构
  • 企业网站建设单位wordpress侧边栏显示单个分类列表
  • 高邮做网站大英哪里有做网站的
  • 营销型网站建设特点凡科网站是什么做的
  • 福州做网站建设公司希爱力
  • 东莞网站建设平台企业网站建设算什么费用
  • 网站排名优化原理做网站建设的公司有哪些方面
  • 西安哪里做网站最大中学生旅游网站开发的论文怎么写
  • 网站建设专业可行性分析wordpress 访客统计
  • 长沙注册公司核名网站烟台做网站哪家做的好
  • 贵州公司网站建设比选公示郑州专门做喷绘安装的网站