Android简单的软件app更新升级
2018-03-06 17:21
495 查看
软件更新主要分为两步,一是从服务器中下载apk,二是下载完后把下载的apk进行安装,当然还有很多细节,比如下载apk前先校验软件版本号,本项目就不对这些细节做处理了,直接来简单暴力通用的。
首先下载服务器上的apk, serverPath表示服务器地址, savedPath表示保存下载的apk路径,一定一步一步的mkdirs,apk的名字换成你要下载的包名,ProgressDialog可以在前面写好,再传进来。
ProgressDialog proDialog = android.app.ProgressDialog.show(this, "提示", "正在下载,请稍后..."); public static File download(String serverPath, String savedPath, ProgressDialog pd) { try { URL url = new URL(serverPath); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(10000); conn.setRequestMethod("GET"); int code = conn.getResponseCode(); if (code == 200) { int fileSize = conn.getContentLength() / 1024; pd.setMax(fileSize); int total = 0; InputStream is = conn.getInputStream(); File file01 = new File(savedPath); if (!file01.exists()) { file01.mkdirs(); } File file = new File(file01.getAbsolutePath(), "baiduyinyue_4802.apk"); FileOutputStream fos = new FileOutputStream(file); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { fos.write(buffer, 0, len); total += (len / 1024); pd.setProgress(total); } fos.flush(); fos.close(); is.close(); pd.dismiss(); return file; } else { pd.dismiss(); return null; } } catch (Exception e) { pd.dismiss(); e.printStackTrace(); Log.e("TAG", "异常: " + e.getMessage()); return null; } }
第二步就是下载的apk进行安装
private void installApk(File file) { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); MainActivity.this.startActivity(intent); }
这里提供一个apk下载地址供大家测试 http://gdown.baidu.com/data/wisegame/fd84b7f6746f0b18/baiduyinyue_4802.apk 。保存地址不能放在sd卡的根目录,最好在新建的文件夹里。
相关文章推荐
- Android实战之app版本更新升级全文章(三)
- Android中的app升级逻辑(非热更新)
- Android上实现一个简单的天气预报APP(九) ListView展示城市列表、单击更新天气数据
- Android产品研发(十四)-->App升级与更新
- android 4.0 软件更新或升级 没有提示打开和完成
- android产品研发(十四)-->App升级与更新
- Android 简单的检查app版本更新
- Android 简单实现app通知栏更新及显示进度
- Android产品研发(十四)-->App升级与更新
- Android app升级更新
- 简单的bat批处理脚本辅助卸载更新android app
- Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
- 在Android 下写一个检测软件版本号 以自动升级APP 的插件
- Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
- Android实战之app版本更新升级全文章(一)
- Android APP更新下载工具类——简单封装DownloadManager
- Android 清晰灵活简单易用的App应用更新库
- android studio最简单的更新方式(像普通软件一样直接在线升级,谁说as不能在线升级的???)
- Android app的升级更新,安装,启动
- [置顶] AndroidAPP更新升级完整实现Demo(搭建本地服务器)