zoukankan      html  css  js  c++  java
  • Android四个存储数据的SharedPreferences

      除了SQLite外部数据库。SharedPreferences它是一个轻量级的数据存储,其本质是基于XML文件存储key-value键值数据,通过定期用它来存储一些简单的配置信息。它的存储位置/data/data/< >/shared_prefs文件夹下。SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是通过Editor对象实现。实现SharedPreferences存储的过程例如以下:

      一、依据Context获取SharedPreferences对象

      二、利用edit()方法获取Editor对象。

      三、通过Editor对象存储key-value键值对数据。

      四、通过commit()方法提交数据。

    以下是用SharedPreferences存储数据的一个案例:

    点击开启开启WiFi。设置进度条,保存状态,下次打开此程序,将显示上次保存的状态。

    核心code例如以下:

    package com.ghsy.demo;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.SharedPreferences;
    import android.content.SharedPreferences.Editor;
    import android.view.Menu;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.CompoundButton.OnCheckedChangeListener;
    import android.widget.SeekBar;
    import android.widget.SeekBar.OnSeekBarChangeListener;
    
    public class MainActivity extends Activity {
    
    	private CheckBox checkBox;
    	private SeekBar seekBar;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		checkBox=(CheckBox) this.findViewById(R.id.checkBox1);
    		seekBar=(SeekBar) this.findViewById(R.id.seekBar1);
    		/*除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件
    		 *存储key-value键值对数据,通经常使用来存储一些简单的配置信息。其存储位置在/data/data/< >/sh
    		 *ared_prefs文件夹下。SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是
    		 *通过Editor对象实现。

    */ //sharedPreferences存储数据的步骤: //1.依据context获取SharedPreferences对象 final SharedPreferences preferences=MainActivity.this.getSharedPreferences("setting",MODE_PRIVATE ); //点击发生状态改变的时候。调用对应的方法 checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //2.通过SharedPreferences获取editor对象(对数据存储改动的对象) Editor editor=preferences.edit(); //3.通过editor对象存储key-value键值对数据 editor.putBoolean("wifi", isChecked); //4.通过commit方法提交数据 editor.commit(); } }); //当点开当前页面的时候,从preferences中获取当前的的wifi开启状态 Boolean boolean1 = preferences.getBoolean("wifi", false); checkBox.setChecked(boolean1); //当seekbar在移动的时候对其做一个监听 this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // 进度条停止的时候 } @Override public void onStartTrackingTouch(SeekBar seekBar) { // 进度条開始移动 } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // 进度条运动后(在移动) Editor editor=preferences.edit(); editor.putInt("seek", progress); editor.commit(); } }); int progress=preferences.getInt("seek", 0); this.seekBar.setProgress(progress); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }


     

  • 相关阅读:
    update 更改字段
    查看 links
    oracle 统计字段空值数
    查看oracle 数据库编码个格式
    oracle 数据库DBA权限
    一文弄懂 Golang 排序
    Golang Linux、Windows、Mac 下交叉编译
    go 简单封装数学运算包
    [Vue warn]: Unknown custom element: did you register the component correctly?
    深度图怎么看行情走势
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5044254.html
Copyright © 2011-2022 走看看