安卓SharePreferences数据存储
1.什么是SharePreferences
SharePreferences是安卓平台上的一个轻量级存储类,用来存储少量数据时简单、便捷(如记住密码)。
SharePreferences以键值对形式存储数据。
SharePreferences的存储位置在/data/data/<包名>/sharedprefs目录下
SharePreferences保存数据以XML存储。
2.如何使用SharePreferences
获得使用SharePreferences对象;
获得Editor对象;
通过Editor对象的putXXX函数,设置写入数据;
通过Editor对象的commit()提交写入
3.使用SharePreferences记住密码实例
在主xml定义布局,代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"tools:context="com.example.ll.storeapplication.MainActivity"><EditTextandroid:hint="输入账号"android:id="@+id/zhet"android:layout_width="match_parent"android:layout_height="50dp" /><EditTextandroid:password="true"android:hint="输入密码"android:id="@+id/mimaet"android:layout_width="match_parent"android:layout_height="50dp" /><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="50dp">
<CheckBoxandroid:id="@+id/cb"android:layout_gravity="center"android:layout_width="30dp"android:layout_height="30dp" /><TextViewandroid:gravity="center"android:id="@+id/jizhumim"android:text="记住密码"android:textSize="20sp"android:layout_width="150dp"android:layout_height="50dp" /><Buttonandroid:id="@+id/denlu"android:text="登陆"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>
</LinearLayout>
然后MainActivity编写主要代码,如下:
package com.example.ll.storeapplication;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
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 {private EditText mimaet;private EditText zhet;private CheckBox ck;private TextView tv;private Button btn;private int rember = 0;private String password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//绑定IdBindId();//从sharedPreferences文件(mysp.xml)中取出“name”节点对应的值SharedPreferences preferences = getSharedPreferences("mysp.xml", MODE_PRIVATE);//如果文件存不存在,进行节点赋值if (preferences != null) {String name = preferences.getString("name", "");password = preferences.getString("password", "");rember=preferences.getInt("rember",0);//赋值给zhetzhet.setText(name);}//如果记住密码,那么勾选记住密码的勾一直存在if (rember == 1) {ck.setChecked(true);mimaet.setText(password);//密码也被一直记住}//对btn设置监听事件btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String username = zhet.getText().toString();String password = mimaet.getText().toString();//1.创建SharedPreferences对象SharedPreferences sharedPreferences = getSharedPreferences("mysp.xml", MODE_PRIVATE);//2.创建Editor 对象,写入值SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("name", username);//判断是否记住密码if (ck.isChecked()) { rember = 1;//再次点进时密码存在editor.putInt("rember", rember);editor.putString("password", password);}else {rember=0;//再次点进时密码不存在editor.putInt("rember", rember);}//3.提交editor.commit();//4.打印日志Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show();}});}private void BindId() {mimaet = findViewById(R.id.mimaet);zhet = findViewById(R.id.zhet);ck = findViewById(R.id.cb);tv = findViewById(R.id.jizhumim);btn = findViewById(R.id.denlu);}
}
安卓SharePreferences数据存储相关推荐
- Android数据存储之文件存储
-- 大家都知道,数据和算法是一个应用程序的核心.所以,学好数据存储是非常有必要的. --Android数据的存储有多种方式,比如ContentProvider(内容提供者).SQLite(嵌入式数据 ...
- 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式
安卓开发之数据存储在本地的四种方式 本地数据存储,在安卓开发过程中是不可避免的一个话题.这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据. 基本上我们有 ...
- 广东东软学院安卓实验报告三:“数据存储”
广东东软学院安卓实验报告三:"数据存储" Android schoolwork entertainment app: imitating wechat Software tips: ...
- 安卓数据存储的5种方式
SharedPreferences: ①使用键值对的方式进行数据存储(以xml文件形式存储到手机中) ②常用与保存用户设置,如CheckBox选择状态.配置信息等 注: ①commit发生在UI主线程 ...
- 安卓学习 之 数据存储(六)
一.文件存储 写入文件 openFileOutput将数据存储到指定的文件当中去.第一个是文件名,第二个是文件的操作模式,MODE_PRIVATE为默认,会覆盖之前内容,MODE_APPEND会追加内 ...
- android数据存储心得,android学习心得 轻量级存储SharePreferences
SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和St ...
- 安卓高效开发:联系人数据存储与操作基本
前段时间项目中使用到了与联系人模块的相关操作,研究了一点皮毛,抽空整理了一下,把相关操作写成了个库项目,主要为了复用,由于有base项目做参考,没有使用数据库批量操作的方法,闲言少叙,进正题~ 联系人 ...
- 安卓---第5章 数据存储---保存QQ账号与密码
文章目录 案例1: 使用文件存储 保存QQ账号与密码 功能描述 saveqq_1.xml FileSaveQQ.java saveqq_1 案例2 使用SP保存QQ账号与密码 功能描述 SPSaveQ ...
- 安卓之SharedPreferences存储
SharedPreferences存储 首先关于安卓存储我们在这里介绍一下: 持久化技术介绍: 数据持久化就是指将那些内存中瞬间数据保存到存储设备中,保证即使手机或电脑关机的情况下,这些数据仍然不会丢 ...
最新文章
- ARM CPU自动调度神经网络
- WebService教程和分析
- With在sql server 2005中的用法
- easyui select 下拉框的取值和赋值
- jsapi支付签名_微信支付小程序支付全流程
- 只能由中文、字母、数字、下划线组成的字符串
- 大数据的价值体现有哪些
- c#检查SQL语法是否正确,不执行SQL语句
- 理解 Android 本地数据存储 API
- 金蝶K3物料主数据计划策略字段设置
- oracle数据库greatest函数,ORACLE函数之GREATEST函数详解范例
- tif转换成jpg格式
- Cheat Engine(CE)的下载和安装指南以及相关教程
- Android一点 play商店地区与语言设置
- LoadRunner测试工具大全下载,破解,licence
- 云视频+AI,他如何做到一年200万用户?
- android 继承类图,Android Studio中绘制UML类图介绍
- Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解
- 分而治之,保持胜利果实
- 招商银行专业版出现重大安全问题?
热门文章
- 1G,2G,3G,4G,5G有什么区别?5G的优势在哪?有什么应用?
- 前端面试题之NodeJS系列
- STOP: c000021a { Fatal System Error } the initial session process or system process terminated ...
- Android线性与相对布局
- asp心得感受_半年多来自学ASP的几点体会……
- Kubernetes:Pod
- 3.使用GSYVideoPlayer实现仿抖音视频播放以及点赞飘心效果
- ureport使用问题总结
- UDP协议转换TCP协议
- visio 画 弯曲 箭头 ( 波浪线 曲线)