![](/img/trans.png)
[英]Send json array to add multiple records in mysql to php script using volley in android
[英]Send array by volley android to php
我正在尝试编写一个小代码,通过 volley android 将数组从我的 android 应用程序发送到 php 文件,它将在文本文件中写入数组,这是我的数组
>String[] title = {
"Abundance",
"Anxiety",
"Bruxism",
"Discipline",
"Drug Addiction"
};
我的截击代码:
>UploadRequest registerRequest = new UploadRequest(title, responseListener);
RequestQueue volleyQueue = Volley.newRequestQueue(MainActivity.this);
DiskBasedCache cache = new DiskBasedCache(getCacheDir(), 64 * 2048 * 2048);
volleyQueue = new RequestQueue(cache, new BasicNetwork(new HurlStack()));
volleyQueue.start();
volleyQueue.add(registerRequest);
public class UploadRequest extends StringRequest {
private static final String REGISTER_REQUEST_URL ="http://192.168.2.115/app/Register.php";
private Map<String, String> params;
public UploadRequest(String[] names, Response.Listener<String> listener) {
super(Method.POST, REGISTER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("names", String.valueOf(names));//i think my problem is here!
}
@Override
public Map<String, String> getParams() {
return params;
}
}
$value = $_POST['names'];
$fp = fopen('Log.txt', 'w');
fwrite($fp, $value);
fclose($fp);
[Ljava.lang.String;@41c509a8
所以我的问题是数组出错了或者我没有声明数组! 所以请我如何声明它。
谢谢大家
您需要发送数组值,而不是参考哈希码,因此请使用Arrays.toString
params.put("names", Arrays.toString(names));
String[] title = {
"Abundance",
"Anxiety",
"Bruxism",
"Discipline",
"Drug Addiction"
};
System.out.println(Arrays.toString(title));
System.out.println(String.valueOf(title));
输出 :
[Abundance, Anxiety, Bruxism, Discipline, Drug Addiction]
[Ljava.lang.String;@14eac69
选项 2。
您可以创建JSONARRAY
并将值放入JSONARRAY
,然后使用jsonarray.toString()
JSONArray array = new JSONArray();
array.put("Abundance");
array.put("Anxiety");
array.put("Bruxism");
System.out.println(array.toString());
输出 :
["Abundance","Anxiety","Bruxism"]
params.put("names", String.valueOf(names));//i think my problem is here!
的确。 最好尝试类似:
params.put("names[0]", names[0]);
params.put("names[1]", names[1]);
params.put("names[2]", names[2]);
.... of course you would make a loop for it
或者:
params.put("names0", names[0]);
params.put("names1", names[1]);
params.put("names2", names[2]);
......
对于这两种情况,您的 php 脚本会有所不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.