編輯:關於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 中與 Touch 事件相關的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterce
android:Activity數據傳遞之對象(Serializable) Activity數據傳遞之基本數據類型在這篇文章中,我寫了通過putExtra()方法在a
神彩彩票系統門戶版安卓手機端客戶端源碼,安卓源碼 軟件版本:V2.0軟件大小:25MB軟件類型:簡體中文/國產軟件/免費版軟件分類:源碼、java&nb
Android開發之初識MVP模式 各位親愛的小伙伴,有沒有想我啊,我胡漢wing又回來了。 很長一段時間沒有更新博客。。原因是。。從離職回到學校以後,一直在享受最