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

本文介绍了Android的5种数据存储方式,包括SharedPreferences用于程序内部配置信息存储,ContentProvider实现应用间数据共享,文件存储处理非结构化数据,SQLite数据库用于结构化数据存储,以及网络存储作为数据源。详细阐述了每种方式的使用场景及操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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大部分的数据来源还是来自于服务器,通过调动接口获取,本地只是作为缓存,辅助存储用。具体的存储和接口调用,需要和服务器端开发人员协商。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一步一台阶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值