在 GWT 中保存 activity 状态
Saving activity state in GWT
我很难弄清楚如何在 GWT 中保存 activity 的状态,就像在 Android 中一样。
我的意思是,当 activity 将被丢弃时,我们如何在某处序列化它的状态并在再次显示 activity 时检索它?
我已经阅读了以下官方指南
http://www.gwtproject.org/doc/latest/DevGuideMvpActivitiesAndPlaces.html
但它没有说明我的问题。
你能帮忙吗?
编辑:
现在我想知道 Tokenizet getToken 方法有什么用...
public static class Tokenizer implements PlaceTokenizer<HelloPlace> {
@Override
public String getToken(HelloPlace place) {
return place.getHelloName();
}
@Override
public HelloPlace getPlace(String token) {
return new HelloPlace(token);
}
}
Activity 不应该有状态。视图具有状态,当用户在应用程序中从一个地方移动到另一个地方时,视图不会被丢弃。
例如,activity 可以加载数据并填充相应的视图。它还可以在视图中设置标志,例如populated = true
。下次 activity 启动时,它可以检查视图是否已填充并采取相应行动。
是否需要此类标志取决于您的要求。有时,用户希望每次访问某个地方时都能看到刷新的数据。在其他情况下,它可能没有必要或不切实际。
编辑:
令牌用于向 activity 提供有关用户希望在视图中看到的内容的附加信息。例如,视图可以显示有关博主的信息。然后令牌可以提供用户希望看到的博主的 ID:
/#BloggerBio:12345
当 BloggerBioActivity 解析此标记(“12345”)时,它知道加载 id=12345 的博主的简介并将其显示在 BloggerBioView 中。
当用户再次访问此视图时,发生什么情况由您决定。即使token相同也可以刷新视图,或者将token与视图中显示的博主id进行比较,如果相同则什么都不做。
我很难弄清楚如何在 GWT 中保存 activity 的状态,就像在 Android 中一样。
我的意思是,当 activity 将被丢弃时,我们如何在某处序列化它的状态并在再次显示 activity 时检索它?
我已经阅读了以下官方指南
http://www.gwtproject.org/doc/latest/DevGuideMvpActivitiesAndPlaces.html
但它没有说明我的问题。
你能帮忙吗?
编辑:
现在我想知道 Tokenizet getToken 方法有什么用...
public static class Tokenizer implements PlaceTokenizer<HelloPlace> {
@Override
public String getToken(HelloPlace place) {
return place.getHelloName();
}
@Override
public HelloPlace getPlace(String token) {
return new HelloPlace(token);
}
}
Activity 不应该有状态。视图具有状态,当用户在应用程序中从一个地方移动到另一个地方时,视图不会被丢弃。
例如,activity 可以加载数据并填充相应的视图。它还可以在视图中设置标志,例如populated = true
。下次 activity 启动时,它可以检查视图是否已填充并采取相应行动。
是否需要此类标志取决于您的要求。有时,用户希望每次访问某个地方时都能看到刷新的数据。在其他情况下,它可能没有必要或不切实际。
编辑:
令牌用于向 activity 提供有关用户希望在视图中看到的内容的附加信息。例如,视图可以显示有关博主的信息。然后令牌可以提供用户希望看到的博主的 ID:
/#BloggerBio:12345
当 BloggerBioActivity 解析此标记(“12345”)时,它知道加载 id=12345 的博主的简介并将其显示在 BloggerBioView 中。
当用户再次访问此视图时,发生什么情况由您决定。即使token相同也可以刷新视图,或者将token与视图中显示的博主id进行比较,如果相同则什么都不做。