模拟版本更新
来源:互联网 发布:while的用法c语言 编辑:程序博客网 时间:2024/06/05 06:07
Applcation
public class Appl extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(false); }}Mainpackage com.liu.asus.jishi20170916;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.net.Uri;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.x;import java.io.File;import okhttp3.OkHttpClient;import okhttp3.Request;public class MainActivity extends AppCompatActivity { private String url="http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk"; private Callback.Cancelable cancelable; private ProgressDialog pro; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); x.view().inject(this); Button bt_banben= (Button) findViewById(R.id.bt_banben); pro = new ProgressDialog(this); pro.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pro.setButton("暂停", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { cancelable.cancel(); } }); bt_banben.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { PackageManager pack=getPackageManager(); PackageInfo info = pack.getPackageInfo(MainActivity.this.getPackageName(), 0); Version version=new Version(); version.url=url; if(info.versionCode<version.version){ xiazai(); } else{ Toast.makeText(MainActivity.this, "已经是最新版本了", Toast.LENGTH_SHORT).show(); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } }); } private void xiazai() { RequestParams params=new RequestParams(url); params.setAutoRename(true); params.setCancelFast(true); cancelable = x.http().get(params, new Callback.ProgressCallback<File>() { @Override public void onSuccess(File result) { pro.cancel(); String absolutePath = result.getAbsolutePath(); System.out.println(absolutePath); anzhuang(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } @Override public void onWaiting() { } @Override public void onStarted() { pro.show(); } @Override public void onLoading(long total, long current, boolean isDownloading) { if(isDownloading){ pro.setMessage("版本更新中"); pro.setMax((int) total); pro.setProgress((int) current); } } }); } private void anzhuang(File result) { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(result.getAbsolutePath())), "application/vnd.android.package-archive"); startActivity(intent); }}Versionpackage com.liu.asus.jishi20170916;/** * Created by asus on 2017/9/16. */public class Version { public int version=200; public String url;}
阅读全文
1 0
- 模拟APK版本更新
- 模拟版本更新
- 模拟版本更新
- 模拟版本更新
- 版本更新
- //版本更新
- 版本更新
- 更新版本
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 第三周项目4顺序表的应用
- Java 集合类分析
- Git命令自定义别名配置
- eclipse 中 hibernate 反向生成实体类
- Java中的HashMap的工作原理是什么?
- 模拟版本更新
- [SDUT](2053)数据结构实验之链表九:双向链表 ---双向链表(线性表)
- Java之颜色工具-yellowcong
- thoughtworks面试题
- java中char输入没有nextChar问题
- C++STL中全排列函数next_permutation的使用
- eclipsectrl+alt+上下键屏幕颠倒解决方案
- Elasticsaech-head插件安装 Elasticsearch5.X
- 树的高度