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

来源:互联网 发布:mysql 安全审计 编辑:程序博客网 时间:2024/06/05 02:42

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

原创粉丝点击