Я работаю разработчиком PHP (средний уровень) и занимаюсь некоторыми продуктами Android в домашних условиях.
Я создал и список массивов, которые будут извлекаться в sqlite db внутри моего приложения Android и заполнять ListView. Теперь я пытаюсь продвинуться на один уровень дальше.
Я хочу отправить этот список содержимого массива на свой PHP-сервер, где я могу хранить данные, данные в mysql, и возвращаться к моему приложению.
Как я могу это сделать?
Вы можете использовать JSON или XML для отправки данных с android на php-сервер. На стороне PHP все, что вам нужно, это встроенный json_decode, который будет десериализовать ваш json и вернуть объект или ассоциативный массив.
Для этого вам нужно отправить свои данные на 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 [] – это поле, в котором я назначаю значение массива для отправки на сервер. Со стороны сервера вы должны выбрать поле 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();
}