• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android:数据存贮方式-SharedPreference

android:数据存贮方式-SharedPreference

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了getsharedpreference,安卓sharedpreference,sharedpreferencedb,sharedpreferenceutil,sharedpreference存储等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android:数据存贮方式-SharedPreference


SharedPreference:

1.是一种轻型的数据存贮方式

2.本质是基于xml文件存贮key_value键值对数据

3.通常用来存贮一些简单的配置信息(密码,窗口状态,软件的基本配置,壁纸等等)

SharedPreferences对象只能获取数据而不支持存贮和修改,存贮和修改是通过Editor对象实现

使用SharedPreferences保存数据的步骤:

1.获得SharedPreferences对象

有两种方式

(1)通过函数context.getsharedpreferences(string name,int mode) 获得的SharedPreferences对象可以被同一应用程序下的其他组件共享。name为指定文件的名称,mode为操作模式 ,共有四种(Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。)

 

SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);

 

(2)通过函数activity.getpreferences(int mode),其中配置文件仅可以被调用的activity使用。mode为操作模式

 

2.获得SharedPreferences.Editor对象

 

		SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);
		Editor edit=pre.edit();


 

3.通过Editor接口的putXxx()方法保存key-value,其中的Xxx表示不同的数据类型

 

		edit.putString("name", "zhangsan");
		edit.putString("age", "30");

存贮完之后别忘记通过Editor的commit()方法提交

 

 

edit.commit();

4.获取数据

 

 

		SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);
		pre.getString("name", "");
		pre.getString("age", "");
5.移除数据

 

 

			edit.remove("name");
			edit.remove("age");
			edit.commit();
我学习的大概就这么多了 。下面附上一个实例。保存用户名和密码

 

运行结果

\

MainActivity.class

 

package com.example.sharedpreferences;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
	private EditText et_name;
	private EditText et_passward;
	private CheckBox ckb_save;
	private SharedPreferences pre;
	private Editor edit;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		et_name = (EditText) findViewById(R.id.et_name);
		et_passward = (EditText) findViewById(R.id.et_passward);
		ckb_save = (CheckBox) findViewById(R.id.checkBox1);
		pre = getSharedPreferences("myinfo", MODE_PRIVATE);
		edit = pre.edit();
		String name=pre.getString("name", "");
		String passward=pre.getString("passward", "");
		if(name!=null&&passward!=null){
			et_name.setText(name);
			et_passward.setText(passward);
		}
	}

	public void btnLogin(View v) {
		switch (v.getId()) {
		case R.id.btn_login: {
			String name = et_name.getText().toString();
			String passward = et_passward.getText().toString();
			if (name!=null&&passward!=null) {
				if (ckb_save.isChecked()) {
					edit.putString("name", name);
					edit.putString("passward", passward);
					edit.commit();
					Toast.makeText(MainActivity.this, "保存用户成功",
							Toast.LENGTH_SHORT).show();
				}
				else{
					Toast.makeText(MainActivity.this, "未勾选保存,保存失败",
							Toast.LENGTH_SHORT).show();	
				}
			}
			else{
				Toast.makeText(MainActivity.this, "用户名或者密码为空,请重新输入", Toast.LENGTH_SHORT).show();
				et_name.setText(null);
				et_passward.setText(null);
			}
			break;
		}
		case R.id.btn_cancel: {
			edit.remove("name");
			edit.remove("passward");
			edit.commit();
			Toast.makeText(MainActivity.this, "已成功忘记", Toast.LENGTH_SHORT).show();
			break;
		}
		}
	}
}

布局文件

 

 



    

    
    

    

    

    



 

 </div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SharedPreferences详解,sharedpreferences
  • 跨进程SharedPreferences异常。,sharedpreferences
  • Android之SharedPreferences数据存储,sharedpreferences
  • Android SharedPreferences存储,sharedpreferences
  • Android软件开发之SharedPreferences,sharedpreferences
  • Android数据存储方式--SharedPreferences,sharedpreferences
  • Android入门(九)文件存储与SharedPreferences存储,
  • android:数据存贮方式-SharedPreference

相关文章

  • 2017-05-26安卓开发—简单的登陆界面,安卓登陆界面
  • 2017-05-26Android View体系(七)从源码解析View的measure流程
  • 2017-05-26location of the android sdk has not been setup in the preferences,androidpreferences
  • 2017-05-26AndroidStudio项目打包成jar,androidstudiojar
  • 2017-05-26QQ互联登录以及非官方正版应用报100044错误,互联100044
  • 2017-05-26从源码的角度理解四大组件的工作过程——Android开发艺术探索笔记
  • 2017-05-26【原创】Android ExpandableListView使用,expandablelistview
  • 2017-05-26Android-将RGB彩色图转换为灰度图,
  • 2017-05-26我的Android进阶之旅------)Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)
  • 2017-05-26[Android]Activity的生命周期

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android音频开发之基础知识介绍
    • android 在5.0以后不允许使用隐式Intent方式来启动Service,androidintent
    • 【lushengduan】01、搭建安卓App开发环境 编写程序HelloWorld,lushengduan安卓
    • 几个常用的adb命令,常用adb命令
    • 快速自动更新Android Studio版本
    • android 动画详解(二)
    • 如何为APK签名?,APK签名?
    • Android Studio NDK开发
    • Android Drawable的9种子类 介绍
    • [原创]Eclipse 安卓开发几个异常的处理办法,eclipse安卓

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有