Я новичок в разработке для Android, и сейчас я занимаюсь разработкой приложения для электронной коммерции в Android для покупок в Интернете. До сих пор в этом проекте я создал корзину для покупок, в которой будут храниться статьи, выбранные пользователем. Но все, что я делал, работает статично.
Теперь мне нужно общаться с сервером, чтобы получать обновления о продуктах и скидках.
Я знаю, как использовать веб-сервисы, используя json.
1. Я запутался в том, что каждый раз, когда я запускаю свое приложение, я должен общаться с сервером через веб-сервис ?? или я должен хранить данные в приложении, когда приложение выполняется в первый раз на устройстве.
2. И какой подход к хранению данных я должен использовать
Я должен сохранить его в кеше устройства или
Я должен хранить его в приложениях sqlite db
Редактировать:
получить данные из веб-сервиса
try {
Log.v("inside webservice call ", "1");
HttpPost request = new HttpPost(url);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
// Build JSON string
Log.v("inside webservice call ", "2");
JSONStringer JsonString = new JSONStringer().object().key("prodid")
.value("4057339").endObject();
StringEntity entity = new StringEntity(JsonString.toString());
request.setEntity(entity);
Log.v("data", JsonString.toString());
Log.v("inside webservice call ", "2");
DefaultHttpClient httpClient1 = new DefaultHttpClient();
HttpResponse response = httpClient1.execute(request);
Log.v("inside webservice call ", "3");
Log.v("response code", response.getStatusLine().getStatusCode()
+ "");
HttpEntity responseEntity = response.getEntity();
// Read response data into buffer
char[] buffer = new char[(int) responseEntity.getContentLength()];
InputStream stream = responseEntity.getContent();
InputStreamReader reader = new InputStreamReader(stream);
reader.read(buffer);
stream.close();
Log.v("inside webservice call ", "4");
results = new JSONObject(new String(buffer));
// Populate text fields
String message = results.getString("message");
String isvalid = results.getString("isvalid");
Log.v("tag", message + isvalid);
Log.v("inside webservice call ", "5");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
Я делаю это для получения данных с сервера
но не могу поместить эти данные в sqlite db