android为程序添加版本自动更新

来源:互联网 发布:mysql 1064 create 编辑:程序博客网 时间:2024/04/30 10:53

程序更新的功能是一个很现实的功能,今天做了一个关于程序自动更新的功能。在这之中遇到了一些很烦人的功能,不是实现的方式,而是一些小细节灭有弄好,而导致自己怀疑所写的程序是否有问题。呵呵,其实就是这个小细节。在我们打包为apk文件的时候,签名的证书一定要相同,我就是没有想到这个而浪费了大半天的时间。呵呵,这也是一个教训吧!好同大家分享一下更新下载文件的代码!如果有什么更好的方法请指出。

通过网络 来读取信息:在checkUpdate()方法中包含了通过制定的URL来读取网络资源。

程序版本号的是放在AndroidManifest.xml文件中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"      

package="linhai.com.hello" android:versionCode="2" android:versionName="2.0.1"> 

主点是关于:getPackageManager()在这个下面有很多方法,你可以通过它得,得到当前终端安装的程序等。关于安装包的函数是:getPackageManager().installPackage(packageURI)

以下是下载新版本文件后的更新的方法

private Runnable showUpdate = new Runnable() {
public void run() {


new AlertDialog.Builder(DownActivity.this)
.setTitle("Update Available")
  .setMessage("是否对新版本进行更新?")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int whichButton) {
  String fileName = Environment.getExternalStorageDirectory() + "/"+ readNAme;//从SdCard中该文件的文件名
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)),"application/vnd.android.package-archive");

startActivity(intent);
}
})


  .setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}
})
.show();

}
};

最后在下载新版本文件后执行mHandler.post(showUpdate);就可以自动更新喽,记得新版本的apk的密匙文件要同上一个版本的要兼容哦,不然就不可以更新替换了,只能卸载旧版本才可以进行安装!!呵呵,希望对大家有帮助!!

文章出处:http://happyin1111.blog.163.com/blog/static/164184801201121632833211/

详细内容参考:http://blog.csdn.net/furongkang/article/details/6886526

原创粉丝点击