mysql Db に保存されている画像のタイトルを取得したかったのですが、Json を使用してこれを行う必要があることがわかりました。現在、.php ファイルがあります。
<?php
mysql_connect("localhost","xx","xx");
mysql_select_db("xx");
$q=mysql_query("SELECT title FROM field_title");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
次のように出力します。
[{"title":"titleone"},{"title":"titletwo"},{"title":"titlethree"}]
これらのタイトルを単純な配列リストに入れたいのですが、出力されたデータと配列リスト自体を接続する方法がわかりません。
ArrayList<String> list = new ArrayList<String>();
for (??) {
list.add(string);
}
これを簡単な方法で行うことは可能ですか?この例を見たことがありますが、理解できないようです:
http://www.helloandroid.com/tutorials/connecting-mysql-database
ありがとう。
編集
OK、httppost 経由で接続できました。しかし、アプリを実行すると、最初からクラッシュするだけです...
// http post
InputStream inputStream = null;
String result = null;
try {
DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
HttpPost httppost = new HttpPost("http://www.webmention.com/bosshunting.php");
// Depends on your web service
httppost.setHeader("Content-type", "application/json");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
// convert response
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
// parse json data
try {
JSONArray jArray = new JSONArray(result);
ArrayList imageUrls = new ArrayList();
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
imageUrls.add(json_data.getString("url"));
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
正しい方法で配列にアイテムを追加するかどうかわかりません..そうではないと思いますか? titleone、titletwo、titlethree の arraylist imageUrls を取得しようとしています