`
vinny_w
  • 浏览: 56026 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多

Android为数据存储提供了三种方式:文件、数据库和网络。

 

1.SharedPreferences共享偏好 

2.Internal Storage内部存储空间 

3.External Storage外部存储空间 

4.SQLite Database数据库 

5.Internet网络

    

一、SharedPreferences(偏好设定)多用于保存软件配置参数,是一种采用XML格式进行数据保存的方式,文件存放在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。

    通过SharedPreferences可以将NVPName/Value Pair,键值对)保存在Android的文件系统中,而且SharedPreferences完全屏蔽对文件系统的操作过程,开发人员仅是通过调用SharedPreferencesNVP进行保存和读取。

    SharedPreferences不仅能够保存数据,还能够实现不同应用程序间的数据共享。

    SharedPreferences支持三种访问模式:私有(MODE_PRIVATE)、全局读(MODE_WORLD_READABLE)、全局写(MODE_WORLD_WRITEABLE)。

    获取SharedPreferences对象的两个方法:

Context.getSharedPreferences(String name,int mode):其中 name 为本组件的配置文件名;mode 为操作模式,默认的模式为0

Activity.getPreferences(int mode):配置文件仅可以被调用的Activity使用。mode 为操作模式,默认的模式为0

如果要读取配置文件信息,只需要直接使用SharedPreferences对象的getXXX()方法即可,而如果要写入配置信息,则必须先调用SharedPreferences对象的edit()方法,使其处于可编辑状态,然后再调用putXXX()方法写入配置信息,最后调用 commit()方法提交更改后的配置文件。

二、文件存储

    (1) 内部存储

    Android系统允许应用程序创建仅能够自身访问的私有文件,文件保存在设备的内部存储器上,在系统下的/data/data/<package name>/files目录中。

    Android系统支持标准JavaIO类和方法,并提供了能够简化读写流式文件过程的函数,主要的两个函数:

openFileOutput():为写入数据做准备而打开的应用程序私文件,如果指定的文件不存在,则创建一个新的文件,函数的返回值是FileOutputStream类型;

openFileInput():为读取数据做准备而打开应用程序私文件。

(2) 外部存储(SD卡(Secure Digital Memory Card))

    SD卡适用于保存大尺寸的文件或者是一些无需设置访问权限的文件,可以保存录制的大容量的视频文件和音频文件等;SD卡使用的是FATFile Allocation Table)的文件系统,不支持访问模式和权限控制,但可以通过文件系统的文件访问权限的控制保证文件的私密性。

Android模拟器支持SD卡,但模拟器中没有缺省的SD卡,开发人员须在模拟器中添加SD卡的映像文件。

(3) 资源文件

    程序开发人员可以将程序开发阶段已经准备好的原始格式文件和XML文件分别存放在/res/raw/res/xml目录下,供应用程序在运行时进行访问;原始格式文件可以是任何格式的文件,在应用程序编译和打包时,/res/raw目录下的所有文件都会保留原有格式不变,而/res/xml目录下的XML文件,一般用来保存格式化的数据,在应用程序编译和打包时会将XML文件转换为高效的二进制格式,应用程序运行时会以特殊的方式进行访问。

<!--EndFragment-->
1
0
分享到:
评论

相关推荐

    android-backup-extractor,Android备份提取器.zip

    - 应用分析:开发者可以分析备份文件以了解应用数据存储的方式,优化应用设计。 - 安全审计:企业或安全研究人员可以检查备份文件,评估潜在的安全风险。 - 自动化脚本:通过结合ADB和`android-backup-extractor`...

    android-数据存储(保存读取密码-附源码)

    在Android开发中,数据存储是不可或缺的一部分,...总之,这篇博文和源码提供了关于Android应用中安全存储和读取密码的方法,通过学习和实践,开发者可以更好地理解和掌握Android数据存储的策略,提高应用的安全性。

    03课件-BTC-Android-01-第11章-Android-数据存储之文件存储(ppt课件)(ppt-课件).ppt

    文件存储是另一种常见的Android数据存储方式,适合大量结构化或非结构化数据的存储。Android提供了多种文件操作API,如`openFileInput()`和`openFileOutput()`,可以用来读写文件。文件存储分为内部存储和外部存储:...

    androidsdk-platforms-android-23.rar

    Android 23的SDK平台特别关注了权限管理系统、支付API、数据存储优化、电池管理等多个方面,为开发者提供了更强大的功能和更好的用户体验。 二、Android 23 的关键特性 1. **运行时权限**:在Android 6.0(API级别...

    谷歌开源的串口类android-serialport-api

    permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;`和`&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;`,因为串口访问可能涉及到硬件访问和存储权限。...

    老罗android视频开发源码和ppt--android存储数据和文件.rar

    "老罗android视频开发源码和ppt--android存储数据和文件.rar"这个压缩包提供的是关于Android数据存储和文件操作的教学资源,包括视频课程和PPT讲义,由知名的Android讲师罗升阳(老罗)编撰。 首先,我们来看一下...

    Android-将数据写入Excel表格并存储到外部存储中

    总的来说,Android应用程序将数据写入Excel并存储到外部存储是一个涉及权限管理、文件操作和第三方库使用的综合任务。通过正确理解和运用这些知识点,开发者可以构建出能够满足用户需求的高效数据导出功能。

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

    通过实现ContentProvider,可以将SQLite数据库的数据暴露为标准的Android数据接口,其他应用可以使用URI来访问这些数据。 4. **SQLiteOpenHelper的使用**:在创建表时,我们需要定义表的结构,包括字段名和数据类型...

    Android-SecureKeys以简单安全的方式存储敏感数据

    通过引入"Android-SecureKeys",开发者可以更专注于应用的核心功能,而不必过于担心敏感数据的存储问题。它降低了安全漏洞的风险,提升了用户数据的保护级别。因此,对于任何处理敏感信息的Android应用,这个库都是...

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

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

    Android数据存储与访问

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

    Android移动平台开发-数据存储应用.doc

    通过实验,我们了解了 Android 移动平台开发中的数据存储方式,并掌握了 SQLite 的使用和 LitePal 的使用。我们还学习了如何使用 SQLiteOpenHelper 创建和更新数据库,並使用 Cursor 操作数据库。 十、参考文献 [1...

    dropbox-android-sdk-1.6.3

    《Android版Dropbox SDK 1.6.3详解与应用开发》 在移动应用开发领域,Dropbox API是一个不可或缺的工具,它为...理解并熟练掌握这个SDK,将极大地扩展你的应用功能,提升用户体验,同时降低数据存储和同步的复杂性。

    android-gpx-parser,一个解析XML GPX文件的库,为Android构建。.zip

    - **数据访问**:解析完成后,可以访问`GpxDocument`对象中的`tracks`和`routes`属性来获取轨迹和路线信息。 - **自定义处理**:根据业务需求,对`TrackPoint`等对象进行自定义操作,如计算距离、速度等。 - **保存...

    八、数据存储与访问 Android开发与实践

    总结来说,Android提供了多种数据存储和访问手段,适应不同的数据需求和场景。选择合适的存储方式能有效提升应用的性能和用户体验。在实际开发中,应根据数据的类型、大小、隐私性和共享性来决定采用哪种存储策略。

    android-backup-tookit20191223.zip

    在Android开发过程中,数据备份和恢复是至关重要的环节,尤其是对于...总的来说,"android-backup-tookit" 是一款强大的Android数据备份解决方案,它大大简化了开发流程,提高了开发效率,同时确保了用户数据的安全性。

    android持久化 ormlite-android-4.31.jar

    - **自动序列化**:支持对象的序列化和反序列化,方便数据的存储和读取。 - **多线程安全**:ORMLite库是线程安全的,可以在多线程环境中放心使用。 4. **ORMLite的局限与优化**: - **性能**:相比于原生的SQL...

    Android-sqlite-android一个AndroidSQLite支持库

    在Android应用开发中,SQLite是一个内置的轻量级数据库,用于存储应用程序的数据。SQLite支持标准的关系型数据库功能,如创建、查询、更新和删除数据,是Android应用进行本地数据持久化的重要工具。`sqlite-android`...

    AndroidSDK/Platforms/android-UpsideDownCakePrivacySandbox

    3. **隐私沙盒机制**:类似iOS的App Sandbox,可能为每个应用提供独立的运行环境,限制它们访问系统资源和用户数据的能力,从而降低数据泄露风险。 4. **匿名化与去标识化**:可能提供了新的API,允许开发者在不...

    sqlcipher-for-android-v3.5.6.zip

    SQLCipher for Android是一款针对Android平台的安全扩展,它为SQLite数据库提供了强大的加密功能,确保应用程序中的敏感数据在存储和传输过程中得到充分保护。v3.5.6是此库的一个特定版本,提供了对不同架构的支持,...

Global site tag (gtag.js) - Google Analytics