標籤:
在我的資料庫中有一張名為index的表,裡面有三個欄位,
ID int auto_increment,
TITLE text,
CONTENT text;
Android代碼 下面是一個封裝的類
package com.example.jsontest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.protocol.HTTP;import org.json.JSONException;import org.json.JSONObject;import android.util.Log;public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; public JSONParser() { } public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) { try { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); //使用UTF-8進行資料格式編碼 httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException e){ e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader( is, "UTF-8")); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); Log.d("json", json.toString()); } // try parse the string to a JSON object try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); } // return JSON String return jObj; } }
MainActivity
//------------------------// StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() // or .detectAll() for all detectable problems .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build()); //------------------------// List<NameValuePair> params = new ArrayList<NameValuePair>(); //這裡可以替換成你自己程式中的一些索引值對 String title = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; String content = "00000000000000000000000000000000000000000000000"; params.add(new BasicNameValuePair("TITLE", ""+title)); params.add(new BasicNameValuePair("CONTENT", ""+ content)); JSONParser jsonParser = new JSONParser(); //這裡是你自己的接收資料的php檔案的路徑 String url_up = "http://10.0.2.2/dipingxian/insertbeat.php"; try{ JSONObject json = jsonParser.makeHttpRequest(url_up,"POST", params); Log.v("uploadsucceed", "uploadsucceed"); }catch(Exception e){ e.printStackTrace(); }
success
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android通過JSON讀寫Mysql(寫)