編輯:關於android開發
說明
在做一個項目的時候難免會與服務器打交道,這裡我就做一個小的Demo來簡單的說明一下HTTP的使用,我這裡使用的是圖靈的接口,你也可以登陸www.tuling123.com進行申請。我使用的是上面的示例接口http://www.tuling123.com/openapi/api?key=6*********ddfff&info=今天天氣怎麼樣&loc=北京市中關村&userid=12345678,這裡的接口我就不給大家完全展示出來了,大家自己去申請吧,我只給大家演示一下示例。
接口
http://www.tuling123.com/openapi/api?key=6*********ddfff&info=今天天氣怎麼樣&loc=北京市中關村&userid=12345678
效果截圖
客戶端的顯示(一)

logCat的顯示
客戶端的顯示(二)

MianActivity的代碼顯示如下:
1 package com.example.httpdemo;
2
3 import android.os.Bundle;
4 import android.app.Activity;
5 import android.view.Menu;
6 import android.widget.TextView;
7
8 public class MainActivity extends Activity implements HttpDataUrlListener{
9
10 private HttpData httpdata;
11 private TextView tx;
12
13 @Override
14 protected void onCreate(Bundle savedInstanceState) {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.activity_main);
17 httpdata = (HttpData) new HttpData("http://www.tuling123.com/openapi/api?key=6***************dfff&info=今天天氣怎麼樣&loc=北京市中關村&userid=12345678",this).execute();
18 tx = (TextView)findViewById(R.id.txt);
19
20 }
21
22 @Override
23 public void GetDataUrl(String data) {
24 // TODO Auto-generated method stub
25 System.out.println(data);
26 tx.setText(data);
27 }
28
29
30
31 }
創建的HttpData類的代碼是用來Http通信
1 package com.example.httpdemo;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
7
8 import org.apache.http.HttpEntity;
9 import org.apache.http.HttpResponse;
10 import org.apache.http.client.ClientProtocolException;
11 import org.apache.http.client.HttpClient;
12 import org.apache.http.client.methods.HttpGet;
13 import org.apache.http.impl.client.DefaultHttpClient;
14
15 import android.os.AsyncTask;
16
17 public class HttpData extends AsyncTask<String, Void, String>{
18
19 //1.創建客戶端
20 private HttpClient mhttpclient;
21 //2。指明傳遞的方法
22 private HttpGet mhttpget;
23 //3.做出回應
24 private HttpResponse mhttpresponse;
25 //4.創建實體
26 private HttpEntity mhttpentity;
27 //5.使用數據流進行數據的傳輸
28 private InputStream in;
29 //6.創建緩沖區
30 private BufferedReader br;
31 //7.儲存所有的數據
32 private StringBuffer sb;
33
34 //聲明接口
35 private HttpDataUrlListener listener;
36
37
38
39 private String url;
40
41 public HttpData(){
42 }
43 public HttpData(String url){
44 this.url = url;
45 }
46 public HttpData(String url,HttpDataUrlListener listener){
47 this.url = url;
48 this.listener = listener;
49 }
50
51 @Override
52 protected String doInBackground(String... params) {
53 // TODO Auto-generated method stub
54
55 try {
56 //實例化一個客戶端
57 mhttpclient = new DefaultHttpClient();
58 //使用get方法進行傳遞
59 mhttpget = new HttpGet(url);
60 //通過客戶端進行發送
61 mhttpresponse = mhttpclient.execute(mhttpget);
62 //通過response方法獲取實體
63 mhttpentity = mhttpresponse.getEntity();
64 //通過流獲取具體的內容
65 in = mhttpentity.getContent();
66 //創建緩沖區
67 br = new BufferedReader(new InputStreamReader(in));
68 String line = null;
69 sb = new StringBuffer();
70 while ((line = br.readLine())!=null){
71 sb.append(line);
72 }
73 return sb.toString();
74 } catch (ClientProtocolException e) {
75 // TODO Auto-generated catch block
76 e.printStackTrace();
77 } catch (IOException e) {
78 // TODO Auto-generated catch block
79 e.printStackTrace();
80 }
81 //
82
83 return null;
84 }
85
86 @Override
87 protected void onPostExecute(String result) {
88 // TODO Auto-generated method stub
89 listener.GetDataUrl(result);
90 super.onPostExecute(result);
91 }
92
93 }
創建一個接口HttpDataUrlListener以便於別的類可以使用這個HTTP類
1 package com.example.httpdemo;
2
3 public interface HttpDataUrlListener {
4
5 void GetDataUrl(String data);
6
7 }
通過上面的代碼就可以實現上面的效果圖了,解釋說明還有步驟都寫在了代碼裡面,有什麼不明白的可以給我留言,對於這篇博客有什麼不對的地方,還望大家多多指導。
Android事件分發
Android事件分發 Android 中與 Touch 事件相關的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterce
android:Activity數據傳遞之對象(Serializable)
android:Activity數據傳遞之對象(Serializable) Activity數據傳遞之基本數據類型在這篇文章中,我寫了通過putExtra()方法在a
神彩彩票系統門戶版安卓手機端客戶端源碼,安卓源碼
神彩彩票系統門戶版安卓手機端客戶端源碼,安卓源碼 軟件版本:V2.0軟件大小:25MB軟件類型:簡體中文/國產軟件/免費版軟件分類:源碼、java&nb
Android開發之初識MVP模式
Android開發之初識MVP模式 各位親愛的小伙伴,有沒有想我啊,我胡漢wing又回來了。 很長一段時間沒有更新博客。。原因是。。從離職回到學校以後,一直在享受最