Android的5种数据存储方式概述

Android有5种数据存储方式,具体分类如下:

1.应用内数据存储方式,程序外不可访问:SharedPreferences存储

   应用场景:存储应用配置信息和常用信息。

  获取SharedPreferences的两种方式:
(1) 调用Context对象的getSharedPreferences()方法
(2) 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

         详细的可以参加博文《 Android应用开发SharedPreferences存储数据的使用方法 以及与 getPreferences 、getDefaultSharedPreferences的区别》

2.应用间数据访问:ContentProvider存储

    ContentProvider向我们提供了我们在应用程序之前共享数据的一种机制,而我们知道每一个应用程序都是运行在不同的应用程序的,数据和文件在不同应用程序之间达到数据的共享不是没有可能,而是显得比较复杂,而正好Android中的ContentProvider则达到了这一需求,比如有时候我们需要操作手机里的联系人,手机里的多媒体等一些信息,我们都可以用到这个ContentProvider来达到我们所需。

3.程序外本地数据存储:非结构化数据--文件存储、结构化数据---SQLite数据库存储。

   非格式化数据--文件存储

   通过获取输入输出流将数据写入到某个文件

   文件存储
  (1)FileOutputStream out = context.openFileOutput(String filename,int mode); 以mode模式获得文件输出流
   (2)out.write(byte[]b);

   文件读取
   (1)FileInputStream in = context.openFileInput(String filename);   获得某个文件的文件流
   (2)int length = in.read(byte[]);

   格式化数据---SQLite数据库存储

   SQLite是比较小而功能比较全的关系型数据库,通过建表和增删查改实现数据的存储。

4.网络存储数据

   由于手机内存的限制,和数据实时性的要求,手机APP大部分的数据来源还是来自于服务器,通过调动接口获取,本地只是作为缓存,辅助存储用。具体的存储和接口调用,需要和服务器端开发人员协商。



你可能感兴趣的:(Android)