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(); } } }
}
更多相关文章
- android junit 测试 简要步骤
- Android(安卓)apk反编译记录
- Android编译错误处理
- Android-Async-Http使用记录
- Android(安卓)教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- Android7.0以上动态权限申请 使用RxPermissions框架,让申请权限更
- Android(安卓)错误提示:Conversion to Dalvik format failed with
- android相机开发setParameters failed错误
- 解读:下载Android源码时为什么对Python版本有要求