Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android的SharedPreferences使用

android的SharedPreferences使用

編輯:關於Android編程

需求:模擬android系統應用設置中飛行模式的開啟與關閉,並記住設置的狀態

布局文件:fragment_main.xml


    
    
      
資源文件strings.xml


    layout
    Settings
    飛行模式
    關閉網絡連接
    飛行模式已開啟
    飛行模式已關閉
MainActivity.java

public class MainActivity extends Activity {
	private TextView tv_content;
	private CheckBox cb;
	private RelativeLayout rl;
	private SharedPreferences sp;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.fragment_main);

		sp = getSharedPreferences("config", MODE_PRIVATE);//將需要記錄的數據保存在config.xml文件中
		// sp =  getPreferences(MODE_PRIVATE); 自動以當前activity.java文件的類名 作為.xml文件的名稱
		boolean flymode = sp.getBoolean("flymode", false);

		tv_content = (TextView) findViewById(R.id.tv_content);
		cb=(CheckBox) findViewById(R.id.cb);
		rl = (RelativeLayout) findViewById(R.id.rl);

		if (flymode) {
			tv_content.setText(R.string.ari_open);
			cb.setChecked(true);
		} else {
			tv_content.setText(R.string.ari_close);
			cb.setChecked(false);
		}
		rl.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				if (cb.isChecked()) {
					cb.setChecked(false);
					tv_content.setText(R.string.ari_close);
					Editor editor = sp.edit();
					editor.putBoolean("flymode", false);
					editor.commit();
				} else {
					cb.setChecked(true);
					tv_content.setText(R.string.ari_open);
					Editor editor = sp.edit();
					editor.putBoolean("flymode", true);
					editor.commit();
				}
			}
		});
		
/*		cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){
					tv_content.setText(R.string.ari_open);
					Editor editor = sp.edit();
					editor.putBoolean("flymode", false);
					editor.commit();
				}else{
					tv_content.setText(R.string.ari_close);
					Editor editor = sp.edit();
					editor.putBoolean("flymode", true);
					editor.commit();
				}
				
			}
		});*/
	}
  }
界面效果如圖:



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved