我是新来的android开发,现在我正在开发一个电子商务应用程序在android的在线购物。到目前为止,在这个项目中,我已经创建了一个购物车来保存用户选择的文章。但是我所做的每一件事情都是静态的。电子商务在android中
现在我必须与服务器通信以获取有关产品和折扣的更新。
我知道如何使用json来使用webservices。
1.我很困惑,每次我开始我的应用程序,我应该使用webservice与服务器通信?或者当应用程序首次在设备上执行时,我应该将数据存储在应用程序中。
2.And我应该遵循什么样的方式来存储数据
我应该把它存储在设备高速缓存或 我应该把它存储在应用程序的SQLite数据库
编辑: GET来自webservice的数据
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();
}
我这样做得到d从服务器
但无法ATA把这个数据在sqlite的分贝请指导我
好吧我会用sqlite bt有没有什么办法从webservice获取数据并将其存储在sqlite数据库? – Shruti
我不知道Android中的任何特殊功能,因为我通过解析响应并将其添加到数据库中来做到这一点。为了更好的练习,你可以让自己的自定义抽象类来做到这一点。 – MKJParekh
好的,你能告诉我解析响应的代码段并将其添加到数据库? – Shruti