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();

#

#@Override

#protectedvoidonCreate(BundlesavedInstanceState){

#super.onCreate(savedInstanceState);

#setContentView(R.layout.update);

#Dialogdialog=newAlertDialog.Builder(Update.this).setTitle("系统更新")

#.setMessage("发现新版本,请更新!")//设置内容

#.setPositiveButton("确定",//设置确定按钮

#newDialogInterface.OnClickListener(){

#

#@Override

#publicvoidonClick(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]代表连接的url

#HttpGetget=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-generatedcatchblock

#e.printStackTrace();

#}catch(IOExceptione){

#//TODOAuto-generatedcatchblock

#e.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);

#}

#

#}

相关推荐