`
wen742538485
  • 浏览: 229349 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多
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();
                        }
                }
        }
}


</namevaluepair></namevaluepair>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics