概述

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 );

//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 );

//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应用程序第一次启动时显示引导界面

    市面上好多优秀的应用(举例新浪微博.UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验. 一般来说用户第一次安装应用或者安装了新版本后第一次进入应用都会显示成 欢迎页面-使用向导- ...

  2. Android应用第一次启动时的欢迎界面制作

    原理是这样,我们在SharedPreferences中存储一个int型数据,用来代表第几次登录,每次启动时都读取出来判断是不是第一次启动,然后依次判断是否要显示欢迎界面, 具体实现如下: 设置一个欢迎 ...

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

    [Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...

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

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

  5. Android Studio的安装及第一次启动时的配置

    Android Studio的安装及第一次启动时的配置 一.下载Android Studio 百度搜索“Android Studio" 点击中文社区进入,选择最新版本下载. 下载后双击安装包 ...

  6. 当程序以Windows Services形式启动时当前路径不对

    当程序以Windows Services形式启动时当前路径不对 @(操作系统)[博客|dotNet] 很多时候我们需要将我们的程序写成利用Windows服务的形式来让它能够自启动.今天遇到一个问题,当 ...

  7. freshStartTail 第一次启动时 抛弃旧的日志

    freshStartTail [on/off] (requires v8.18.0+) Default: off This is used to tell rsyslog to seek to the ...

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

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

  9. Android物联网应用程序开发(智慧园区)—— 园区监控系统界面

    效果图: 布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

随机推荐

  1. Java魔法堂:JVM的运行模式 (转)

    一.前言 JVM有Client和Server两种运行模式.不同的模式对应不同的应用场景,而JVM也会有相应的优化.本文将记录JVM模式的信息,以便日后查阅. 二.介绍 在$JAVA_HOME/jre/ ...

  2. JS跑马灯

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>  <HEA ...

  3. web desktop在线演示

    http://mydesk.sinaapp.com 基于extjs的web desktop应用框架. 1.跨浏览器 2.动态载入所需css,js文件 3.权限管理 4.支持多语种 5.支持asp,js ...

  4. MVC之国际化

    MVC之国际化 前言 在项目中遇到国际化语言的问题是常有的事情,之前在做关于MVC国际化语言时,刚开始打算全部利用AngularJS来实现,但是渐渐发现对于页面Title难以去控制其语言转换,于是对于 ...

  5. Java+7入门经典 - 6 扩展类与继承 Part 2/2

    6.12 设计类 1) 通过已定义的基类派生子类, 并且添加方法和数据成员来自定义子类, 创建出类的层次结构; Dog 'IS-A' Animal 2) 定义一系列没有层次结构, 由类对象作为数据成员 ...

  6. iOS_10_tableView的简单使用_红楼十二钗

    终于效果图: 方式1,用字典数组 BeyondViewController.h // // BeyondViewController.h // 10_tableView // // Created b ...

  7. POJ3071-Football(概率DP+滚动数组)

    Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2769   Accepted: 1413 Descript ...

  8. C++中的#pragma 预处理指令详解

    源地址:http://blog.csdn.net/roger_77/article/details/660311 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态 ...

  9. password加密问题

    password加密问题 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人爱好:酷爱数据结构和算法,希望将来 ...

  10. VSTO学习笔记(八)向 Word 2010 中写入表结构

    原文:VSTO学习笔记(八)向 Word 2010 中写入表结构 前几天公司在做CMMI 3级认证,需要提交一系列的Word文档,其中有一种文档要求添加公司几个系统的数据库中的表结构.我临时接到了这项 ...