2012-02-21 13 views
1

私はmysqlからデータを取得しようとしていて、それをアンドロイドリストビューに表示しようとしています。 私はいくつかのチュートリアルを試してみましたが、mysqlからアンドロイドにデータを送信できる適切なコードを書く方法がわかりませんでした。mysqlから適切なJSON構造体を書き込む

これはテストのために行っていたJSON構造です。

{ 
"users": [ 
    { 
      "id": "001", 
      "name": "John", 
      "email": "[email protected]", 
      "gender" : "male" 
    }, 
    { 
      "id": "002", 
      "name": "Mary", 
      "email": "[email protected]", 
      "gender" : "female" 
    } 
]} 

このデータのすべてが、mysqlデータベース上にある場合はどう、テーブルと "USERS" と "ID"、 "NAME"、 "EMAIL"、 "GENDER" で構成されています。
JSONをmysqlで作成するには?

これはAndroidでデータを表示するコードです。

// JSON Node names 
private static final String TAG_USERS = "users"; 
private static final String TAG_ID = "id"; 
private static final String TAG_NAME = "name"; 
private static final String TAG_EMAIL = "email"; 
private static final String TAG_GENDER = "gender"; 
JSONArray users = null; 
. 
. 
. 
try { 
     // Getting Array of Users 
     contacts = json.getJSONArray(TAG_USERS); 

     // looping through All Users 
     for(int i = 0; i < users.length(); i++){ 
      JSONObject c = users.getJSONObject(i); 

      // Storing each json item in variable 
      String id = c.getString(TAG_ID); 
      String name = c.getString(TAG_NAME); 
      String email = c.getString(TAG_EMAIL); 
      String gender = c.getString(TAG_GENDER); 

答えて

4

に値の配列をオンにします。

// MySQL query, maybe you already have something similar 
$query = 'SELECT * FROM users LIMIT 5'; 
$res = mysql_query($query); 

// Push all records from the database into a single array 
$users = array(); 
$users['users'] = array(); // Your "users" key for JSON 
while ($user = mysql_fetch_assoc($res)) { 
    $users['users'][] = $user; 
} 

// Encode and output that array as JSON, then end the script 
echo json_encode($users); 
exit(); 
+0

Thx lorenzo-s、 ただし、logcatからのエラーメッセージはほとんどありません。 'JSONArrayをJSONObjectに変換できません。 '&'アクティビティを開始できません。ComponentInfo()java.lang.NullPointerException' これはおそらく何を意味しますか? – Eric

+0

@エリック申し訳ありません、私の悪い。私は自分の答えを更新しました。 –

+0

ありがとうございます。 – Eric

関連する問題