SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件,大家往往会发现一些Android应用程序在你输入完一次登录名和密码之后,下一次就自动填写好了,这是存储在哪里呢?个人认为如果存储在数据库里来回存储与取值太过麻烦,这里,我将用SharedPreferences的方式实现一个登录一次自动记住密码的登陆界面。
首先,要先了解下SharedPreferences,在Android里,SharedPreferences是android.content包下的一个类。通过这个类,我们就可以实现类似与Map那样以key-value的形式进行数据的存储,在这个例子中,我们在登陆界面stop的时候进行用户名与密码的存储,代码如下:
protected void onStop() {
SharedPreferences mySharePreferences = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharePreferences.edit();
editor.putString("username", editName.getText().toString());
editor.putString("userpassword", editPwd.getText().toString());
editor.commit();
super.onStop();
}
解释一下:通过定义SharedPreferences.Editor类型的editor,就可以存储数据,对java有些了解的应该不难理解,这就呵map存储的形式一样,其中PREFERENCE_NAME是我们自己定义的值,用来定义我们的数据存储到的文件的名字,最终这些数据会保存在一个叫PREFERENCE_NAME.xml的文件里面,在虚拟机上打开FileExplorer,会发现这个文件被放在了/data/data/yourApplication/shared_prefs目录下.
在登录界面onCreate的时候进行数据的读取并付给用户名与密码框,代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE);
editName.setText(sharedPreferences.getString("username", ""));
editPwd.setText(sharedPreferences.getString("userpassword", ""));
}
这段代码就更不难理解了,通过得到SharedPreferences对象,就可以通过getString方法得到对应存储的值,在付给用户名和密码框。
好啦,整个结构就这样,想看详细代码在这里下载。
分享到:
相关推荐
Android使用SharedPreferences进行数据存储,缓存ID等数据
Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对 象。 DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore ...
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
layout9为SharedPreferences数据存储和读取功能应该的一个关于记住密码功能实例。 layout11为SharedPreferences的数据存储和读取实例。
android 使用SharedPreferences对数据存储/删除/读取/文件删除
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
fristActivity用于存储SharedPreferences数据,secondActivity删除SharedPreferences,moreactivtiy用于判断SharedPreferences是否删除,如果删除跳转到secondActivity,没有跳转到fristActivity。
Android使用SharedPreferences和SQLite数据库实现数据存储
Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio http://blog.csdn.net/iwanghang
SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。 <string name=key> value 获取实例 ...
Android SharedPreferences SP 工具类,存储临时数据用
Android数据存储——SharedPreferences实现登入记住密码功能。
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,不同于文件的存储方式,SharedPreferences是使用键值对(key-value)数据的方式来存储数据的。而且SharedPreferences还支持多种不同的数据类型...
通过代码文件将SharedPreferences数据存储的使用做了进一步的使用,让更多人懂得使用它
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...
实验九 使用SharedPreferences存储简单数据
SharedPreferences用于简单的数据存储,是通过“name-value对”的机制存储数据,可以存储一些基本的数据类型包括:Boolean,string,float,long和integer类型。 数据是存储在XML文件中的。
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...