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一定不是终点,技术无止境