Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过web服务将ArrayList从Android应用程序发送到远程数据库_Android_Json_Web Services_Http Post - Fatal编程技术网

通过web服务将ArrayList从Android应用程序发送到远程数据库

通过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.

我有一个类型为“String”的ArrayList,其中包含某些值。我想使用web服务将此ArrayList发送到远程数据库。我计划使用JSON来插入相同的内容,但我面临着某些困难,我想知道如何去做

以下是我目前的代码:

我的ArrayList定义如下。它的目的是存储复选框值

      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范围内。。。为什么?是的,这确实是我代码中的一个主要缺陷,我接受它。我后来意识到了这一点。我现在肯定已经把它删除了。谢谢你的反馈!!