`
lj_gzy2014
  • 浏览: 18221 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android之数据存储(一)

 
阅读更多

              我们知道程序在运行时,数据是存放在运行内存中的,一旦程序关闭,数据就会丢失。那么我们要想数据不丢失怎么办呢?那就需要将数据存储在外存中,比如sd卡和手机自身内存。

              存储方式一:文件存储与读取

           Context类中提供了一个openFileOutput ()方法,可以将数据存储到指定的文件中。这个方法有两个参数。第一个是文件名,文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<package name> /files/目录下的;第二个参数是文件测操作模式,MODE_PRIVATE & MODE_APPEND                           MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而MODE_APPEND则表示如果该文件已存在就往文件里面追加内容,不存在就创建新文件。使用代码实例:

public void save(String str){
		FileOutputStream fos=null;
		BufferedWriter bw=null;
		try {
			fos=openFileOutput("myTestData", Context.MODE_PRIVATE);
			bw=new BufferedWriter(new OutputStreamWriter(fos));
			try {
				bw.write(str);
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}finally{
			if(bw!=null)
				try {
					bw.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
		}
		
	}

  Context类中提供了一个openFileInput ()方法,这个方法只有一个参数,那就是要读取的文件的文件名

使用实例:

 

 

 

public String load(String filename){
		String str="";
		StringBuilder content = new StringBuilder();
		FileInputStream fis=null;
		BufferedReader br=null;
		try {
			fis=openFileInput(filename);
			br=new BufferedReader(new InputStreamReader(fis));
			try {
				while((str=br.readLine())!= null ){
					content.append(str);
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}finally{
			if(br!=null){
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return content.toString();
	}

                  文件存储使用的基本都是java的io流,熟悉java的文件操作的应该很容易读懂上面的代码。文件存储简单,但是如果要存储复杂的数据,就得自己定义存取结构与方式,才能够正确的存储与获取。

            

                存储方式二·:SharedPreferences存储

         不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的。

用代码来看可能更清晰些。

存:

SharedPreferences.Editor editor=getSharedPreferences("data", Context.MODE_PRIVATE).edit();
			editor.putString("name", "Tom");
			editor.putInt("age", 18);
			editor.putBoolean("married", false);
			editor.commit();

 取:

 

 

 

SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
			String name = pref.getString("name", "");
			int age = pref.getInt("age", 0);
			boolean married = pref.getBoolean("married", false);
			Log.d("MainActivity", "name is " + name);
			Log.d("MainActivity", "age is " + age);
			Log.d("MainActivity", "married is " + married);

           很明显,SharedPreferences存储对于键值对的数据存储很方便。比如存储用户名,密码,就可以实现一个记住密码功能。但是对于密码这种私密性数据都会进行加密存储,不会直接存储的,这里就不祥细论述了。

 

        

 

分享到:
评论

相关推荐

    Android实现数据存储技术

    ContentProvider 是 Android 平台上的一种数据存储方式,主要用于提供数据共享的接口。ContentProvider 的优点是可以提供数据共享的接口,但其缺点是需要手动创建 ContentProvider,定义数据访问接口等操作。 网络...

    Android学习之数据存储

    本资源“Android学习之数据存储”提供了一些关于Android数据存储的源码,这对于理解Android数据存储机制及其实践应用非常有帮助。 在Android中,有多种方式来实现数据存储,包括: 1. **SharedPreferences**:这是...

    Android数据存储SQLite.docx

    Android 数据存储是 Android 应用程序中的一个重要组件,它负责存储和管理应用程序中的数据。在 Android 中,有多种数据存储方式,包括 SharedPreferences、内部文件存储、SD 卡存储和 SQLite 数据库存储等。本文将...

    android数据存储相关代码

    以下将详细阐述Android数据存储的相关知识点。 1. SharedPreferences SharedPreferences是Android中最常用的数据存储方式之一,适合存储少量的键值对数据,如用户设置。它以XML格式存储在设备上,并提供同步和异步...

    Android学习之数据存储.zip

    本资料包“Android学习之数据存储.zip”提供了一些关于Android数据存储的源码,是学习和参考的理想资源。下面将详细探讨Android中的几种数据存储方式及其应用场景。 1. **Shared Preferences** Shared Preferences...

    Android数据储存

    一、Android数据存储方式 1. SharedPreferences:适用于存储少量的键值对数据,如用户设置。它是一种轻量级的存储方案,数据以XML格式存储在磁盘上,易于读写。 2. 文件存储:可以创建自定义格式的文件来保存数据...

    从头学Android之Android的数据存储--SQLite示例源代码

    在Android开发中,数据存储是应用功能不可或缺的一部分。SQLite是一个轻量级的、关系型数据库,它是Android系统内置的数据库,适用于本地数据存储。本文将深入探讨如何在Android中使用SQLite进行数据存储,并通过...

    Android数据存储(内置sdcard1)

    在描述中提及的“Android数据存储(内置sdcard)案例1”,可能是一个实际的代码示例,展示了如何在内部存储中创建和读取文件。通常,我们可以使用`getFilesDir()`或`getCacheDir()`方法获取内部存储的文件路径,然后...

    android数据存储的四种方式

    在Android开发中,数据存储是不可或缺的一部分,它使得应用程序能够保存和恢复用户的偏好设置、游戏进度、配置信息等。本文将详细介绍Android中的四种主要数据存储方式:SharedPreferences、File、SQLite数据库以及...

    Android本地数据存储之文件存储读写

    在Android应用开发中,本地数据存储是至关重要的一个环节,特别是在处理用户数据或者应用程序需要持久化数据时。本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解...

    android数据存储ppt课件及Demo

    本资源"android数据存储ppt课件及Demo"提供了一个全面学习Android数据存储的教程,包括PPT课件和实际的Demo源代码,可以帮助开发者深入理解这一主题。 首先,Chp08:数据存储.ppt这部分内容可能涵盖了以下几个关键...

    android 数据存储的几种方式

    SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的键值对数据,如int、long、boolean、String、float等基本数据类型。它类似于HashMap,但限制了只能存储基本类型。SharedPreferences...

    Android数据存储与访问

    在Android开发中,数据存储与访问是至关重要的环节,它涉及到应用程序如何持久化用户数据、配置信息以及应用程序内部状态。本教程将深入探讨Android中的几种主要数据存储方式,包括Shared Preferences、SQLite数据库...

    Android应用源码之Android学习之数据存储

    在Android应用开发中,数据存储是一项至关重要的任务。Android提供了多种数据存储方式,以满足不同场景下的需求。本文将深入探讨Android应用中的数据存储...总的来说,这份源码将是你提升Android数据存储技能的好材料。

    android 浏览器 数据存储

    在Android平台上,数据存储是应用程序持久化数据的关键技术。Android提供了多种存储机制,包括SQLite数据库、SharedPreferences、文件系统以及ContentProvider。本篇文章将主要聚焦于SQLite数据库在Android浏览器中...

    android 数据存储与访问

    在android平台上应用数据存储的方法全集。

    Android数据存储和访问实验报告

    2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构; 4.掌握SQLite数据库的建立和操作方法; 5.理解ContentProvider的用途和原理; 6.掌握ContentProvider的创建与使用方法。 源码和整个...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用程序的简单配置信息,如用户设置、偏好设置等。它采用键值对的形式存储,支持基本数据类型如布尔型、整型、浮点型、字符串等。数据持久化在...

    Android存储字符串数据到txt文件

    2. 需要将数据存储到文件中,以便于数据的持久化和管理。 为了满足这些需求,我们可以使用FileUtils工具类来存储字符串数据到txt文件。下面是FileUtils工具类的实现代码: ```java public class FileUtils { // ...

Global site tag (gtag.js) - Google Analytics