一个简单的检查版本更新
来源:互联网 发布:萧敬腾唱功知乎 编辑:程序博客网 时间:2024/06/05 20:42
这里用的xutils进行的网络下载
package com.example.banben;import android.content.DialogInterface;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.os.Environment;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;import org.json.JSONException;import org.json.JSONObject;import org.xutils.common.Callback;import org.xutils.http.HttpMethod;import org.xutils.http.RequestParams;import org.xutils.x;import java.io.File;public class MainActivity extends AppCompatActivity { String url="http://169.254.38.24/version.json"; private String upgradeinfo; private RequestParams request; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); request=new RequestParams(url); x.http().get(request, new Callback.CacheCallback<String>() { @Override public boolean onCache(String s) { return false; } @Override public void onSuccess(String s) { JSONObject json= null; try { json = new JSONObject(s); upgradeinfo = json.getString("upgradeinfo"); //得到服务器的版本号 String serverVersion = json.getString("serverVersion"); //得到应用包的管理者 PackageInfo pack = MainActivity.this.getPackageManager().getPackageInfo(MainActivity.this.getPackageName(), 0); //从管理者里面拿到应用版本号 int versionCode = pack.versionCode; if(versionCode<Integer.valueOf(serverVersion)){ new AlertDialog.Builder(MainActivity.this) .setTitle("版本更新") .setIcon(R.mipmap.ic_launcher) .setMessage(upgradeinfo) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(MainActivity.this, "你不能点我的", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(MainActivity.this, "谁让你点我的", Toast.LENGTH_SHORT).show(); x.http().request(HttpMethod.GET, request, new ProgressCallback<File>() { @Override public void onWaiting() { } @Override public void onStarted() { } @Override public void onLoading(long l, long l1, boolean b) { String ss= Environment.getExternalStorageDirectory().getAbsolutePath()+"/downloads/"; request.setSaveFilePath(ss+"给要下载的文件取名字"); if(l==l1){ Toast.makeText(MainActivity.this, "下载完成", Toast.LENGTH_SHORT).show(); } } @Override public void onSuccess(File file) { } @Override public void onError(Throwable throwable, boolean b) { } @Override public void onCancelled(CancelledException e) { } @Override public void onFinished() { } }); } }).create().show(); } } catch (JSONException e) { e.printStackTrace(); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } @Override public void onError(Throwable throwable, boolean b) { } @Override public void onCancelled(CancelledException e) { } @Override public void onFinished() { } }); }}
阅读全文
0 0
- 一个简单的检查版本更新
- Android 简单的检查app版本更新
- 检查版本更新的方法
- 简单的版本更新
- 简单的版本更新
- 软件的版本更新检查实现
- ios检查版本更新
- ios检查版本更新
- 版本更新检查
- app 检查版本更新
- IOS 版本检查更新
- ios检查版本更新
- ios检查版本更新
- ios检查版本更新
- ios检查版本更新
- 更新版本检查
- 检查版本更新
- iOS检查版本更新
- 15. 集合类(Collection、List)
- 2017 多校训练第二场 HDU 6047 Maximum Sequence(贪心+优先队列)
- alert中的换行及常用转义字符
- Raspberry Pi GPU Audio Video Programming.pdf 英文原版 免费下载
- 配置vim,以及linux下的编辑器和编译器
- 一个简单的检查版本更新
- 安装第三方库
- 随机获取时间
- caffe模型融合
- Java的四种引用方式
- 最小二乘拟合,L1、L2正则化约束
- 手机墙刷APP下载量骗推广费 10人因涉嫌合同诈骗被捕
- 初探Redis
- mysql高可用MHA部署(mysql安装)