本地数据存储parse.com android

时间:2015-11-25 13:56:02

标签: parse-platform

我使用的是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)`.

任何帮助?

2 个答案:

答案 0 :(得分:0)

试试这个。 只需固定所有对象而不传递参数。 ParseObject.pinAllInBackground();

在本地获取 执行相同的查询,但添加 query.fromLocalDatastore();来查询。 不要包括.frompin ..

答案 1 :(得分:0)

您必须在之后设置启用的解析本地数据存储 APP_ID结束APP_KEY