概述

SharedPreferences的使用很easy,可以轻松的存放数据和读取数据。SharedPreferences仅仅能保存简单类型的数据,比如,String、int等。通常会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件里,再用SharedPreferences保存。

使用SharedPreferences保存key-value对的过程例如以下:

  (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,当中存储key-value的文件的名称由getSharedPreferences方法的第一个參数指定。

  (2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

  (3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。当中Xxx表示不同的数据类型。比如:字符串类型的value须要用putString方法。

  (4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

使用步骤

详细代码的书写流程为:

A、存放数据信息

//1、打开Preferences,名称为setting,假设存在则打开它,否则创建新的Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

//2、让setting处于编辑状态

SharedPreferences.Editor editor = settings.edit();

//3、存放数据

editor.putString(“name”,”ATAAW”);

editor.putString(“URL”,”ATAAW.COM”);

//4、完毕提交

editor.commit();

B、读取数据信息

//1、获取Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

//2、取出数据

String name = settings.getString(“name”,”默认值”);

String url = setting.getString(“URL”,”default”);

//以上就是Android中SharedPreferences的用法,当中创建的Preferences文件存放位置能够在Eclipse中查看:

DDMS->File Explorer /<package name>/shared_prefs/setting.xml

Demo

private void toastDisplay() {
// 首次使用显示提示控制
preferences = getSharedPreferences("count", 0); // 存在则打开它,否则创建新的Preferences
int count = preferences.getInt("count", 0); // 取出数据
if (count == 0) { // 推断程序与第几次执行,假设是第一次执行则跳转到引导页面
toastInit();
SharedPreferences.Editor editor = preferences.edit(); // 让preferences处于编辑状态
editor.putInt("count", 1); // 存入数据
editor.commit(); // 提交改动
}
}

private void toastInit() {
// 初始使用显示toast提示设置手势
Toast toast = Toast.makeText(this,
"please set your gesture for first used", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setMargin(0f, 0.1f);
toast.show();
}

ref:

http://blog.csdn.net/pipisorry/article/details/26874145

http://blog.csdn.net/wxyyxc1992/article/details/17222841

http://blog.csdn.net/t80t90s/article/details/7925541

http://blog.csdn.net/listening_music/article/details/6611786

android实现应用程序仅仅有在第一次启动时显示引导界面相关推荐

  1. android实现应用程序只有在第一次启动时显示引导界面 ,以后就不在显示了

    程序安装后第一次启动: 启动页–>功能介绍页–>系统主页 以后启动: 启动页–>系统主页 所以在启动页中判断一下就可以了 可以弄一个文件保存一个状态,推荐用SharedPrefere ...

  2. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8987342  这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部 ...

  3. 【Android UI设计与开发】3.引导界面(三)实现应用程序只启动一次引导界面

    大部分的引导界面基本上都是千篇一律的,只要熟练掌握了一个,基本上也就没什么好说的了,要想实现应用程序只启动一次引导界面这样的效果,只要使用SharedPreferences类,就会让程序变的非常简单, ...

  4. android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...

    使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...

  5. Android 中设置只是程序第一次运行才显示的界面

    程序安装后第一次启动: 启动页-->功能介绍页-->系统主页 以后启动: 启动页-->系统主页 所以在启动页中判断一下就可以了 可以弄一个文件保存一个状态,推荐用SharedPref ...

  6. Android Studio模拟器启动时显示Could not automotically detect an ADB binary

    Android Studio模拟器启动时,会显示Could not automotically detect an ADB binary.的提示信息如图1所示. 图1 提示信息 图1中的提示信息的意思 ...

  7. Android物联网应用程序开发(智慧园区)—— 图片预览界面

    效果图: 实现步骤: 1.首先在 build.gradle 文件中引入 RecycleView implementation 'com.android.support:recyclerview-v7: ...

  8. android手机强制关机代码,android – 当应用程序强制关闭或设备重新启动时,共享首选项重置数据...

    我有一个登录屏幕,希望应用程序看起来好像在应用程序关闭/销毁/电话呼叫等后仍然在内部屏幕上"登录". 我有一个首选项对象来保存登录或注册后的值.我在所有关键屏幕onResume() ...

  9. android 判断listview是否为空,ListView为空时显示空视图

    由于某种原因,即使ListView不为空,空视图(在这种情况下为TextView)始终会出现.我认为ListView会自动检测何时显示空视图. android:layout_height=" ...

  10. Android内核开发:为什么刷机后系统第一次启动会很慢?

    转自:http://ticktick.blog.51cto.com/823160/1677216 在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都 ...

最新文章

  1. LeetCode简单题之二叉树中第二小的节点
  2. HDU 5769 Substring
  3. 新的html页面拼接类库(简易的模板引擎)
  4. vnpy官网说明文档网址
  5. 查询ecshop网站代码排查方法_提升网站访问速度,提升网站访问速度,提升网站访问速度的个人经验分享...
  6. Shell(bash) 介绍
  7. 【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明
  8. 杂七杂八DataTable获取Table某一列成List转换Table成List
  9. MyBatis学习总结(26)——Mybatis源码中使用了哪些设计模式?
  10. 能在ARC下跑的ASIHTTPRequest框架(以及升了5.0,用了ARC后N多开源框架不能用的解决方案) .
  11. 最大最小标准化 数值_分享丨实验数据标准化处理方法
  12. C#根据word模板生成word表格报表文档
  13. 基于pytorch训练的VGG16神经网络模型完成手写数字的分割与识别
  14. 抗震支架的支撑形式与设置原则
  15. python设计一个学生类姓名年龄成绩_C# 编写学生类Student,包含学生姓名,成绩,设计一个友员函数sortDegree(),将学生成绩按大到小排序。...
  16. 招商银行笔试题之跳格子游戏
  17. [QNX Hypervisor 2.2用户手册]10.4 vdev hpet
  18. 用汇编语言写51单片机程序开头为什么一般都这样:ORG 0000H LJMP MAIN ORG 0030H
  19. php eos,EOS区块链PHP开发包
  20. 微信二维码识别、微信数据分析

热门文章

  1. 关于求已知整数数组的连续子数组的最大和的方法 ——基于软件工程的要求给予优化...
  2. 洛谷 P4093: bzoj 4553: [HEOI2016/TJOI2016]序列
  3. MySQL出现Waiting for table metadata lock的场景浅析
  4. python进阶---pandas基本介绍
  5. 构建之法:第八次心得
  6. 如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
  7. VC Dimension -衡量模型与样本的复杂度
  8. 如何JOPtionPane的showConfirmDialog对话框button设置监视器
  9. (转载)JavaScript中的原型和对象机制
  10. 同花顺 sendmessage python_进程通信-SendMessage使用方法