Android 在我开始实施之前,它会起作用吗?将Shared Pref用作解析服务器的备份

Android 在我开始实施之前,它会起作用吗?将Shared Pref用作解析服务器的备份,android,android-intent,sharedpreferences,parse-server,Android,Android Intent,Sharedpreferences,Parse Server,我试图让这个应用程序加载得更快,当我将数据从一个活动传递到另一个活动时,我很确定如果用户单击home按钮,它会在一段时间后消失 例如,我正在根据上一个活动的信息更改新活动的标题。getStringExtra是否超时 我还考虑将内容传递到共享pref。 例如,单击列表视图中的某个项目后,我将向下一个活动传递大约10个不同的字符串。如果我在进入活动之前将所有内容都放入一个共享pref中,然后一旦进入活动,就调用共享pref信息,而不是intent extra 如果用户返回,我可以转储共享pref,或

我试图让这个应用程序加载得更快,当我将数据从一个活动传递到另一个活动时,我很确定如果用户单击home按钮,它会在一段时间后消失

例如,我正在根据上一个活动的信息更改新活动的标题。getStringExtra是否超时

我还考虑将内容传递到共享pref。 例如,单击列表视图中的某个项目后,我将向下一个活动传递大约10个不同的字符串。如果我在进入活动之前将所有内容都放入一个共享pref中,然后一旦进入活动,就调用共享pref信息,而不是intent extra

如果用户返回,我可以转储共享pref,或者如果用户单击列表视图中的另一个对象,我可以将其置于右上方


在我编写代码之前,它会工作吗?

意图中的附加功能不“超时”。Android将这些数据持久地保存在框架中。即使您的应用程序在后台被杀死,当用户返回应用程序时,Android也会用原始的
意图重新创建
活动
,包括“附加”。

意图
中的附加不会“超时”。Android将这些数据持久地保存在框架中。即使你的应用程序在后台被关闭,当用户返回应用程序时,Android也会以原始的
意图重新创建
活动
,包括“额外的”

可能不想使用共享的prefs来存储大量数据,尽管在某些情况下可能会起作用

请看解析本地数据存储。您可以在本地“锁定”从服务器获取的数据,然后在任何需要的地方检索它

例如,当您获取列表数据时,您可以在本地锁定列表。单击列表项时,只需将该对象的id传递到详细信息屏幕(在bundle args中),然后按id查询以显示它

以下是文档中的一个示例:

// Pin ParseQuery results
List<ParseObject> objects = query.find(); // Online ParseQuery results
ParseObject.pinAllInBackground(objects);

// Query the Local Datastore
ParseQuery<ParseObject> query = ParseQuery.get("Feed")
    .fromLocalDatastore()
    .whereEquals("starred", true)
    .findInBackground(new FindCallback() {
        public void done(List<ParseObject> objects, ParseException e) {
            // Update UI
        }
    });

ParseObject feed = ParseQuery.get(objectId); // Online ParseQuery result
feed.fetch();
feed.put("starred", true);

// No network connectivity
feed.saveEventually();

ParseQuery<ParseObject> query = ParseQuery.get("Feed")
  .fromLocalDatastore()
  .whereEquals("starred", true)
  .findInBackground(new FindCallback() {
    public void done(List<ParseObject> objects, ParseException e) {
      // "feed" ParseObject will be returned in the list of results
    }
  });
//查询结果
List objects=query.find();//联机查询结果
ParseObject.pinAllInBackground(对象);
//查询本地数据存储
ParseQuery=ParseQuery.get(“提要”)
.fromLocalDatastore()
.whereEquals(“带星号”,正确)
.findInBackground(新的FindCallback(){
公共void done(列出对象,parsee异常){
//更新用户界面
}
});
ParseObject提要=ParseQuery.get(objectId);//联机查询结果
feed.fetch();
feed.put(“星号”,真);
//没有网络连接
feed.savefinally();
ParseQuery=ParseQuery.get(“提要”)
.fromLocalDatastore()
.whereEquals(“带星号”,正确)
.findInBackground(新的FindCallback(){
公共void done(列出对象,parsee异常){
//“提要”ParseObject将在结果列表中返回
}
});

