android自动更新新版模块(简单,实用)

每一个好的android应用都得有自动更新的模块

直接上代码了,非常简单。

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    String newVerName = "";//新版本名称
    int newVerCode = -1;//新版本号
    ProgressDialog pd = null;
    String UPDATE_SERVERAPK = "ApkUpdateAndroid.apk";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        if(getServerVer()){
            int verCode = this.getVerCode(this);
            if(newVerCode>verCode){
                doNewVersionUpdate();//更新版本
            }else{
                notNewVersionUpdate();//提示已是最新版本
            }
        }
    }
   
    /**
     * 获得版本号
     */
    public int getVerCode(Context context){
        int verCode = -1;
        try {
            verCode = context.getPackageManager().getPackageInfo("com.update.apk", 0).versionCode;
        } catch (NameNotFoundException e) {
            // TODO Auto-generated catch block
            Log.e("版本号获取异常", e.getMessage());
        }
        return verCode;
    }
   
    /**
     * 获得版本名称
     */
    public String getVerName(Context context){
        String verName = "";
        try {
            verName = context.getPackageManager().getPackageInfo("com.update.apk", 0).versionName;
        } catch (NameNotFoundException e) {
            Log.e("版本名称获取异常", 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通用软件自动更新模块,本程序不能主动运行,需要传递命令行参数,格式如下: 命令行参数 两种工作模式: 1.详细信息升级,格式如下(路径尽量使用""引起来,避免因为路径包含空格而调用失败): 自动升级模块可执行路径 需要升级的主程序路径 旧版本号 新版本号 程序下载地址 detail(固定写法) AutoUpdate.exe "E:\Visual Studio 2005\Projects\AutoUpdate\debug\测试.exe" 旧版本号 新版本号 http://.../WlwDir/10000/TaobaoDB.exe detail 2.主动分析模式,格式如下: 自动升级模块可执行路径 需要升级的主程序路径 旧版本号 新版本号(占位符,没实际用处,为了和模式1具有相同数量的参数,方便处理) 包含程序升级信息的网址(返回Json数据) linkurl(固定写法) AutoUpdate.exe "E:\Visual Studio 2005\Projects\AutoUpdate\debug\E语言示例.exe" 3.0 1.0 http://localhost:9572/UpdateWeb/Default.aspx linkurl http://localhost:9572/UpdateWeb/Default.aspx 返回数据为: {"SoftName":"测试软件","NewVersion":"2.0","DownUrl":"下载软件的url链接"} 如果返回的NewVersion比当前软件的版本高,则执行升级,否则升级程序自动退出。 注意: 上述格式最后还有一个可选的参数,为待升级程序的主窗口句柄,如果不知道怎么回事,此参数可以忽略。 VC写法如下,sprintf(参数,"0x%x",GetSafeHwnd()) //使用Shell启动升级程序即可 ShellExecute(this->m_hWnd,"open","AutoUpdate.exe",命令行参数,NULL,SW_SHOW); 有不明白的朋友,请与我联系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值