我开发了一个Hangman Web和移动应用程序,Iam将播放器的分数存储在用于移动应用程序的Web应用程序中的mysql数据库的表中,以便将得分存储在本地sqlite数据库中。现在我的要求是同步这两个分数。是否可能,我应该使用Web服务吗? 请帮忙解决这个问题
答案 0 :(得分:0)
使用此代码从Mysql数据库中检索数据
public void syncSQLiteMySQLDB() {
// Create AsycHttpClient object
AsyncHttpClient client = new AsyncHttpClient();
// Http Request Params Object
RequestParams params = new RequestParams();
client.post("Your Url", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Log.d("Rs service_ReloadSqlDB ", response);
updateSQLite(response);
}
@Override
public void onFailure(Throwable throwable) {
super.onFailure(throwable);
Log.d(" RS onFailure ", throwable.toString());
}
});
}
使用此选项在SQLite中插入检索数据
public void updateSQLite(String response) {
try {
// Extract JSON array from the response
JSONArray arr = new JSONArray(response);
System.out.println(arr.length());
// If no of array elements is not zero
if (arr.length() != 0) {
// Loop through each array element, get JSON object which has userid and username
for (int i = 0; i < arr.length(); i++) {
// Get JSON object
JSONObject obj = (JSONObject) arr.get(i);
String st = obj.get("Games_Name").toString();
String ste = obj.get("Games_PackageName").toString();
// Insert User into SQLite DB
// databaseHelper.insertUser(queryValues);
databaseHelper.insertGameInfo(st, ste);
Log.i(getClass().getSimpleName(), " service_ReloadSqlDB...UPDated.... Work .....");
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}