Android 如何将相机参数持久化为共享参考?
如何在活动销毁后保持相机的复选框状态和设置 或者换句话说,如何将相机参数持久化为共享引用Android 如何将相机参数持久化为共享参考?,android,camera,Android,Camera,如何在活动销毁后保持相机的复选框状态和设置 或者换句话说,如何将相机参数持久化为共享引用 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu_old); SharedPreferences preferences = getSharedPreferences("PREFS_NAME",MODE_WO
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_old);
SharedPreferences preferences =
getSharedPreferences("PREFS_NAME",MODE_WORLD_READABLE);
yourCheckBox = (CheckBox) findViewById( R.id.fonarb );
yourCheckBox.setChecked(preferences.getBoolean("lol",false));
yourCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton yourCheckBox,
boolean isChecked) {
if (isChecked){
Parameters params = camera.getParameters();
params.setColorEffect(Parameters.EFFECT_NEGATIVE);
camera.setParameters(params);
}
else {
Parameters params = camera.getParameters();
params.setColorEffect(Parameters.EFFECT_NONE);
camera.setParameters(params);
}
}
});
public void onStop(){
SharedPreferences settings = getSharedPreferences("PREFS_NAME", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("lol", true);
editor.commit();
super.onStop();
}
如您所说,不想保存设置!:( 与总是在SharedReferences中存储“true”不同,只需存储复选框的当前状态
SharedPreferences settings = getSharedPreferences("PREFS_NAME", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = settings.edit();
CheckBox yourCheckBox = (CheckBox) findViewById( R.id.fonarb );
editor.putBoolean("lol", yourCheckBox.isChecked());
editor.commit();
您也可以考虑将此代码移动到OnPoAuess()而不是OnStutter()。操作系统(预蜂窝状)一旦停机,就可以杀死您的活动,而不必调用OnStor()。。如果发生这种情况,您的共享参考将不会被保存。
有什么问题吗?您需要解决如何将相机参数持久保存到共享参考中吗?SharedPreferences settings = getSharedPreferences("PREFS_NAME", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = settings.edit();
CheckBox yourCheckBox = (CheckBox) findViewById( R.id.fonarb );
editor.putBoolean("lol", yourCheckBox.isChecked());
editor.commit();