android 新版本下载 安装
来源:互联网 发布:ubuntu挂载硬盘到data 编辑:程序博客网 时间:2024/04/30 20:13
1 首先在程序启动的时候 向服务器发送请求 服务器会返回 String newVerString="2|app.quannaojiaoyu.com......"
2 然后根据 “|”拆分为俩个list 元素 取第一个list 元素 和当前的版本号进行比较 如果此元素大于版本号 则发现新版本开始下载 url 为list的第二个元素 下载完毕即可安装
String newVerString = functions.getHttpResponse(
urlApi + "base.asp", "getVer");
System.out.println("newString--->"+newVerString);
Log.d("StartPage", "Check Server.");
if (newVerString != null)
{
ArrayList<String> listVerStrings = functions.splitString(newVerString);
//得到当前版本号
int curVersion = functions.getAppVersionName(getApplicationContext());
Log.d("StartPage", listVerStrings.get(0));
// Check New Version
if (curVersion < Integer.parseInt(listVerStrings.get(0)))
{
Log.d("StartPage", "find new version.");
try
{
URL Url = new URL(listVerStrings.get(1));
URLConnection conn = Url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
int fileSize = conn.getContentLength();//获取文件长度
Log.d("StartPage", "new version download start ("
+ String.valueOf(fileSize) + ")...");
msg = new Message();
msg.what = UPDATE_NEWVER;
msg.arg1 = fileSize;
handler.sendMessage(msg);
if (fileSize <= 0)return;
FileOutputStream FOS = new FileOutputStream(strSDPath
+ "/cawords.apk");
byte buf[] = new byte[1024];
int downLoadFilePosition = 0;
int numread;
while ((numread = is.read(buf)) != -1)
{
FOS.write(buf, 0, numread);
downLoadFilePosition += numread;
Log.d("StartPage", "new version downloading ("
+ String.valueOf(downLoadFilePosition)
+ ")...");
msg = new Message();
msg.what = UPDATE_DOWNLOAD;
msg.arg1 = downLoadFilePosition;
handler.sendMessage(msg);
}
Log.d("StartPage", "New Version Downloaded.");
Intent intent = new Intent();
// 安装程序
intent.setDataAndType(
Uri.fromFile(new File(strSDPath
+ "/com.quannaojiaoyu.cadict.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
Log.d("StartPage", "New Version Installed.");
finish();
System.exit(0);
} catch (Exception ex)
{
如何得到当前版本号:
public static int getAppVersionName(Context context)
{
int versionName = -1;
try
{
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
versionName = pi.versionCode;
Log.d("versionName ", versionName +"");
} catch (Exception e)
{
Log.e("GET VER", "Exception", e);
}
return versionName;
}
- android 新版本下载 安装
- android下载新版本并安装更新
- android检测新版本并下载安装的方法
- Android----- 版本更新和 服务器下载新版本APK并安装
- 下载新版本以及跳转安装
- 【边做项目边学Android】手机安全卫士04_02:从服务器下载并安装新版本安装包
- android安装新版本,双进程问题
- Android开发必有功能,更新版本提示,检测是否有新版本更新。下载完成后进行安装。
- Linux下载默认JDK并安装新版本JDK
- 新版本Android Market增加默认自动下载更新功能
- android 从服务器下载更新新版本软件 demo
- android 从服务器下载更新新版本软件 demo
- Android应用检测并下载更新新版本的方法
- 【oschina android源码分析】下载更新新版本的设计
- android下载新版本并更新(DownLoadManager、HttpURLConnection)
- uboot新版本源码下载
- uboot新版本源码下载
- uboot新版本源码下载
- 漾七夕
- 输出字符串的所有排列
- struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表
- 整理用Java实现数字转化成字符串左边自动补零方法
- AS3实用技巧
- android 新版本下载 安装
- 为什么是扭扭歪歪的YII
- VC++游戏编程基础(书)<1>
- Linux驱动修炼之道-内存映射
- CentOS 6.0 最小化编译安装Apache+MySQL+PHP+Zend
- 三星云服务S Cloud亮相 与苹果iCloud为敌
- 如何做好用户体验(一) ---- 概念篇
- 详述JavaScript的内置对象
- PROPSHEETPAGE Structure