//1.开始下载语言包
public static void downloadFileLanguage(String path) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
System.out.print("-------java---downloadFileLanguage------path:" + path + "\n");
File sdDir = new File(activity.getFilesDir(), aikitPathReal);///data/user_de/0/org.cocos2d.demo/files/xzhd/aikit/
aikitPathInData = sdDir.getAbsolutePath() + "/";
FileUtils.createDirectory(aikitPathInData);
String url = "https://tan-xin-game.oss-cn-beijing.aliyuncs.com/client/LandHengHonor/webPC5/RES_XTTS/" + path + ".zip";
DataTool.downloadFile(url, aikitPathInData, path + ".zip");
}
});
}
/**
* 下载zip文件
*
* @param url
*/
public static void downloadFile(final String url, String aikitPathInData, String localzip) {
OkHttpClient.Builder builder = new OkHttpClient.Builder().connectTimeout(20, TimeUnit.SECONDS).writeTimeout(5, TimeUnit.SECONDS).readTimeout(5, TimeUnit.SECONDS);
Request request = new Request.Builder().url(url).build();
builder.build().newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
InputStream is = null;
byte[] buf = new byte[4096];
int len = 0;
FileOutputStream fos = null;
// 储存下载文件的目录
String savePath = aikitPathInData;//Tools.isExistDir_html(filePath);
try {
is = response.body().byteStream();
long total = response.body().contentLength();
// File file = new File(savePath, getNameFromUrl(url));
File file = new File(savePath, localzip);
fos = new FileOutputStream(file);
long sum = 0;
while ((len = is.read(buf)) != -1) {
fos.write(buf, 0, len);
sum += len;
int progress = (int) (sum * 1.0f / total * 100);
// 下载中
System.out.print("---------------progress:" + progress);
}
fos.flush();
} catch (Exception e) {
//
e.printStackTrace();
} finally {
try {
if (is != null) is.close();
} catch (IOException e) {
}
try {
if (fos != null) fos.close();
} catch (IOException e) {
}
}
//下载完成,先删除过时数据,并解压最新的热更新数据(必须这样操作 不然会导致无法覆盖旧数据,导致数据更新失败)
// deleteOldData();
DataTool.unZip(aikitPathInData + localzip);
}
});
}