android 和 php 簡單的數據交互

注意:
1 加入權限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


2啓動一個新線程
android4.0開始不允許直接在ui線程直接操作httpClient


3 注意url:http://10.0.2.2/testAndroid.php
(不要填寫:127.0.0.1 這個是本機電腦的,模擬器有自己的默認ip)


4通過handler將數據從新線程中傳送出來


步驟:
1 創建一個httpClient 對象
2 使用post發送數據 創建一個HttpPost對象
3 設置請求參數用setEntity()
4 調用httpClient對象的execute() 發送請求,返回一個HttpResponse

5 調用HttpResponse的getEntity() 方法可以獲取HttpEntity 對象

android =============================================

 HttpClient client = new DefaultHttpClient(); 
StringBuilder builder = new StringBuilder(); 
HttpPost post = new HttpPost("http://10.0.2.2/testAndroid.php"); 
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name","linzhouzhi"));
try {
post.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
try { 
HttpResponse response = client.execute(post); 
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent())); 
for (String s = reader.readLine(); s != null; s = reader.readLine()) { 
builder.append(s); 

JSONObject jsonObject = new JSONObject(builder.toString()); 
String name = jsonObject.getString("name"); 
Message msg = new Message();
msg.what = 0x123;
 msg.obj = name;
myHandler.sendMessage(msg);


php======================================================

<?php
if($_POST['name']=='linzhouzhi'){
$array = array( 'name'=>'linzhouzhi'); 
echo json_encode($array); 
}else{
$array = array('name'=>'err');
echo json_encode($array);
}
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章