可能不想使用共享pref来存储大量数据,尽管它在某些情况下可能会起作用

请看解析本地数据存储。您可以在本地“锁定”从服务器获取的数据,然后在任何需要的地方检索它

例如,当您获取列表数据时,您可以在本地锁定列表。单击列表项时,只需将该对象的id传递到详细信息屏幕(在bundle args中),然后按id查询以显示它

以下是文档中的一个示例:

// Pin ParseQuery results
List<ParseObject> objects = query.find(); // Online ParseQuery results
ParseObject.pinAllInBackground(objects);

// Query the Local Datastore
ParseQuery<ParseObject> query = ParseQuery.get("Feed")
    .fromLocalDatastore()
    .whereEquals("starred", true)
    .findInBackground(new FindCallback() {
        public void done(List<ParseObject> objects, ParseException e) {
            // Update UI
        }
    });

ParseObject feed = ParseQuery.get(objectId); // Online ParseQuery result
feed.fetch();
feed.put("starred", true);

// No network connectivity
feed.saveEventually();

ParseQuery<ParseObject> query = ParseQuery.get("Feed")
  .fromLocalDatastore()
  .whereEquals("starred", true)
  .findInBackground(new FindCallback() {
    public void done(List<ParseObject> objects, ParseException e) {
      // "feed" ParseObject will be returned in the list of results
    }
  });
//查询结果
List objects=query.find();//联机查询结果
ParseObject.pinAllInBackground(对象);
//查询本地数据存储
ParseQuery=ParseQuery.get(“提要”)
.fromLocalDatastore()
.whereEquals(“带星号”,正确)
.findInBackground(新的FindCallback(){
公共void done(列出对象,parsee异常){
//更新用户界面
}
});
ParseObject提要=ParseQuery.get(objectId);//联机查询结果
feed.fetch();
feed.put(“星号”,真);
//没有网络连接
feed.savefinally();
ParseQuery=ParseQuery.get(“提要”)
.fromLocalDatastore()
.whereEquals(“带星号”,正确)
.findInBackground(新的FindCallback(){
公共void done(列出对象,parsee异常){
//“提要”ParseObject将在结果列表中返回
}
});

使用相同的概念。我可以(在加载启动屏幕期间)查询我的数据并锁定所有内容吗?然后使用固定的数据并从那里开始?我开始使用PIN。例如,当我创建一个对象时,我保存了它,并固定了它。当我第二天返回我的应用程序时,我发现当我试图从本地商店查询时,没有加载被钉住的项目。是的,你可以在启动屏幕期间远程获取和pin,或者在最有意义的任何地方。你所说的“保存和固定”是什么意思?你是说还保存到共享首选项?并且不确定为什么在第二天没有看到代码的情况下无法使用固定数据。你是否在某个时候意外地覆盖了它,或者你正在清除某个地方的本地数据存储?没有。所以当我创建一个对象时。我执行类似parseObject.saveInBackground(新保存){if(e==null){I将此对象固定到后台}我想我不知道该怎么做。在我的启动过程中,我可以查询我的表。当表成功查询时,我锁定解析对象。然后在我的应用程序中,我从本地商店查询。这是一个如此简单的概念,我的大脑被炸了。感谢使用相同概念的指针。我可以(在加载启动屏幕时)吗查询我的数据并锁定所有内容?然后使用锁定的数据并从那里开始?我开始使用锁定。例如,当我创建一个对象时,我保存了它,并锁定了它。我发现当我第二天返回我的应用程序时,当我尝试从本地商店查询时,锁定的项目没有加载是的,您可以远程获取并在启动屏幕,或任何它使