我使用的是parse.com android api,每当有互联网时,它运行正常但我的设备离线时无法获取它。 这是代码:
private void initializeparseData() {
Parse.enableLocalDatastore(this);
Parse.initialize(this, "APP_ID",
"CLIENT_ID");
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
}
我像这样添加到dataStore:
private void parseData()
{
ParseQuery<ParseObject> query = ParseQuery.getQuery("CLASS_NAME");
query.orderByDescending("_created_at");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(final List<ParseObject> objects, ParseException e) {
ParseObject.unpinAllInBackground("objects", new DeleteCallback() {
public void done(ParseException e) {
ParseObject.pinAllInBackground("objects",objects);
}
});
}
});
}
这就是我获取它的方式:
enter code here
ParseQuery<ParseObject> query = ParseQuery.getQuery("CLASS_NAME");
query.fromLocalDatastore();
query.fromPin("objects");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> objects, ParseException e) {
Log.i("shant", "PARSE GET: "+objects+" SIZE: "+objects.size());
}
});
我仍然有这个错误! :
Method requires Local Datastore.Please refer to `Parse#enableLocalDatastore(Context)`.
任何帮助?
答案 0 :(得分:0)
试试这个。 只需固定所有对象而不传递参数。 ParseObject.pinAllInBackground();
在本地获取 执行相同的查询,但添加 query.fromLocalDatastore();来查询。 不要包括.frompin ..
答案 1 :(得分:0)
您必须在之后设置启用的解析本地数据存储 APP_ID结束APP_KEY