如题,就是怎样在程序终止的时候,保存某些对象的状态,以便需要的时候回复?是使用 SharedPreferences 吗?或者也可以使用 java 的 Serializable 等几个接口?还有就是 android 如果需要操作文件的话是否是 使用 java 的 File 类?
解决方案 »
- android的反射机制具体到android.view.IWindowManager该怎么用?
- android 编译问题
- android密码屏保
- 闹钟标签重新设置后,闹铃时确没有更新,请高手帮忙。
- SharedBufferStack(126): waitForCondition(LockCondition) timed out.
- ListView notifyDataSetChanged更新出错
- 使用Android的模拟器时,如何更改SDCard与PC的连接方式。如将连接方式由“Connect to PC”改为“charge only”
- 求一android游戏控制器的demo
- 远程wipe与加锁是如何实现的?
- android 怎么实现自动点击
- 一个android小问题
- 这个Android的示例程序运行出错,高手进来看一下。
http://wang-peng1.iteye.com/blog/615339
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString("lastActivity", getClass().getName());
editor.commit();
}
public class Dispatcher extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Class<?> activityClass;
try {
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
activityClass = Class.forName(
prefs.getString("lastActivity", Activity1.class.getName()));
} catch(ClassNotFoundException ex) {
activityClass = Activity1.class;
}
startActivity(new Intent(this, activityClass));
}
} 2.@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean("MyBoolean", true);
savedInstanceState.putDouble("myDouble", 1.9);
savedInstanceState.putInt("MyInt", 1);
savedInstanceState.putString("MyString", "Welcome back to Android");
// etc.
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
double myDouble = savedInstanceState.getDouble("myDouble");
int myInt = savedInstanceState.getInt("MyInt");
String myString = savedInstanceState.getString("MyString");
}
存储状态:
SharedPreferences sharedPreferences = getSharedPreferences("这是提取时需要的关键值", MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.putString("这是提取时需要的关键值", 这是存储的值);
editor.commit();
获取状态:
SharedPreferences sharedPreferences = getSharedPreferences("这是提取时需要的关键值", MODE_PRIVATE);
String str=sharedPreferences.getString("关键值","默认值");