Android 定时到服务器取数据并刷新

http://wen742538485.iteye.com/blog/1317548

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.ArrayList; 
import java.util.List; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.HttpStatus; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 
import org.apache.http.util.EntityUtils; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class Test extends Activity implements Runnable{ 
    /** Called when the activity is first created. */ 
        private Button btn_get = null; 
        private Button btn_post = null; 
        private TextView tv_rp = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        btn_get = (Button) this.findViewById(R.id.Button01); 
        btn_post = (Button) this.findViewById(R.id.Button02); 
        tv_rp = (TextView) this.findViewById(R.id.TextView); 
        btn_get.setOnClickListener(new Button.OnClickListener(){ 

                        public void onClick(View v) { 
                                // TODO Auto-generated method stub 
                                String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp?par=request-get"; 
                                HttpGet request = new HttpGet(httpUrl); 
                                HttpClient httpClient = new DefaultHttpClient(); 
                                try { 
                                        HttpResponse response = httpClient.execute(request); 
                                        if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ 
                                                String str = EntityUtils.toString(response.getEntity()); 
                                                tv_rp.setText(str); 
                                        }else{ 
                                                tv_rp.setText("请求错误"); 
                                        } 
                                } catch (ClientProtocolException e) { 
                                        // TODO Auto-generated catch block 
                                        e.printStackTrace();        
                                } catch (IOException e) { 
                                        // TODO Auto-generated catch block 
                                        e.printStackTrace(); 
                                } 
                        } 
                
        }); 
        btn_post.setOnClickListener(new Button.OnClickListener(){ 

                        public void onClick(View v) { 
                                // TODO Auto-generated method stub 
                                String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp"; 
                                HttpPost request = new HttpPost(httpUrl); 
                                List<namevaluepair> params = new ArrayList<namevaluepair>(); 
                                params.add(new BasicNameValuePair("par","request-post")); 
                                try { 
                                        HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8"); 
                                        request.setEntity(entity); 
                                        HttpClient client = new DefaultHttpClient(); 
                                        HttpResponse response = client.execute(request); 
                                        if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ 
                                                String str = EntityUtils.toString(response.getEntity()); 
                                                tv_rp.setText(str); 
                                        }else{ 
                                                tv_rp.setText("请求错误"); 
                                        } 
                                } catch (UnsupportedEncodingException e) { 
                                        // TODO Auto-generated catch block 
                                        e.printStackTrace(); 
                                } catch (ClientProtocolException e) { 
                                        // TODO Auto-generated catch block 
                                        e.printStackTrace(); 
                                } catch (IOException e) { 
                                        // TODO Auto-generated catch block 
                                        e.printStackTrace(); 
                                } 
                        } 
                
        }); 
        new Thread(this).start(); 
    } 
    public void refresh(){ 
            String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp"; 
            try { 
                        URL url = new URL(httpUrl); 
                        HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); 
                        urlConn.connect(); 
                        InputStream input = urlConn.getInputStream(); 
                        InputStreamReader inputreader = new InputStreamReader(input); 
                        BufferedReader reader = new BufferedReader(inputreader); 
                        String str = null; 
                        StringBuffer sb = new StringBuffer(); 
                        while((str = reader.readLine())!= null){ 
                                sb.append(str).append("\n"); 
                        } 
                        if(sb != null){ 
                                tv_rp.setText(sb.toString()); 
                        }else{ 
                                tv_rp.setText("NULL"); 
                        } 
                        reader.close(); 
                        inputreader.close(); 
                        input.close(); 
                        reader = null; 
                        inputreader = null; 
                        input = null; 
                } catch (MalformedURLException e) { 
                        e.printStackTrace(); 
                } catch (IOException e) { 
                        // TODO Auto-generated catch block 
                        e.printStackTrace(); 
                } 
    } 
    public Handler handler = new Handler(){ 
            public void handleMessage(Message msg){ 
                    super.handleMessage(msg); 
                    refresh(); 
            } 
    }; 
        public void run() { 
                // TODO Auto-generated method stub 
                while(true){ 
                        try { 
                                Thread.sleep(1000); 
                                handler.sendMessage(handler.obtainMessage()); 
                        } catch (InterruptedException e) { 
                                // TODO Auto-generated catch block 
                                e.printStackTrace(); 
                        } 
                } 
        } 
} 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值