android 学习笔记6-HttpClient 多线程下载 断点续传 进度条 源码关联

1、使用HttpClient发送GET请求:
例如:

        public void event1(View v){
   //按钮事件方法
            //从文本框获取账号密码
            EditText et_name = (EditText) findViewById(R.id.et_name);
            EditText et_pass = (EditText) findViewById(R.id.et_pass);
            String name = et_name.getText().toString();
            String pass = et_pass.getText().toString();
                
            //将网址拼接成一个url,定义为final
            final String path = "http://localhost/Web/servlet/Login?name=" + URLEncoder.encode(name) + "&pass=" + pass;//使用URLEncoder编码中文字符,否则出现乱码
            
            Thread t = new Thread(){
   
                @Override
                public void run() {
   
                    //使用httpClient框架提交
                    HttpClient client = new DefaultHttpClient();//创建client对象
                    HttpGet get = new HttpGet(path);//创建get请求对象
                    try {
   
                        HttpResponse response = client.execute(get);//使用client发送get请求
                        StatusLine line = response.getStatusLine();//获取状态行
                        int code = line.getStatusCode();//获取状态码
                        if(code == 200){
   
                            
                            HttpEntity entity = response.getEntity();//获取实体
                            InputStream is = entity.getContent();//返回的是一个出入流
                            String text = Tools.getTextFromStream(is);//自定义一个Tools类将流里面的数据读取出来
                            
                            Message msg = handler.obtainMessage();//发送消息给主线程,显示获取的结果
                            msg.obj = text;
                            handler.sendMessage(msg);
                        }
                        
                    } catch (Exception e) {
   
                        e.printStackTrace();
                    }
                }
            };
            t.start();//启动线程
        }

2、使用HttpClient发送POST请求:和之前的GET类似
例如:

        public void event2(View v){
   
            //获取用户输入的账号密码
            EditText et_name = (EditText) findViewById(R.id.et_name);
            EditText et_pass = (EditText) findViewById(R.id.et_pass);
            final String name = et_name.getText().toString();
            final String pass = et_pass.getText().toString();
            
            final String path = "http://localhost/Web/servlet/Login";//这个地方不用将用户名密码拼接
            
            Thread t = new Thread(){
   
                @Override
                public void run() {
   
                    HttpClient client = new DefaultHttpClient();
                    HttpPost post = new HttpPost(path)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值