4

Android アプリケーションからサーバーに JSON データを送信しようとしています。データベースは MySQL で、サーバー側のコードには ROR を使用しています。以下は、データの送信に使用されるコードです。

 try{


                JSONObject json = new JSONObject();
                json.put("id", "1");
                json.put("catname", "gaurav");
                json.put("catstart", "01012013");
                json.put("catend", "01012013");
                json.put("catvisible", "Y");
                HttpParams httpParams = new BasicHttpParams();
                HttpConnectionParams.setConnectionTimeout(httpParams,
                        5000);
                HttpConnectionParams.setSoTimeout(httpParams, 5000);

                HttpClient client = new DefaultHttpClient(httpParams);

                String url = "http://192.168.1.9/3000/categories/create";

                HttpPost request = new HttpPost(url);
                request.addHeader("Accept","application/json");
                request.addHeader("Content-Type","application/json");
                request.setEntity(new ByteArrayEntity(json.toString().getBytes(
                        "UTF8")));
                //request.setHeader("json", json.toString());
                HttpResponse response = client.execute(request);

ここで 192.168.1.9 は私のマシンの IP アドレスです。Eclipse でのデバッグ中に「request」に値が表示されましたが、last の実行中にエラーが発生しましたHttpResponse response = client.execute(request);。私はこれに非常に慣れていないので、何かが足りないかどうかわかりません。また、リクエストが受信された場合、レールサーバーをチェックインしようとしています。そこでは何も開始されませんでした。お知らせ下さい。ありがとう。

4

2 に答える 2

0

json オブジェクトを BasicNameValuePair で送信します //ここで sear 、shortvalue は json です

 DefaultHttpClient client1 = new DefaultHttpClient();
                List<NameValuePair> params1 = new ArrayList<NameValuePair>();
                params1.add(new BasicNameValuePair("q",sear));
                params1.add(new BasicNameValuePair("o",shortvalue));
                params1.add(new BasicNameValuePair("p","1"));
                params1.add(new BasicNameValuePair("filter_on",String.valueOf(jarry)));

                String paramString = URLEncodedUtils.format(params1, "utf-8");
                HttpGet httpGet = new HttpGet(servername+"search/"+"?" + paramString);
                //httpGet.setHeader("Cookie","_bb_vid="+""+Vis_id12);
                try {
                    httpResponse = client1.execute(httpGet);
                    HttpEntity httpEntity = httpResponse.getEntity();
                    responseCode = httpResponse.getStatusLine().getStatusCode();
                    String line = null;

                    BufferedReader reader1 = null;
                    try
                    {
                        reader1 = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
                    }
                    catch (Exception e)
                        {
                            // TODO: handle exception
                            exp_Message="Search.java"+" "+e+" "+e.getMessage()+" "+Log.getStackTraceString(e);
                            Writefile();
                        }

                    while ((line = reader1.readLine()) != null)
                    {
                        try {
                            filObject = new JSONObject(line);
                        }  catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                            exp_Message="Search.java"+" "+e+" "+e.getMessage()+" "+Log.getStackTraceString(e);
                            Writefile();
                        }
                        catch (Exception e)
                        {
                            // TODO: handle exception
                            exp_Message="Search.java"+" "+e+" "+e.getMessage()+" "+Log.getStackTraceString(e);
                            Writefile();
                        }
                    }


                    searchJsonObject=filObject;

                    checkfil=true;

                } catch (Exception e) {
                    // TODO: handle exception
                    exp_Message="Search.java"+" "+e+" "+e.getMessage()+" "+Log.getStackTraceString(e);
                    Writefile();
                }
于 2013-08-06T06:58:34.940 に答える