Android(安卓)定时到服务器取数据并刷新
16lz
2022-04-05
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(); } } } }
更多相关文章
- Android启动后遇到错误
- Android(安卓)Http 异步请求
- 封装Android(安卓)Volley请求工具
- Android(安卓)Http请求失败解决方法
- android使用ksoap2-android调用webservice时报java.io.EOFExcept
- Android(安卓)App请求获取Root权限
- Android(安卓)邮箱验证
- 【Android】HTTP请求远端String和byte[]数据
- android 网络请求图片