当前位置: 首页 > news >正文

SQLite 是什么?

📌 一、SQLite 是什么?

SQLite 是一个轻量级、嵌入式数据库,意思是它直接集成在你的 App 内部,不需要单独安装数据库服务端。

✅ 特点:

特点说明
本地使用所有数据保存在手机内部存储
文件形式数据以 .db 文件形式存储
零配置不需要数据库服务器
跨平台Android/iOS/桌面 都能用
高性能适合小型数据、缓存、离线存储等场景

📦 二、Android 中如何使用 SQLite?

你可以直接用原生 SQLite API,也可以用封装库(更推荐)


🛠 方法一:原生 SQLite(SQLiteOpenHelper

 

java

复制编辑

public class MyDbHelper extends SQLiteOpenHelper { private static final String DB_NAME = "mybooks.db"; private static final int DB_VERSION = 1; public MyDbHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS CacheBean (filePath TEXT PRIMARY KEY, customPage INTEGER)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 数据库升级逻辑 } }

插入数据:

 

java

复制编辑

SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("filePath", "/storage/emulated/0/book1.pdf"); values.put("customPage", 5); db.insert("CacheBean", null, values);

查询数据:

 

java

复制编辑

Cursor cursor = db.query("CacheBean", null, null, null, null, null, null); while (cursor.moveToNext()) { String path = cursor.getString(cursor.getColumnIndex("filePath")); int page = cursor.getInt(cursor.getColumnIndex("customPage")); } cursor.close();


🛠 方法二:用 Room(谷歌官方推荐)

Room 是一个 SQLite 封装库,用起来更安全方便:

1. 添加依赖
 

gradle

复制编辑

implementation "androidx.room:room-runtime:2.6.1" annotationProcessor "androidx.room:room-compiler:2.6.1"

2. 创建实体类
 

java

复制编辑

@Entity public class CacheBean { @PrimaryKey @NonNull public String filePath; public int customPage; }

3. 创建 DAO 接口
 

java

复制编辑

@Dao public interface CacheDao { @Query("SELECT * FROM CacheBean") List<CacheBean> getAll(); @Insert(onConflict = OnConflictStrategy.REPLACE) void insert(CacheBean cacheBean); }

4. 创建数据库类
 

java

复制编辑

@Database(entities = {CacheBean.class}, version = 1) public abstract class AppDatabase extends RoomDatabase { public abstract CacheDao cacheDao(); }

5. 使用数据库
 

java

复制编辑

AppDatabase db = Room.databaseBuilder(context, AppDatabase.class, "book_db").build(); db.cacheDao().insert(new CacheBean("file.pdf", 3));


🔎 三、如何查看 SQLite 中的数据?

方法一:Android Studio 查看 SQLite 数据库

  1. 打开 Android Studio

  2. 点击 Device File Explorer

  3. 路径:/data/data/你的包名/databases/

  4. .db 文件,右键导出

  5. 用工具打开(推荐 DB Browser for SQLite)

👉 官网下载 DB Browser for SQLite


方法二:用命令行(adb shell)

 

bash

复制编辑

adb shell run-as com.wh.app # 你的包名 cd databases sqlite3 your_db_name.db

然后用 SQL 查看数据:

 

sql

复制编辑

.tables SELECT * FROM CacheBean;


💡 总结一句话:

SQLite 就是你 App 内的本地数据库,你的书签就存在这个数据库的 .db 文件中。


如果你给我 CacheDaoUtil 的代码,我可以帮你确认用的是 SQLite 还是别的。如果你想自己动手接入 Room,我也可以帮你一步步替换现有代码。

需要我手把手教你建个数据库页面展示这些书签吗?👀

相关文章:

  • 28、.NET 中元数据是什么?
  • maxscript根据音频创建动画表情
  • 闻性与空性:从耳根圆通到究竟解脱的禅修路径
  • Django【应用 01】django-plotly-dash安装及使用
  • 学硕热度下降,25西电数学与统计学院(考研录取情况)
  • Electron Forge【实战】阿里百炼大模型 —— AI 聊天
  • Flink checkpoint问题排查指南
  • 如何修复宝可梦时时刻刻冒险无法正常工作
  • CuML + Cudf (RAPIDS) 加速python数据分析脚本
  • 26考研 | 王道 | 数据结构笔记博客总结
  • Flink TaskManager详解
  • 力扣DAY68 | 热100 | 寻找两个正序数组的中位数
  • 使用npm install或cnpm install报错解决
  • 从 “制造” 到 “品牌”:官网建设助力中国企业突围东南亚
  • netcore8.0项目发布到centos,利用nginx反向代理(宝塔面板篇)
  • 【服务器操作指南】从 Hugging Face 上下载文件 | 从某一个网址上下载文件到 Linux 服务器的指定目录
  • STM32F103C8T6信息
  • 数据可视化平台产品介绍及功能特色
  • C 语言内存分配方法及优缺点
  • 光谱分辨率:解锁光的密码
  • 王庆成:儒家、墨家和洪秀全的“上帝”
  • 印方称与巴基斯坦军队在克什米尔交火
  • 广汽集团一季度净亏损7.3亿元,同比转亏,总销量下滑9%
  • 精准滴灌“种企业”,苏南强县常熟新的进阶密码
  • 特朗普称已为俄乌问题设最后期限,届时美国态度或生变
  • 毕节两兄弟摘马蜂窝致路人被蜇去世,涉嫌过失致人死亡罪被公诉