zoukankan      html  css  js  c++  java
  • ANdroid跟新客户端

    import java.io.File;     
      
    import java.io.FileOutputStream;   
      
    import java.io.IOException;     
      
    import java.io.InputStream;     
     
    import org.apache.http.HttpEntity;     
    import org.apache.http.HttpResponse;     
    import org.apache.http.client.ClientProtocolException;     
    import org.apache.http.client.HttpClient;     
    import org.apache.http.client.methods.HttpGet;     
    import org.apache.http.impl.client.DefaultHttpClient;     
         
    import android.app.AlertDialog;     
    import android.app.Dialog;     
    import android.app.ProgressDialog;     
    import android.content.DialogInterface;     
    import android.content.Intent;     
    import android.net.Uri;     
    import android.os.Bundle;     
    import android.os.Environment;     
    import android.os.Handler;     
         
    public class Update extends BaseActivity {     
       public ProgressDialog pBar;     
       private Handler handler = new Handler();     
       
        @Override     
        protected void onCreate(Bundle savedInstanceState) {     
            super.onCreate(savedInstanceState);     
            setContentView(R.layout.update);     
            Dialog dialog = new AlertDialog.Builder(Update.this).setTitle("系统更新")     
                    .setMessage("发现新版本,请更新!")// 设置内容     
                    .setPositiveButton("确定",// 设置确定按钮     
                            new DialogInterface.OnClickListener() {     
       
                                @Override     
                                public void onClick(DialogInterface dialog,     
                                        int which) {     
                                   pBar = new ProgressDialog(Update.this);     
                                   pBar.setTitle("正在下载");     
                                    pBar.setMessage("请稍候...");     
                                    pBar     
                                            .setProgressStyle(ProgressDialog.STYLE_SPINNER);     
                                   downFile("http://url:8765/OA.apk");      
                                          
                                }     
       
                           }).setNegativeButton("取消",       
                            new DialogInterface.OnClickListener() {     
                               public void onClick(DialogInterface dialog,     
                                        int whichButton) {     
                                    // 点击"取消"按钮之后退出程序     
                                        
                                }     
                            }).create();// 创建     
            // 显示对话框     
            dialog.show();     
         
        }     
         
        void downFile(final String url) {     
            pBar.show();     
            new Thread() {     
                public void run() {     
                    HttpClient client = new DefaultHttpClient();     
                    // params[0]代表连接的url     
                    HttpGet get = new HttpGet(url);     
                    HttpResponse response;     
                    try {     
                      response = client.execute(get);     
                        HttpEntity entity = response.getEntity();     
                       long length = entity.getContentLength();     
                       InputStream is = entity.getContent();     
                       FileOutputStream fileOutputStream = null;     
                       if (is != null) {     
         
                          File file = new File(Environment     
                                  .getExternalStorageDirectory(), "OA.apk");     
                           fileOutputStream = new FileOutputStream(file);     
                                
                            byte[] buf = new byte[1024];     
                          int ch = -1;     
                          int count = 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 (ClientProtocolException e) {     
                        // TODO Auto-generated catch block     
                      e.printStackTrace();     
                   } catch (IOException e) {     
                       // TODO Auto-generated catch block     
                        e.printStackTrace();     
                    }     
                }     
        
           }.start();     
        
       }     
         
       void down() {     
          handler.post(new Runnable() {     
             public void run() {     
                   pBar.cancel();     
      update();     
    }     
    });          
        }     
         
       void update() {     
        
            Intent intent = new Intent(Intent.ACTION_VIEW);     
            intent.setDataAndType(Uri.fromFile(new File("/sdcard/OA.apk")),     
                    "application/vnd.android.package-archive");    
            startActivity(intent);     
        }        
    } 
    

  • 相关阅读:
    VMWare Workstation的激活码 亲测有效
    虚拟机搭建appRtcDemo的appr.tc服务器
    windows webrtc支持H264的源码编译
    windows webrtc 编译
    获取windows系统分屏个数
    windows cmd窗口光标闪动效果消失
    win10 检测系统是不是正版的 以及slmgr.vbm -dlv命令不生效
    symfonos2
    利用ARP欺骗进行MITM(中间人攻击)
    内网学习之MySQL服务提权
  • 原文地址:https://www.cnblogs.com/pandans/p/2003166.html
Copyright © 2011-2022 走看看