`

Android学习09-----Android中数据的存储和访问 (1) By SharedPreferences

阅读更多

 

对于数据的存储操作而言, Android 中一共提供了五种方式: SharedPerferences 方式、文件存储方式、 SQLite 数据库存储、 ContentProvider 方式、网络存储;

SharedPerferences 提供了一些基础的信息保存功能,所有的信息都是按照“ key=value ”的形式进行保存的,但是 android.content.SharedPerferences 接口所保存的信息只能是一些基本的数据类型,例如:字符串、整型、布尔型等。

SharedPerferences 存储方式可以和 Java 中的 Properties 类进行比较,此类是属性的操作类,而且在属性文件之中只能保存基本的数据类型,而且属性文件更多的情况下是作为配置文件出现的,像 Struts 中的 ApplicationResource.properties 文件就是一个资源文件。

如果现在要想进行数据的写入,则必须首先通过 SharedPerferences 类所提供的 edit() 方法才可以让其处于可编辑的操作状态,此方法返回的对象类型是 android.content.SharedPreference.Editor 接口实例。

由于 SharedPerferences SharedPerferences.Edit 两个都是接口,所以要想取得 SharedPerferences 接口的实例化对象,还需要 Activity 类中的几个常量和方法的支持。

No.

常量及方法

类型

描述

1

Public static final int MODE_PRIVATE

常量

创建的文件只能被一个应用程序调用,或者被具有相同 id 的应用程序访问

2

Public static final int MODE_WORLD_READABLE

常量

允许其他应用程序读取文件

3

Public static final int MODE_WORLD_WRITEABLE

常量

允许其他应用程序修改文件

4

Public SharedPerferences getSharedPerferences(String name,int mode)

普通

指定保存操作的文件名称,同时指定操作的模式,可以是 0 MODE_PRIVATE MODE_WORLD_READABLE MODE_WORLD_WRITEABLE

范例:

SharedPreferencesActivity.java

package com.iflytek.demo;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.TextView;

public class SharedPreferencesActivity extends Activity {
	private static final String FILENAME = "iflytek"; // 保存的文件名称

	private TextView authorinfo = null;
	private TextView ageinfo = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		save();
		get();

	}

	private void save() {
		SharedPreferences share = super.getSharedPreferences(FILENAME,
				Activity.MODE_PRIVATE);

		SharedPreferences.Editor edit = share.edit();
		edit.putString("author", "xdwang");
		edit.putInt("age", 23);
		edit.commit();// 提交更新

	}

	private void get() {
		this.authorinfo = (TextView) super.findViewById(R.id.authorinfo);
		this.ageinfo = (TextView) super.findViewById(R.id.ageinfo);

		SharedPreferences share = super.getSharedPreferences(FILENAME,
				Activity.MODE_PRIVATE);

		this.authorinfo.setText("作者:" + share.getString("author", "没有作者信息。"));
		this.ageinfo.setText("年龄:" + share.getInt("age", 0));
	}
}

 

1 、默认情况下,所有的配置文件都自动的保存在了一个系统文件夹之中。可以发现文件的后缀名为 *.xml;

2 、在实际的情况下,资源文件可以用来保存配置信息,例如,你正在看小说,希望关闭之后下次可以继续打开之前所关闭的进度点,那么在这种情况下,就可以利用此方式进行保存。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    kotlin-for-android-developers-zh.pdf

    - **访问SharedPreferences**:演示如何使用SharedPreferences存储和读取应用设置。 - **泛型preference委托**:介绍如何使用泛型委托简化偏好设置的管理。 #### 测试你的App - **Unit testing**:单元测试是验证...

    Android群英传笔记-----by ---------刘某人程序员

    在数据存储方面,笔记涵盖了SQLite数据库的使用、SharedPreferences配置文件的读写,以及如何利用ContentProvider进行数据共享。这些知识可以帮助你有效地管理和持久化应用的数据。 此外,笔记还涉及到了网络编程,...

    Android多媒体开发07-数据存储.ppt

    在Android开发中,数据存储是应用功能不可或缺的一部分,它允许应用程序保存用户偏好、数据库记录以及文件等信息。本节将详细讲解四种主要的数据存储方式,包括SharePreference、SQLite、File和Content Provider,...

    实验项目报告第7章.doc android studio SQLite数据库的创建、增删改查操作 SharedPreferen

    【Android Studio 中 SQLite 数据库操作】 在 Android 开发中,SQLite 是一个常用的数据存储解决方案,...通过学习和实践,学生能够更好地理解和运用这些数据存储技术,为开发高质量的 Android 应用打下坚实的基础。

    14天学会Android开发 by神秘的N

    7. 数据存储之SharedPreferences与文件:学习如何使用SharedPreferences和文件系统进行数据存储。 8. SQLite数据库技术:深入了解SQLite数据库的使用,包括数据的存取和管理。 9. ContentProvider与...

    Android Calculator by HutaoW

    6. **数据持久化**:尽管在这个例子中没有明确提到,但实际的计算器应用可能需要保存用户的计算历史或设置,这就需要用到Android的数据存储机制,如SharedPreferences或数据库。 7. **主题与样式**:虽然界面可能看...

    数据存储1

    在Android开发中,数据存储是不可或缺的一部分,它涵盖了多种方式,包括SharePreference、文件系统、SQLite数据库以及ContentProvider。下面将详细阐述这些数据存储方法及其使用。 1. SharePreference: ...

    Android高级应用源码-名片夹_搜索排序.zip

    开发者需要创建一个SQLite数据库,定义表结构来存储姓名、电话号码、邮箱地址等联系人字段,并通过ContentProvider进行数据访问,使得其他应用也能方便地共享这些数据。 其次,“搜索”功能是提升用户体验的关键。...

    高焕堂android中文书全

    7. **数据存储**:Android提供了SQLite数据库、SharedPreferences、文件存储等多种方式来保存应用数据。学习如何适当地选择和使用这些方法,是提升应用功能的关键。 8. **服务和服务通信**:Service组件允许在后台...

    Kotpref:Kotpref-Kotlin的Android SharedPreferences委托库

    SharedPreferences是Android系统提供的一个轻量级持久化数据存储机制,通常用于保存用户设置或应用状态等简单的键值对数据。Kotpref通过Kotlin的委托属性(Delegate Properties)和扩展函数,将这一过程变得更加简洁...

    android demo 我的微信 by:谜@BUAA 摇一摇

    【Android Demo - 我的微信】是由谜@BUAA 创建的一个强大的模拟微信功能的应用程序示例,它包含了一系列的功能模块,旨在帮助开发者理解和学习如何在Android平台上实现类似微信的交互和功能。以下是对这个Demo中各个...

    android真实项目教程(六)——落叶醉赤壁_by_CJJ

    在本篇“Android真实项目教程(六)——落叶醉赤壁_by_CJJ”中,我们将深入探讨Android应用程序开发的关键技术和实践。这个项目可能是为了一款名为“落叶醉赤壁”的移动应用,它可能是一个游戏或者具有历史背景的...

    android自定义的手机通讯录

    1. 数据存储:Android提供了多种数据存储方式,如SQLite数据库、SharedPreferences、文件系统等。对于通讯录应用,SQLite是最常用的选择,因为其支持结构化的数据存储,便于查询和操作。你需要创建一个Contact表,...

    Android真实项目教程(一)——App应用框架搭建_by_CJJ

    Android提供了多种存储方式,如SharedPreferences用于轻量级数据存储,SQLite数据库用于结构化数据,或者使用文件系统。根据需求选择合适的方式,是提高应用效率的关键。 此外,还要了解Intent的概念,Intent是...

    Android 资料大汇总

    《Android 资料大汇总》是一份集成了Android学习与开发资源的宝贵资料库,旨在帮助开发者和学习者深入理解和掌握Android平台的相关知识。这份资料包包含了两本电子书,分别是《Android程序员指南》和《Android 1.0 ...

    华为Android面试题1

    Android 的数据存储方式有:SharedPreferences、内部存储、外部存储、SQLite、Realm 等,开发者需要根据实际情况选择合适的存储方式。 开发者可以使用的技术栈包括:UI 组件库、网络请求库、图片加载库、数据存储库...

    课设&大作业&毕设-安卓Android公交线路查询系统app毕业源码案例设计.zip

    10. **数据持久化**:可能需要存储部分公交数据在本地,可以使用SQLite数据库或SharedPreferences。 11. **错误处理和异常捕获**:编写健壮的代码,处理可能出现的错误和异常。 12. **测试**:进行单元测试、集成...

    android第二课

    本篇将详细介绍Android中几种常见的数据存储方法,包括文件存储(File)、SharedPreferences、SDCard以及SQLite数据库。 #### 二、文件存储(File) 文件存储是最基础的数据存储方式之一,适用于存储相对较小的数据...

    android数据库开发

    ### Android数据库开发详解 #### 一、概述 在Android应用开发过程中,数据持久化是非常重要的一个环节。...掌握这些基础概念后,开发者便可以在Android应用中有效地使用SQLite数据库进行数据存储和管理。

Global site tag (gtag.js) - Google Analytics