Отправить содержимое Android ArrayList на PHP - PullRequest
1 голос
/ 12 марта 2011

Я работаю в качестве разработчика PHP (средний уровень) и дома практикую некоторые вещи для Android.

Я создал список массивов, который будет загружен в базу данных sqlite внутри моего приложения Android и заполнит ListView.,Теперь я пытаюсь подняться на один уровень дальше.

Я хочу отправить содержимое списка массивов на мой PHP-сервер, где я могу сохранить данные, данные в mysql, и извлечь их обратно в мое приложение.

Как бы я пошел для достижения этого?

Ответы [ 2 ]

1 голос
/ 12 марта 2011

Для этого вы должны опубликовать свои данные на php-сервере, затем извлечь эти данные и сохранить в вашей базе данных.

Здесь я прилагаю один пример, который отправляет данные на сервер и получает ответ в формате json.

                    HttpPost postMethod = new HttpPost("Your Url");
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();


                    // test is a one array list

                    for(int i=0;i<test.size();i++)
                    {
                        nameValuePairs.add(new BasicNameValuePair("sample[]", Integer.toString(test.get(i))));
                    }

                    postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    DefaultHttpClient hc = new DefaultHttpClient();

                    HttpResponse response = hc.execute(postMethod);
                    HttpEntity entity = response.getEntity();

                    // If the response does not enclose an entity, there is no need
                    // to worry about connection release

                    if (entity != null) 
                    {
                        InputStream inStream = entity.getContent();
                        result= convertStreamToString(inStream);
                        jsonObject = new JSONObject(result);
                        responseHandler.sendEmptyMessage(0);
                    }
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }
        }.start();

Здесь sample [] - это поле, в котором я назначаю значение массива для отправки на сервер. Со стороны сервера вы должны получить поле образца [].


public static String convertStreamToString(InputStream is)
{
   BufferedReader reader = new BufferedReader(new InputStreamReader(is));
   StringBuilder sb = new StringBuilder();

   String line = null;
   try 
   {
       while ((line = reader.readLine()) != null) 
       {
           sb.append(line + "\n");
       }
   } 
   catch (IOException e) 
   {
       e.printStackTrace();
   } 
   finally 
   {
       try 
       {
           is.close();
       } 
       catch (IOException e) 
       {
           e.printStackTrace();
       }
   }
   return sb.toString();

}

1 голос
/ 12 марта 2011

Вы можете использовать JSON или XML для отправки данных с Android на php сервер.На стороне PHP все, что вам нужно, это встроенный json_decode, который десериализует ваш json и вернет объект или ассоциативный массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...