Android中如何实现自动更新

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中如何实现自动更新”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!

发布于 2022-04-15 22:28:41
收藏
分享
海报
0 条评论
29
上一篇:Android中如何实现微信支付 下一篇:Android内存泄漏的原因是什么
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码