Android 使用百度离线地图(由apk文件转入手机内部存储),程序员如何解决中年危机

61 阅读2分钟

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();

}

要如何成为Android架构师?

搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。 大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流的Android架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺;

对应这份技术大纲,我也整理了一套Android高级架构师完整系列的视频教程,主要针对3-5年Android开发经验以上,需要往高级架构师层次学习提升的同学,在这里点击GitHub免费分享,希望能帮你突破瓶颈,跳槽进大厂;

最后我必须强调几点:

1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。 2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识 3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。

你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境