これに関して多くの質問が寄せられていることは認識していますが、混乱しており、問題の解決策を見つけることができません。
私はmysqlサーバーからデータを読み取るphpのWebサービスを持っています。次のコードは、Web サービス スクリプトです。
<?php
$username = "XXXXX";
$password = "XXXXX";
$hostname = "localhost";
$response=array();
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
//select a database to work with
$selected = mysql_select_db("test",$dbhandle)
or die("Could not select test");
//execute the SQL query and return records
$result = mysql_query("SELECT name, country FROM android");
$response["infos"] = array();
while ($row = mysql_fetch_assoc($result)) {
$info = array();
$info["name"]=$row["name"];
$info["country"]=$row["country"];
echo json_encode($info);
}
//close the connection
mysql_close($dbhandle);
?>
これにより、Web ブラウザーに次の出力が表示されます。この " http://localhost/test.php " {"name":"taz","country":"aus"}{"name":"fufu", "country":"tutu"}{"name":"chikaka","country":"aceVentura"}
Android アプリケーションに次のクラスがあります。非常に単純なクラスですが、HttpResponse の実行時に例外エラーを返します。
public static final String URL = "http://192.168.0.5//test.php";
public static String connect(){
try{
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(URL);
HttpResponse response = httpClient.execute(httpGet);
String result = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null){
str.append(line + "\n");
}
in.close();
result = str.toString();
return result;
} catch (Exception e) {
return "Error: " + e.getMessage();
}
}
このメソッドは、応答を出力するために mainActivity クラスで呼び出されます。私が間違っていることを教えてください。