Android的数据存储方式总结

前言

上次路过的时候遇到这个问题,结果就只记得一部分了,顺便就再次统计一下。

1. 文件存储

将数据保存到本地或者SD卡上的文件里面,基本用法大体和Java的文件存储相同,都是用IO流进行存储,然后对于Android系统,文件存储还有如下几个特点:

  • 文件存储所创建的所有文件都会存放在当前应用的目录下。
  • 应用被卸载后,所带的文件也会被删除。

Java的IO基础知识点总结
https://blog.csdn.net/qq_41872247/article/details/103897787

2. SharedPreference

SharedPreference是Android设置的一个轻量级的数据存储的方式。它可以将数据以键值对的形式存放到文件中,在你需要的时候再取出来。

  • 用键值对的形式存储数据。
  • 默认的存储路径是:data/data/应用程序的包名/shared_prefs,存储文件的格式是xml格式。
  • 存储路径可以手动修改。
  • 一般用于存储重要内容和做一些判断,比如说判断用户是否是第一次打开app。

Android的SharedPreference基本知识点总结
https://blog.csdn.net/qq_41872247/article/details/105441246

3. SQLite

SQlite是Android系统内置的数据库,运行速度快,占用内存小。

  • 默认的存储路径是:data/data/应用程序的包名/database,存储文件的格式是db。
  • 支持原生SQL语句,支持ACID。
  • 是轻量级的数据库,不需要账号密码。

Android的SQLite基本知识点总结
https://blog.csdn.net/qq_41872247/article/details/102294656

4. ContentProvider

用于跨进程之间的通信,Android系统用于让不同的应用程序之间共享数据的接口,就是Content Provider(内容提供者)。

如果一个应用程序有设置这样的外部访问接口,那么任何其他的应用都可以访问到这一部分的内容。比如说Android系统自带的联系人,相册,短信之类,都会带有这样的接口。

Android的Content Provider知识点总结_移动开发_wodongx123的博客-CSDN博客
https://blog.csdn.net/qq_41872247/article/details/102244704

5. 网络

这个不多说了,我们一般用okhttp和Retrofit进行网络通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验报告封面 课程名称: Android平台开发与应用 课程代码: SM3004 任课老师: 梁郁君 实验指导老师: 梁郁君 实验报告名称:实验10 Android数据存储与IO 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,本报告内的实验已按要求完成,报告完全是由我个人完成,并没有抄袭行 为。我已经保留了这份实验报告的副本。 申明人(签名): 实验报告评语与评分: 评阅老师签名: 一、实验名称:Android数据存储与IO 二、实验日期:2014/11/13 三、实验目的: 1、掌握SharedPreferences的存储数据的格式及位置,能够读写其他应用程序的Shared Preferences。 2、File存储数据 3、掌握SQLite存储数据方法。 4、会使用SQLiteOpenHelper辅助类,进行操作数据库。 四、实验用的仪器和材料: PC+Eclipse+ADT 五、实验的步骤和方法: 1、读写其他应用程序SharedPreferences。 读写其他应用程序的SharedPreferences,步骤如下: 创建应用App1 和应用App2,App2尝试读取App1的SharedPreferences内容 在App2 需要创建App1对应的Context。 调用App1的Context的getSharedPreferences(String name,int mode) 即可获取相应的SharedPreferences对象。 如果需要向App1的SharedPreferences数据写入数据,调用SharedPreferences的e dit()方法获取相应的Editor即可。 根据上述说明和下面截图,以及代码注释,完成相关代码片段填空,并思考问题: SharedPreferences何时会丢失? 图1 App1运行的界面 图2 App2 运行结果 App1:记录应用程序的使用次数,/com.Test/UseCount.java程序如下,补充程序中所缺 代码: "import android.app.Activity; " "import android.content.SharedPreferences; " "import android.content.SharedPreferences.Editor; " "import android.os.Bundle; " "import android.widget.Toast; " "public class UseCount extends Activity{ " "SharedPreferences preferences; " "@Override " "public void onCreate(Bundle savedInstanceState){ " "super.onCreate(savedInstanceState); " "setContentView(R.layout.main); " "preferences = getSharedPreferences("count", MODE_WORLD_READABLE); " "//读取SharedPreferences里的count数据 " "int count = ("count" , 0); " "//显示程序以前使用的次数 " "Toast.makeText(this , "程序以前被使用了" + count + "次。", " "10000).show(); " "Editor editor = ; " "//存入数据 " "editor.putInt("count" , ++count); " "//提交修改 " "editor. ; " "} " "} " App2:ReadOtherPreferences.java代码如下,补充程序所缺代码: "import android.app.Activity; " "import android.content.Context; " "import android.content.SharedPreferences; " "import " "android.content.pm.PackageManager.NameNotFoundException; " "import android.os.Bundle; " "import android.widget.TextView; " "public class ReadOtherPreferences extends Activity{ " "Context useCount; " "@Override " "public void onCreate(Bundle sav

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值