Android开发里数据库到底有哪些,常用的那个又是啥来着?
- 问答
- 2026-01-10 10:01:24
- 4
说到Android开发里的数据库,这确实是一个新手容易迷糊、老手也得琢磨一下的话题,因为“数据库”这个词儿,听起来挺唬人,但在Android这个小环境里,我们可以把它理解成几种不同的、用来存东西的“仓库”,这些仓库各有各的用处,有的像你手机里的文件管理器,有的像一个大号且规整的Excel表格,还有的像云盘,下面我就按“本地”和“网络”这两大类,给你掰扯掰扯。
第一大类:本地数据库(数据就存在你手机里)
这是最核心、最常用的一类,你的App离线时能用,全靠它们。
-
SharedPreferences(共享偏好设置)
- 这是啥玩意儿? 这可能是你最早接触的“数据库”,但它其实算不上真正的数据库,你可以把它想象成手机里的一个超级迷你的小本本,或者一个只能存“钥匙-值”对的便利贴,你用一个App,设置了夜间模式、调了字体大小、记住了你的用户名(不存密码!),这些零零碎碎的小设置,通常就存在SharedPreferences里。
- 特点: 特别轻量级,只能存一些基本类型的数据,比如布尔值(是否开启)、整数、字符串什么的,它不适合存复杂的数据,比如一长串好友列表、一篇文章的详细内容,根据Android官方文档,它设计用来存储简单的偏好设置数据。
-
SQLite数据库

- 这又是啥?这才是主角! 当别人问你“Android开发常用的数据库是啥?”十有八九指的就是它,SQLite是一个嵌入在Android系统内部的、轻量级的、关系型数据库,你可以把它想象成你手机里的一个功能齐全的“Excel表格库”。
- 它怎么工作? 它用“表”来组织数据,比如你要做一个记账App,你可以建一张“账单”表,表里有“编号”、“类型”、“金额”、“日期”这几列,每一笔花销就是表里的一行记录,你可以非常方便地执行“增删改查”这些操作,查询所有吃饭类型且金额大于50块的账单”。
- 为啥它最常用? 它是系统自带的,不用额外引入,它虽然轻量,但功能强大,能处理非常复杂的查询和关系,它非常稳定,经过了无数应用的检验,几乎任何一个需要离线存储结构化数据(就是能规整地放进表格的数据)的App,比如通讯录、记事本、聊天记录等,底层都是SQLite,Android官方也提供了SQLiteOpenHelper等类来帮我们方便地操作它。
-
Room持久化库
- 等一下,刚才不是说SQLite是主角吗?怎么又来个Room? 问得好!Room不是一个新的数据库,它其实是Google官方推出的一个“包装盒”或者“超级好用的助手”,数据库引擎还是SQLite,但Room帮我们把操作SQLite的复杂代码变得非常简单、安全。
- 它解决了啥问题? 直接写SQL语句容易出错,而且代码看起来很臃肿,Room让你用注解(就是代码里加一些@符号开头的标记)和接口就能定义数据库、表格和操作,它会把你的操作自动翻译成SQL语句去执行,省心又省力,可以说,在现代Android开发中,虽然底层是SQLite,但大家实际编码时,最常用、最首选的工具就是Room,根据Android开发者官网的推荐,Room是在SQLite之上提供了一个抽象层,简化了数据库操作。
-
文件存储(File Storage)
- 这个也算数据库? 广义上,存数据的都算,你可以直接把数据存成文件在手机里,存一张图片、一个下载的PDF、或者用JSON格式写一个字符串来保存一整套数据。
- 什么时候用? 当你存的数据不是结构化的,或者就是单个大文件(如图片、视频、文档)时,用文件存储更直接,你的App缓存一些网络图片,就会把它们以文件的形式存在手机的缓存目录里。
第二大类:网络数据库(数据存在遥远的服务器上)

这类数据库不是存在手机本地的,你的App通过网络(比如Wi-Fi或流量)去访问它们。
- 各种云数据库(Firebase, MongoDB Atlas, 阿里云OTS等)
- 这又是啥? 当你的App需要“联网”才能看到内容时,比如微信的朋友圈、淘宝的商品列表,这些数据量巨大且需要所有用户共享的数据,就不可能存在你手机里了,它们存在开发商自己的服务器上,服务器使用的就是这些更强大的网络数据库。
- 特点: 数据在云端,所有用户访问的都是同一份数据,手机本地只是一个“展示窗口”和“临时缓存点”,这类数据库能力超强,可以处理海量数据和高并发访问,比如Google的Firebase,它提供了一整套后端服务,数据库只是其中一部分,对于个人开发者和小团队来说非常省事。
回到你的问题“Android开发里数据库到底有哪些,常用的那个又是啥来着?”。
- 有哪些? 从存在位置看,分本地(SharedPreferences, SQLite/Room, 文件)和网络(各种云数据库)两大类。
- 常用的那个是啥?
- 如果指最核心、每个Android开发者都必须掌握的本地结构化数据存储方案,那无疑是SQLite,因为它是基石。
- 但如果指当前现代Android开发中,大家实际写代码时最常用、最推荐的工具,那答案是Room持久化库,它是操作SQLite的最佳实践和标准方式。
- 对于简单的配置信息,SharedPreferences也很常用。
- 对于需要联网同步的大型应用,网络云数据库(如Firebase)则是必备。
你可以记成:小设置用SharedPreferences,本地复杂数据用Room(背后是SQLite),大文件直接存文件,联网数据用云数据库。 这样是不是就清楚多了?
本文由畅苗于2026-01-10发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/77998.html
