Android数据持久化技术 — — —SharedPreferences
SharedPreferences是使用键值对的方式来存储数据。
要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferences对象的方法。
Context.getSharedPreferences( )
Activity.getPreferences( )
PreferenceManager.getDefaultSharedPreferences( )
方式:
1、获取SharedPreferences对象
2、通过SharedPreferences对象的edit( )方法获取SharedPreferences.Editor对象
3、向SharedPreferences.Editor对象中添加数据
4、使用commit( )方法提交数据
package com.example.sharedprferencestest; import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity implements View.OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button save_btn = (Button)findViewById(R.id.save_button);
save_btn.setOnClickListener(this);
} @Override
public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("data2",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("用户名","wz");
editor.putString("密码","root");
editor.putBoolean("是否保存密码",false);
editor.commit();
}
}
package com.example.sharedprferencestest; import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button save_btn = (Button)findViewById(R.id.save_button);
save_btn.setOnClickListener(this); Button restore_btn =(Button)findViewById(R.id.restore_button);
restore_btn.setOnClickListener(this);
} @Override
public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("data2", MODE_PRIVATE);
switch(v.getId()){
case R.id.save_button:
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("用户名","wz");
editor.putString("密码", "root");
editor.putBoolean("是否保存密码", false);
editor.commit();
break;
case R.id.restore_button:
String username = sharedPreferences.getString("用户名",null);
String password = sharedPreferences.getString("密码",null);
boolean hint = sharedPreferences.getBoolean("是否改变密码", false);
Toast.makeText(getApplicationContext(),username,Toast.LENGTH_SHORT).show();
break;
default:
break;
} }
}
记住密码案例
package com.example.account; import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener{ private Button btn;
private EditText account;
private EditText password;
private CheckBox rememberPassword; private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); account = (EditText)findViewById(R.id.account);
password = (EditText)findViewById(R.id.password);
btn = (Button)findViewById(R.id.login);
rememberPassword = (CheckBox)findViewById(R.id.remember_password); sharedPreferences = getSharedPreferences("login", MODE_PRIVATE);
editor = sharedPreferences.edit(); boolean isRemember = sharedPreferences.getBoolean("isRemember",false); if(isRemember){
String username = sharedPreferences.getString("account","");
String pwd = sharedPreferences.getString("password","");
account.setText(username);
password.setText(pwd);
rememberPassword.setChecked(true);
} btn.setOnClickListener(this); } @Override
public void onClick(View v) { switch (v.getId()){
case R.id.login:
String accountContent = account.getText().toString();
String passwordContent = password.getText().toString();
if(accountContent.equals("root") && passwordContent.equals("root")){
if(rememberPassword.isChecked()){
editor.putString("account",accountContent);
editor.putString("password",passwordContent);
editor.putBoolean("isRemember",true);
}else{
editor.clear();
}
editor.commit();
Intent intent = new Intent();
intent.setClass(MainActivity.this,LoginSuccess.class);
startActivity(intent);
finish();
}else{
Toast toast = Toast.makeText(MainActivity.this,"account or password is invalid",Toast.LENGTH_SHORT);
toast.show();
}
break;
default:
break;
}
}
}
Android数据持久化技术 — — —SharedPreferences的更多相关文章
- Android数据持久化技术 — — —文件存储
文件保存 package com.example.datastroredtest; import android.app.Activity;import android.os.Bundle;impor ...
- Android数据存储-通过SharedPreferences实现记住密码的操作
在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...
- Android数据存储技术
Android提供了4种数据存储技术,分别是SharedPreferences.Files.SQLite数据库和网络存储数据.(有的开发者认为使用ContentProvider也可以算是一种,但我觉得 ...
- Android数据存储方式--SharedPreferences
Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...
- Android数据存储之SharedPreferences存储
安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...
- Android 数据存储之 SharedPreferences储存
------------------------------------------SharedPreferences存储--------------------------------------- ...
- Android数据存储之sharedpreferences与Content Provider
android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序 ...
- Android数据存储三剑客——SharedPreferences、File、SQLite
Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...
- iOS中常用的四种数据持久化技术
iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults st ...
随机推荐
- mysql大数据分表记录app用户的坐标数据
最近提到一个需求.需要记录app用户在使用app中的移动轨迹,即坐标值.每分钟上传一次XY坐标,有点类似跑步软件的描线轨迹. 不考虑app如何获取,反正api只要接受到坐标数据 就记录下来保存到数据库 ...
- NotORM(PHP的ORM框架)
类似Thinkphp映射到表的ORM机制. 网址:http://www.notorm.com/ <?php //require_once ‘init.php’;require_once ‘Not ...
- 《Spark MLlib机器学习实践》内容简介、目录
http://product.dangdang.com/23829918.html Spark作为新兴的.应用范围最为广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相 ...
- 将项目上传到git上,并在测试服务器上运行
上周我完成了我人生的第一个项目,并将它上传到gitHub上完成了团队合作.下面我将用倒叙的方法记录下,我的这段经历. 星期五,项目完成准备上传gitHub启动测试服务器. 1.git clone 项目 ...
- jq中数组应用的错误
js中数组可以这样使用: <ul id="ul"> <li value="1">s</li> <li>f< ...
- DOM加载顺序
最近一直在困扰dom的加载顺序问题,经常会遇到以为绑定好的事件不响应等情况,一头雾水,直到请教了周围的同事,才发现了解dom的加载顺序是多么的重要. 关于这个问题,其实网上已经有一些介绍,但是我觉得并 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
1.查看一下mysql的状态 systemctl status mariadb 2.启动mysql systemctl start mariadb
- C++ map的遍历
一般使用迭代器遍历比较方便. map<string,int> m; map<string,int>::iterator it; it = m.begin(); while(it ...
- CSS3新增的选择器和属性
<!doctype html>无标题文档 一.新增的选择器 CSS3新增的属性选择器 {除ie6外的大部分浏览器支持) 序号 选择器 含义 实例 1 E[att^="val&qu ...
- mysql 删除重复记录语句
mysql 根据条件删除重复记录 只保留最小id的重复数据 DELETEFROM newsWHERE news_id IN ( SELECT a.news_id FROM ( SELECT news_ ...