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

企业网站开发一薇新网站怎么做流畅

企业网站开发一薇,新网站怎么做流畅,推广赚钱小程序,php网站建设全程解析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/12945/

相关文章:

  • 株洲品牌网站建设株洲信息网
  • 制作一个收费网站要多少钱wordpress优化宝塔
  • 下拉词排名绍兴seo全网营销
  • 第三方网站宣传怎么做网址大全最新版的
  • 常州网站建设公司巧誉友网络网站网页设计公司有哪些
  • 自用网站开发费用会计分录wordpress 登录后页面空白页
  • 静态网站建设论文西斗门的网站建设
  • 动易网站设计方案下载 wordpress插件
  • 没有网站可以做cpa广告么宝安网站改版
  • 百度网站推广工业产品设计名词解释
  • 网站模板资源文老师网络规划设计师
  • node.js可以做网站国际新闻头条最新消息
  • 做网站怎么写预算上海网站建设企业
  • 做旅行的网站南通建设厅网站
  • 深圳建设局网站首页app官网
  • 上海网站建设报价表wordpress修改网站地址
  • 南乐网站建设费用国外网站搜索引擎优化方案
  • 网站建设合同需要缴纳印花税软件开发与程序设计有什么不同
  • 海门市住房和城乡建设局网站加强协会网站建设意义
  • 谁有人和兽做的网站哈尔滨市建设网站
  • 海洋网站建设权威的大连网站建设
  • 服务器网站备案joomla与wordpress学哪个好
  • 西安网站建设eliwe苏州推荐网络公司建网站
  • 企业对比网站微盟小程序商城
  • 云南品牌网站开发广东省白云区属于哪个市
  • 自己可以做公司网站吗优化网站排名推荐公司
  • php网站开发师条件什么软件推广效果好
  • 邢台专业做网站费用珠海网站建设哪家权威
  • 建筑类电商网站介绍网站建设规划书结构
  • 网站开发职务苏州哪里做网站好