Android中如何实现自动更新
Android中如何实现自动更新
本篇内容介绍了“Android中如何实现自动更新”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
代码如下:
importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.DefaultHttpClient;importandroid.app.AlertDialog;importandroid.app.Dialog;importandroid.app.ProgressDialog;importandroid.content.DialogInterface;importandroid.content.Intent;importandroid.net.Uri;importandroid.os.Bundle;importandroid.os.Environment;importandroid.os.Handler;publicclassUpdateextendsBaseActivity{publicProgressDialogpBar;privateHandlerhandler=newHandler();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.update);Dialogdialog=newAlertDialog.Builder(Update.this).setTitle("系统更新").setMessage("发现新版本,请更新!")//设置内容.setPositiveButton("确定",//设置确定按钮newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){pBar=newProgressDialog(Update.this);pBar.setTitle("正在下载");pBar.setMessage("请稍候...");pBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);downFile("http://url:8765/OA.apk");}}).setNegativeButton("取消",newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){//点击"取消"按钮之后退出程序}}).create();//创建//显示对话框dialog.show();}voiddownFile(finalStringurl){pBar.show();newThread(){publicvoidrun(){HttpClientclient=newDefaultHttpClient();//params[0]代表连接的urlHttpGetget=newHttpGet(url);HttpResponseresponse;try{response=client.execute(get);HttpEntityentity=response.getEntity();longlength=entity.getContentLength();InputStreamis=entity.getContent();FileOutputStreamfileOutputStream=null;if(is!=null){Filefile=newFile(Environment.getExternalStorageDirectory(),"OA.apk");fileOutputStream=newFileOutputStream(file);byte[]buf=newbyte[1024];intch=-1;intcount=0;while((ch=is.read(buf))!=-1){//baos.write(buf,0,ch);fileOutputStream.write(buf,0,ch);count+=ch;if(length>0){}}}fileOutputStream.flush();if(fileOutputStream!=null){fileOutputStream.close();}down();}catch(ClientProtocolExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}.start();}voiddown(){handler.post(newRunnable(){publicvoidrun(){pBar.cancel();update();}});}voidupdate(){Intentintent=newIntent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(newFile("/sdcard/OA.apk")),"application/vnd.android.package-archive");startActivity(intent);}}
“Android中如何实现自动更新”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!
推荐阅读
-
android(如何快速开发框架 小米note开发版MIUI,安卓6.0,怎么安装Xposed框架)
稳定版,你必须先根除。你上网搜索安卓可以叫别人s框架,对方可以把框架做成jar包,把这个jar包加载到项目目录的libs文件中使...
-
android(studio 虚拟机启动不了 android studio可以当模拟器用吗)
androidstudio可以当模拟器用吗?AmdCUP引导模拟器有点复杂。雷电模拟器上的抖音怎么登录不上?不是,闪电模拟调用...
-
从实践中学习手机抓包与数据分析(android 手机抓包app)
android手机抓包app?netcapture抓包精灵app(手机抓包工具)又名sslcapture,是什么专业的安卓手机抓...
-
android(studio全局搜索 android studio怎么看app界面)
androidstudio怎么看app界面?在设备桌面点击运用直接进入到App界面,就也可以参与其他你的操作了。android-...
-
怎么把android框架源代码拉到本地(android studio如何运行别人的源代码)
androidstudio如何运行别人的源代码?androidstudio点击刚建在列表中你选择导入module,导入即可在用...
-
android(studio2022年使用教程 怎么安装Android studio详细教程)
怎么安装Androidstudio详细教程?androidstudio中haxm直接安装的方法追加:1、简单的方法打开Andr...
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
-
HTML5如何实现禁止android视频另存为
-
学java好还是学php好?
-
Android如何实现多点触控功能