我正在尝试从我的数据库中检索数据,我写了这段代码
<?php
require "conn.php";
$mysql_qry = "select * from domande";
$res = mysqli_query($conn,$mysql_qry);
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result,
array('id_domanda'=>$row[0],
'domanda'=>$row[1],
'username'=>$row[2]
));
}
echo json_encode(array("result"=>$result));
mysqli_close($conn);
?>
它应该返回一个数组。我已经能够以这种方式在警告对话框中显示数组:
class BackgroundWorkerDomande extends AsyncTask<String,Void,String> {
Context context;
AlertDialog alertDialog;
BackgroundWorkerDomande (Context ctx){
context = ctx;
}
@Override
protected String doInBackground(String... params) {
String type = params[0];
if (type=="getquestion"){
try {
URL url = new URL(params[3]);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
String result = "";
String line = "";
while ((line = bufferedReader.readLine()) != null) {
result += line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPreExecute() {
alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("Status");
}
@Override
protected void onPostExecute(String result) {
alertDialog.setMessage(result);
alertDialog.show();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
但是如果我想将结果插入到在我的 MainActivity 中声明的新数组中,我应该怎么做?我只是按照互联网上的一些教程编写了这段代码,所以我并不完全了解它是如何工作的。 (抱歉我的英语不好)
最佳答案
因为您发布了您的工作代码但没有指定确切的问题,所以很难确切地知道您想要什么。特别是,“将结果插入新数组”是什么意思?从表面上看,我看到了这一点:
ArrayList<String> results;
results.add (result);
但是,我会提出一个建议:在您的 php 代码中,您可以将其分成多个字段并将其作为数组发布,而不是将整个结果作为一个字符串发布吗?然后,在接收端,如果您想使用各个字段值,则不必从 result
中解析它们。
关于php - 如何将从 MySQL 检索到的数据插入到 Android 应用程序中的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40900072/