如果你想在任何活动进入后台时保持某种状态,你可以随时扩展Activity,添加两个在onPause和onResume中调用的抽象方法.然后,每个扩展此新抽象类的活动都将被强制定义saveState()和loadState().这些方法可以定义每个活动的保存和加载内容.
这只是使用继承来强制程序员实现其他被忽略的方法和技术方法的一个例子.您可以告诉程序员,如果您需要保存活动的状态,只需扩展此类活动,然后IDE就会将它们放在您的设计路径上.
package com.yourcompany.yourpackage;
import android.app.Activity;
public abstract class ActivitySaveState extends Activity{
@Override
protected void onPause() {
super.onPause();
saveState();
}
@Override
protected void onResume() {
super.onResume();
loadState();
}
public abstract void loadState();
public abstract void saveState();
}
您还可以在超类中为它们实例化一些状态保存机制(即Web服务端点,DAO或w / e您的持久性单元可能.
@Override
protected void onResume() {
super.onResume();
saveState();
CustomDataAccessObject dao = new CustomDataAccessObject("Activity3");
loadState(dao );
}
public abstract void loadState(CustomDataAccessObject dao);