行是知之始,知是行之成。这篇文章主要讲述Android学习总结——SharedPreferences相关的知识,希望能为你提供帮助。
SharePreferences存储方式,只是轻量级数据存储,xml格式的数据显示方式。
简单存储步骤如下:
一:获取SharePreferences对象
1.SharedPreferences pref = getSharedPreferences(文件名,访问权限);
或者
2.SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
二:创建对象的方法实例
pref.Editor editor = pref.edit();
三:往文件中添加数据
editor.putXxxx(key,value);
Xxxx代value的数据类型。
四:提交editor
editor.commit();
//获得SharedPreferences对象 SharedPreferences spf=getPreferences(MODE_PRIVATE); //获得SharedPreferences.Editor对象 SharedPreferences.Editor edit=spf.edit(); //通过Editor接口的putXxx方法保存key-value对 其中Xxx表示不同的数据类型 edit.putString("name","yang"); //通过Editor接口的commit方法保存key-value edit.commit();
【Android学习总结——SharedPreferences】获取存储的值:
spf.getString("name","");
package com.example.sharedpreferencedemo1; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ //private TextView tv; private EditText user,pwd; private CheckBox SaveUser; private Button login; private SharedPreferences spf; private SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); user= (EditText) findViewById(R.id.et_User); pwd= (EditText) findViewById(R.id.et_Pwd); SaveUser=(CheckBox) findViewById(R.id.cb_SaveUser); login=(Button) findViewById(R.id.btn_Login); login.setOnClickListener(this); spf=getSharedPreferences("myPref", MODE_PRIVATE); editor=spf.edit(); if(spf.getString("name","").equals("")){ SaveUser.setChecked(false); }else { SaveUser.setChecked(true); user.setText(spf.getString("name","")); }//tv=(TextView) findViewById(R.id.tv); // ////获得SharedPreferences对象 //SharedPreferences spf=getPreferences(MODE_PRIVATE); ////获得SharedPreferences.Editor对象 //SharedPreferences.Editor edit=spf.edit(); ////通过Editor接口的putXxx方法保存key-value对 其中Xxx表示不同的数据类型 //edit.putString("name","yang"); ////通过Editor接口的commit方法保存key-value //edit.commit(); //tv.setText(spf.getString("name","")); }@Override public void onClick(View v) { //获取界面的用户名和密码,trim()方法去除输入的空格 String name=user.getText().toString().trim(); String Pwd=pwd.getText().toString().trim(); switch (v.getId()){ case R.id.btn_Login: if(name.equals("yxch")& & Pwd.equals("123456")){ if(SaveUser.isChecked()){ editor.putString("name",name); editor.commit(); } else { editor.remove(name); editor.commit(); } Toast.makeText(this,"登录成功!",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(this,"用户名:yxch 密码:123456",Toast.LENGTH_SHORT).show(); } break; } } }
推荐阅读
- android音视频点/直播模块开发
- Android系统篇之----免root实现Hook系统服务拦截方法
- 学习Android路上的一些感慨和总结,慢慢来,比较快!
- android如何操作sd卡
- Android Handler 的使用
- Android SD卡读写
- 如何分析android的OOM,与java静态代码分析工具
- 自学宝典(10个学习Android开发的网站推荐)
- Android基于代理的插件化思路分析