通过web服务将ArrayList从Android应用程序发送到远程数据库
我有一个类型为“String”的ArrayList,其中包含某些值。我想使用web服务将此ArrayList发送到远程数据库。我计划使用JSON来插入相同的内容,但我面临着某些困难,我想知道如何去做 以下是我目前的代码: 我的ArrayList定义如下。它的目的是存储复选框值通过web服务将ArrayList从Android应用程序发送到远程数据库,android,json,web-services,http-post,Android,Json,Web Services,Http Post,我有一个类型为“String”的ArrayList,其中包含某些值。我想使用web服务将此ArrayList发送到远程数据库。我计划使用JSON来插入相同的内容,但我面临着某些困难,我想知道如何去做 以下是我目前的代码: 我的ArrayList定义如下。它的目的是存储复选框值 ArrayList<String> items2 = new ArrayList<String>(); for (int i = 0; i < arr2.
ArrayList<String> items2 = new ArrayList<String>();
for (int i = 0; i < arr2.length; i++)
{
if (checkedabsent.get(i))
{
items2.add(arr2[i]); //arr2 is a String array containing all values
System.out.println(items2);
}
}
Log.d("", "items:");
for (String string : items2)
{
Log.d("", string);
System.out.println(items2);
}
要转换为JSON数组,可以使用以下命令
ArrayList<String> list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 2");
JSONArray jsArray = new JSONArray(list);
要转换为JSON数组,可以使用以下命令
ArrayList<String> list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 2");
JSONArray jsArray = new JSONArray(list);
你能这么做吗
ArrayList<String> items2 = new ArrayList<String>();
...
JSONObject obj = new JSONObject();
for(int i=0; i<items2.size(); i++)
{
obj.put("" + i, items.get(i));
}
//then use obj.write(Writer x) to send it
arraylistitems2=新的ArrayList();
...
JSONObject obj=新的JSONObject();
对于(inti=0;i你能这样做吗
ArrayList<String> items2 = new ArrayList<String>();
...
JSONObject obj = new JSONObject();
for(int i=0; i<items2.size(); i++)
{
obj.put("" + i, items.get(i));
}
//then use obj.write(Writer x) to send it
arraylistitems2=新的ArrayList();
...
JSONObject obj=新的JSONObject();
对于(inti=0;i您可以从ArrayList
JSONArray foo = new JSONArray(yourArrayList);
您可以从ArrayList
JSONArray foo = new JSONArray(yourArrayList);
你不必感到抱歉,伙计!!这意味着我必须为每个选中的项编写list.add()语句,不是吗?。我可以设置一个循环来添加列表中的所有项吗?如果可以,怎么做?就我的代码而言,我需要做些什么更改?你还没有从代码中填写ArrayList:ArrayList items2=new ArrayList吗();
,所以你只要有JSONArray jsArray=new JSONArray(items2);
你就有了你的JSON数组。是的,它填充得很好,我明白了!!:-)我想问的另一件事是,一旦数组作为我的web服务的参数,我就可以在我的web服务代码中编写一个insert到查询中,以放入数组的各个值“items2”在我的数据库中,对吗?当然可以。:)你可以将它作为web服务中的一个数组来处理,并用它做你非常喜欢的事情。:)你不必感到抱歉,伙计!!这意味着我必须编写列表。add()每个选中项的语句不是吗?我可以设置一个循环来添加列表中的所有项吗?如果可以,如何添加?以及就代码而言,我需要做哪些更改?您还没有从代码中填写ArrayList吗:ArrayList items2=new ArrayList();
,所以您只需要JSONArray JSONArray=new JSONArray就可以了(items2);
你有你的JSON数组。耶,它填充得很好,我明白了!!:-)我想问的另一件事是,一旦数组作为我的web服务的参数,我总是可以在我的web服务代码中写一个插入到查询中,以放入数组“items2”的各个值“在我的数据库中,对吗?当然可以。:)您将在web服务中将其视为一个数组,并使用它做您非常喜欢的事情。:)那么如何使用HttpPost呢?我是否需要它?您可以始终在JSONObject上使用toString()
来获取其字符串表示形式,那么我如何使用HttpPost?我是否需要它?您可以始终在JSONObject上使用toString()
,以获取其在此代码中的字符串表示形式。。。好一切都错了。。。1.你没有发布任何东西。is.toString()将不返回InputStream内容,而是返回InputStream字符串表示形式。。。3.您有HttpClient=newdefaulthttpclient(httpParams)
首先,然后HttpParams HttpParams=new BasicHttpParams()代码>在try范围内。。。为什么?是的,这确实是我代码中的一个主要缺陷,我接受它。我后来意识到了这一点。我现在肯定已经把它删除了。谢谢你的反馈!!在此代码中。。。好一切都错了。。。1.你没有发布任何东西。is.toString()将不返回InputStream内容,而是返回InputStream字符串表示形式。。。3.您有HttpClient=newdefaulthttpclient(httpParams)
首先,然后HttpParams HttpParams=new BasicHttpParams()代码>在try范围内。。。为什么?是的,这确实是我代码中的一个主要缺陷,我接受它。我后来意识到了这一点。我现在肯定已经把它删除了。谢谢你的反馈!!