Android数据存储与访问之使用SharedPreferences进行数据存储
来源:互联网 发布:php是脚本语言吗 编辑:程序博客网 时间:2024/05/21 17:08
使用SharedPreferences进行数据存储
使用SharedPreferences进行数据存储是Android提供的用来存储一些简单配置信息的一种机制(偏好参数保存),采用了XML格式将数据存储到设备中。通过getSharedPreferences()方法来获得SharedPreferences接口,通过编辑器保存提交内容,通过接口的getString()方法来读取内容;其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。
下面就是今天要完成的列子:(存储要求:点击保存按钮能将用户输入的数据保存到设备中,读取要求:当用户初始化Activity的时候能将之前一次保存的数据回显到输入框中)
1.首先完成布局文件(年龄的输入框要设置只能输入数字android:numeric=”integer”;还有保存按钮我们设置一个点击方法android:onClick=”save”)。
2.根据MVC的设计风格,我们将保存数据的业务方法save(name, age),单独编写一个业务类PreferencesService,通过上下文对象的getSharedPreferences(name,mode)方法来获得SharedPreferences对象,在通过编辑器进行提交保存。而访问SharedPreferences中的数据是通过SharedPreferences对象的getString()方法。public class PreferencesService {private Context context;public PreferencesService(Context context) {this.context = context;}//保存数据public void save(String name, Integer age) {//这里传入的文件名不能加.xml的扩展名,因为这个API默认保存的就是xml文件SharedPreferences preferences = context.getSharedPreferences("android", context.MODE_PRIVATE);Editor editor = preferences.edit();editor.putString("name", name);editor.putInt("age", age);editor.commit();}//获取各项配置参数public Map<String, String> getPreference() {SharedPreferences preferences = context.getSharedPreferences("android", context.MODE_PRIVATE);Map<String, String> map = new HashMap<String, String>();//getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值map.put("name", preferences.getString("name", ""));map.put("age", preferences.getInt("age", 0)+"");return map;}}
3.编写完善MainActivity中的代码
public class MainActivity extends Activity {private EditText nameET, ageET;private PreferencesService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nameET = (EditText) findViewById(R.id.name); ageET = (EditText) findViewById(R.id.age); service = new PreferencesService(MainActivity.this); Map<String, String> map = service.getPreference(); nameET.setText(map.get("name")); ageET.setText(map.get("age")); } //按钮单机事件 public void save(View v) { String name = nameET.getText().toString(); String age = ageET.getText().toString(); service.save(name, Integer.valueOf(age)); Toast.makeText(MainActivity.this, R.string.success, 1).show(); }}4.运行程序,进行测试
- Android数据存储与访问之使用SharedPreferences进行数据存储
- 使用SharedPreferences进行数据存储与访问
- android数据存储与访问之使用SharedPreferences
- android数据存储与访问之使用SharedPreferences
- 使用SharedPreferences进行数据存储并访问
- Android核心基础-5.Android 数据存储与访问-2.使用SharedPreferences进行数据存储
- Android 数据存储与访问 SharedPreferences
- [Android SQLite]数据存储与访问 - SharedPreferences
- android:数据的存储与访问----Sharedpreferences
- android之SharedPreferences进行数据存储
- android之SharedPreferences进行数据存储
- Android中使用SharedPreferences进行数据存储
- Android 使用SharedPreferences进行数据存储
- Android使用SharedPreferences进行数据存储
- Android笔记使用SharedPreferences进行数据存储
- 使用SharedPreferences进行数据存储
- 使用SharedPreferences进行数据存储
- 使用SharedPreferences进行数据存储
- 新手学PHP两个月后的体会总结
- 关于“绕坐标轴的旋转”和“鼠标控制物体的旋转”(一)
- Test Precisely and Concretely
- Test While You Sleep (and over Weekends)
- Testing Is the Engineering Rigor of Software Development
- Android数据存储与访问之使用SharedPreferences进行数据存储
- Compare... Closelier
- Thinking in States
- Two Heads Are Often Better than One
- Two Wrongs Can Make a Right (and Are Difficult to Fix)
- Ubuntu Coding for Your Friends
- App.config配置文件
- The Unix Tools Are Your Friends
- Ubuntu11.04安装JDK7