Вставка строки и изображения на сервер mysql с помощью приложения для Android

#android

#Android

Вопрос:

Это моя ссылка http://amancomputers.com/mm/pma-front/services/reply.php

 Link content->INSERT INTO incomming_message(content,date,image) VALUES('',now(),''){"login":1}
  

Я хочу отправить текст и изображение в виде содержимого и изображения соответственно с помощью моего приложения для Android. Я пробовал этот код

 @Override
    protected String doInBackground(String... params) {
          //for(int i=0;i<5;i  ) {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://amancomputers.com/mm/pma-front/services/reply.php");

        try {
            // Add your data

            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("content","name abcd"));
            nameValuePairs.add(new BasicNameValuePair("image", "AndDev is Cool!"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);

        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
        } catch (IOException e) {
            // TODO Auto-generated catch block
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
   return "success";
                }
  

Я пробовал этот код. Но моя проблема в том, что создается новый идентификатор, но я не могу отправить текст или изображение на сервер.
и мое исключение находится в logcat:

 unable to convert java.lang.string into jsonobjects 
  

Ответ №1:

Вы создаете JSONObject из этого String («12345») недопустимый json, попробуйте использовать допустимую строку json, например

 JSONObject jsonObject = new JSONObject("{"whatever":"12345"}");
  

или просто пустой объект

 JSONObject jsonObject = new JSONObject();
  

Комментарии:

1. могу ли я сделать это nameValuePairs.add(new BasicNameValuePair(«content», JSONObject));

2. @user3764509 Я так не думаю, значение должно быть строкой. В вашем случае это будет .. «content», JSONObject.toString())); Дело в том, для чего вам нужен JSONObject?

3. мое исключение 06-22 05:35:04.140: электронная/незачет 3(7733): орг.в формате JSON.JSONException: Значение <!DOCTYPE of type java.lang. Строка не может быть преобразована в JSONObject

4. @user3764509 это означает, что вы пытаетесь проанализировать строку, отличную от json, как json, это та же проблема, которую я затронул в своем ответе. как вы инициализируете JSONObject?

5. спасибо за вашу поддержку. я решил проблему. Моя проблема заключалась в том, что я давал неправильное значение namevaluepair, моим именем параметра на сервере было get message, и я предоставлял контент