我用PHP创建了一个数组。我需要帮助如何阅读它,使用Android应用程序。
编码数组如下所示:
ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Runnable() {
public void run() {
System.out.println("Asynchronous task");
}
});
我必须能够使用Android应用程序阅读所有这些元素。
使用PHP创建,代码如下:
["id","string 1","string 2","string 3","string 3","string 4"]
你能帮我解决一下这个问题吗?
答案 0 :(得分:0)
对于您的示例,您可以使用以下代码来解析Android中的响应。我已经硬编码了你在代码中得到的响应,所以你明白了。我也在onCreate of my activity中写了它,你可以在任何适合你的应用的地方写这个。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String strJson="[\"id\",\"string 1\",\"string 2\",\"string 3\",\"string 3\",\"string 4\"]"; // This is your response, with escaped " and used as a String
try {
//Get the instance of JSONArray that contains Strings
JSONArray jsonArray = new JSONArray(strJson);
for(int i=0; i < jsonArray.length(); i++){
String data = (String)jsonArray.get(i);
Log.d("MyData",data);
}
} catch (JSONException e) {e.printStackTrace(); // Not a good idea. But left it for now}
}
如果使用过滤器MyData监视logcat,您将找到输出:
D/DATAIS: id
D/DATAIS: string 1
D/DATAIS: string 2
D/DATAIS: string 3
D/DATAIS: string 3
D/DATAIS: string 4
网上有很多教程可以解决如何解析Android中的JSON问题。你可以研究它们以获得更好的想法。
答案 1 :(得分:0)
当我为PHP数组的元素添加名称时,我解决了它:
$res = array();
$res[0] = $data['id'];
$res[1] = $data['string 1'];
$res[2] = $data['string 2'];
$res[3] = $data['string 3'];
$res[4] = $data['string 4'];
在Android方面:
JSONObject mainObject = new JSONObject(ret);
String str1 = mainObject.optString("1").toString();
String str2 = mainObject.optString("2").toString();
String str3 = mainObject.optString("3").toString();
String str4 = mainObject.optString("4").toString();
谢谢大家的帮助。