0

我真的是 android 的新手,我创建了一个应用程序,该应用程序具有按钮,这些按钮导致其他活动,在这些活动中,数据被选择通过具有附加功能的意图发送回主要活动。

当我完成数据收集活动时,我调用 finish() 方法返回到我的主要活动。

用户可能希望重新访问信息收集活动以输入新数据,但当他们返回活动时,先前输入的数据是否不存在并不重要。

在编写应用程序时,这被认为是好的还是坏的做法?

谢谢,米

4

1 回答 1

0

取决于您的应用程序。

如果您的应用程序需要像选项活动或日期输入活动这样的永久数据,您必须“保存”活动的更改。使用 Overryde 方法有一种简单的形式:

/**
 * Method onSaveInstanceState.
 * @param outState Bundle
 */
@Override
protected void onSaveInstanceState(Bundle outState) {
    outState.putBoolean("ISCALLSMS", isOnCallingSms);
    super.onSaveInstanceState(outState);
}


/**
 * Method onRestoreInstanceState.
 * @param savedInstanceState Bundle
 */
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    if ( (savedInstanceState != null) && (savedInstanceState.containsKey("ISCALLSMS")) ){
        isOnCallingSms = savedInstanceState.getBoolean("ISCALLSMS");
    }
    super.onRestoreInstanceState(savedInstanceState);
}    

*这是我的应用程序的一个例子。Yoy 应该决定您需要保存哪些数据。还有其他方法可以保存您的数据,这只是其中一种。

在其他情况下,如果您的应用不需要保存数据,那么您可以如何完成活动

于 2011-08-31T10:10:55.720 回答