Android--SharedPreferences数据存储方案

SharedPreferences是使用键值对的形式存储的,并且支持多种不同的数据类型,存的是String,取得值也是String。

使用SharedPreferences有三种方法:

1:    Context类中的getSharedPreferences()方法

这个方法需要两个参数,第一个参数用于指定SharedPreferences文件名称,如果指定的文件不存在则会创建一个,第二个参数用于指定操作模式,目前只有MODE_PRIVATE这一种模式可以选择,表示只有当前程序才可以对这个SharedPreferences文件进行读写。

2:     Activity类中的getPreferences()方法

这个方法只接收一个参数,操作模式,使用这个方法是会自动将当前活动的类名作为SharedPreferences文件名。

3:     PreferenceManager 类中的getDefaultSharedPreferences()方法

这是一个静态方法,接收context参数,并自动使用当前应用程序的包名来命名SharedPreferences文件,得到了SharedPreferences对象之后,就可以向SharedPreferences文件存储数据了。

分三步实现:

  1.   调用SharedPreFerences对象中的edit()方法来获取一个SharedPreFerences.Editor对象。
  2.  向SharedPreferences.Editor对象中添加数据,添加什么类型就能存什么类型。
  3.  调用apply()方法将数据提交,完成数据存储操作。

Demo:

package sd.he3.sharedpreferencestest;
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;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button_view);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = getSharedPreferences("HelloWorld",MODE_PRIVATE).edit();
editor.putString("H","HelloWorld");
editor.apply();
}
});
Button button1 = findViewById(R.id.button_2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences("HelloWorld",MODE_PRIVATE);
String H = sharedPreferences.getString("H","");
Log.d("H++++++++++>>>>>>>>>>>>", H);
}
});
}
}

控制台打印:D/H++++++++++>>>>>>>>>>>>: HelloWorld

原文地址:https://www.cnblogs.com/yangchaojie/p/9745706.html

时间: 2024-08-14 05:55:09

Android--SharedPreferences数据存储方案的相关文章

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

处女男学Android(十四)---Android 重量级数据存储之SQLite

前言 不知不觉的Android基础系列已经写了十三篇了,这是第十四篇~上一篇blog记录了Android中的一种数据存储方案,即共享参数(Sharedpreferences)的使用(处女男学Android(十三)---Android 轻量级数据存储之SharedPreferences).最近初学如何在Android中应用SQLite,写了一个基于ListView的增删查的小例子,本篇blog就记录一下我学习到的如何在Android中操作SQLite持久化客户端数据. 初始化SQLite 关于SQ

关于Android开发数据存储的方式(一)

关于Android开发数据存储方式(一) 在厦门做Android开发也有两个月了,快情人节了.我还在弄代码. 在微信平台上开发自己的APP,用到了数据存储的知识,如今总结一下: 整体的来讲.数据存储方式有三种:一个是文件,一个是数据库,还有一个则是网络. 当中文件和数据库可能用的稍多一些.文件用起来较为方便.程序能够自定义格式:数据库用起稍烦锁一些,但它有它的长处.比方在海量数据时性能优越.有查询功能,能够加密,能够加锁.能够跨应用.跨平台等等.网络,则用于比較重要的事情,比方科研,勘探,航空等

Android中数据存储(一)

国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM读写文件,可以使用java中IO流来读写,但是谷歌很人性化,直接给你封装了一下,所以就有了Context提供的这两个方法:FileInputStream openFileInput(String name); FileOutputStream openFileOutput(String name,

Android之数据存储

概述 1.android中包含5中数据存储方式: SharedPreferences存储数据. ContentProvider存储 文件存储 SQLlite数据库存储 网络存储 Preference  File   DataBase 这三种方式分别对应的目录是: /data/data/Package Name/Shared_Pref /data/data/Package Name/files /data/data/Package Name/database 简单数据和配置信息,SharedPre

Android SharedPreferences复杂存储

我们知道SharedPreferences只能保存简单类型的数据,例如,String.int等.如果想用SharedPreferences存取更复杂的数据类型(类.图像等),就需要对这些数据进行编码.我们通常会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中. Android SDK中并未提供Base64编码和解码库.因此,需要使用第三方的jar包.在本例中使用了Apache Commons组件集中的Codec组件进行Base64编码和解码.读者可以从

关于Android开发数据存储的四大方式

关于Android开发数据存储的四大方式 在厦门做Android开发也有两个月了,快情人节了,我还在弄代码.在微信平台上开发自己的APP,用到了数据存储的知识,现在总结一下: 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等:网络,则用于比较重要的事情,比如科研,勘探,航空等实时

数据存储方案评估标准RDBMS or KV

作者:zhanhailiang 日期:2014-12-11 本文主要介绍常见的数据存储方案及相应选型的评估标准的介绍. Guideline:针对不同应用场景,针对性选择存储方式. 1. 数据存储方案 SQL: MySQL 5.5/5.6/MariaDB(对于Dev绝大多数场景下透明): Oracle|MS SQL暂不考虑: NoSQL: Memcached 1.4.21: Redis 2.8: MongoDB 2.6.6: Hbase 0.96/0.98: 2. 评估标准 RDBMS:(MySQ

大规模IM在线用户的计算和数据存储方案

简单的计算模型 1.如果一秒钟处理1000笔请求(每条都进行存储),那么一天的数据量是:24*60*60*1000=8640万:如果每秒1万笔的话,数据大概是8.64亿 2.行业里一般的统计方法是峰值是日活量的五分之一,日活是总用户的8%.按照,按照峰值1万来进行计算的话,总的用户数是: 1万*5/0.08=62.5万,另外付费用户占总用户一般在5%左右,具体看运营情况. 3.日活跃用户产生峰值的计算:一般的消息类的,大概能到0.5%到1%就不错(一秒钟同时发出,网络游戏可能有点不一样,会高一点

BLOB数据存储方案

BLOB 数据存储方案 介绍 本文旨在介绍在SQL Server中用于存储BLOB(Binary Large Object)数据的类型和方法,例如图像.声音和视频等.从SQL Server 2000的类型和方法一直到SQL Server 2012的FileTable类型. 什么是BLOB 在实际应用中,如Web站点中展示的产品图片,客户端软件中展示的一些电子文档如PDF.Power Point.甚至一些声音和视频.换句话说,不是文本.一种处理这些电子文档的方式是将它们上传到一个文件服务器,创建目