[英]Get JSON data from php to ArrayList of String android
我已经建立了一个PHP脚本,可以为我提供mysql数据库的JSON数据,但是在android studio中,我不知道如何将数据放入String的ArrayList中。
我已经测试了很多可能性,但没有人能解决,
如果您对我的代码有任何想法,那可能会很好
ArrayList<String> ListeFamilles = new ArrayList<>(15);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selectionneracteactivity);
HttpURLConnection urlConnection = null;
StringBuilder result = new StringBuilder();
try {
URL url = new URL("http://192.168.1.26:8888/GetNomFamille.php");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
ListeFamille.add(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
}
JSON:
[{"Famille":"TEXT1"},{"Famille":"TEXT2"},{"Famille":"TEXT3"},{"Famille":"TEXT4"},{"Famille":"TEXT5"},{"Famille":"TEXT6"},{"Famille":"TEXT7"},{"Famille":"TEXT8"},{"Famille":"TEXT9"},{"Famille":"TEXT10"},{"Famille":"TEXT11"},{"Famille":"TEXT12"},{"Famille":"TEXT13"},{"Famille":"TEXT14"},{"Famille":"TEXT15"}]
PHP:
<?php
mysql_connect("localhost","root","password");
mysql_select_db("mydb");
$sql=mysql_query("SELECT Famille FROM FAMILLES");
$rows = array();
while($r=mysql_fetch_assoc($sql)){
$rows[] = $r;
}
print json_encode($rows);
mysql_close();
?>
你不应该做mainthread网络连接,阅读此文章并尝试将其添加到的AsyncTask,
对于在获取值后进行Json解析的情况,您可以尝试一下,
StringBuilder result = new StringBuilder();
ArrayList<String> listOfValues = new ArrayList<>();
try {
JSONArray jsonArray = new JSONArray(result.toString());
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.optJSONObject(i);
if(jsonObject == null) {
continue;
}
String jsonValue = jsonObject.optString("Famille");
listOfValues.add(jsonValue);
}
} catch (JSONException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.