加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Androidd SQLite总结

发布时间:2020-12-12 20:08:23 所属栏目:百科 来源:网络整理
导读:疑问1 SQLite是否支持同步 http://blog.csdn.net/lonelyroamer/article/details/8088411 疑问2 Android SQLite方法支持问题 onDowngrade onUpgrade SQLite是一种轻量级的开源数据库,其源代码可从www.sqlite.org获取,由于其源代码是C语言实现的,因此它提供


疑问1 SQLite是否支持同步

http://blog.csdn.net/lonelyroamer/article/details/8088411


疑问2 Android SQLite方法支持问题

onDowngrade

onUpgrade


SQLite是一种轻量级的开源数据库,其源代码可从www.sqlite.org获取,由于其源代码是C语言实现的,因此它提供的接口可以很简单地被C/C++程序使用。Java程序中如何使用它呢?本人初学Java,暂时也不了解Java程序如何调用C/C++库,但目前了解到两种方法:
(1)使用SQLite JDBC,这个使用很方便,只需要下载个jar包即可,缺点就是慢一点;
(2)使用SQLite Java Wrapper,这个据说需要安装本地库,比如windows下需要相应的dll文件,linux下需要相应的.so文件。

数据库历史:XML -> Binary File -> 文件型数据库 -> 关系型数据库
Android 内置SQLite 使用顺序 1. openHelper --> getWritableDatabase() 中会调用onCreate、onUpdate方法 2. Database Closable Cursordriver Corsor 操作的接口 Cursor SQLiteDatabase 目的 获取和释放 CurosrWindow 使用Native put和get各种对象 SqliteDatabase 关闭 SQLiteProgram SQLiteQuery SQLiteStatement
Cursor继承体系 CursorWrapper 哪里使用了? MockCursor CrossProcessCursor Interface AbstractCursor SQLiteCusor MatrixCursor MergeCursor
Curosr方法分类 (游标,用于指定当前指向那行数据) move get Observer is query pesponsed setnotify QueryBuilder ContentValues ProjectionMap

Observable ContentObservable DataSetObservable

ContentProvider 继承类中提供CRUD方法 ContentResolver URI 链接 MIME 类型

支持事物 SQLite源码仅有4个文件、其中.c与.h文件目的是为了放入多平台,仅需2个文件 源码在External -> 具体build到什么地方可以查询makefile文件
? 连接方式实际是什么?(SQLite) /libcore/SQLite-jdbc/

* 注意 高版本SQLite中没有此方法onUpdate

? 如何提升CRUD速度
? 如何命令控制SQLite
? 数据库操作步骤都类似 1. 创建 2. 打开 3. 操作 4. 关闭
SQLite工具: SQLite Dev
SQLite支持: 1. 外键关联 2. 事务 3. 存储过程 4. 视图 5. 索引 6. 触发器

----------------------------------------------------------------
derby

Java SQLlite wrapper 列表 http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers sqlite4java https://code.google.com/p/sqlite4java/ SQLite JDBC - 使用的这个 http://www.xerial.org/maven/repository/artifact/org/xerial/sqlite-jdbc/
SQLlite JDBC https://bitbucket.org/xerial/sqlite-jdbc
SQLlite 教程 http://www.tutorialspoint.com/sqlite/sqlite_java.htm SQLlite Java http://www.tutorialspoint.com/sqlite/sqlite_create_database.htm







数据查看软件 SQLite Expert

1. 创建 使用sql脚本 https://github.com/talknomoney66/TalkNoMoneyShare/blob/912cfe04b2bc5e84fa525e5e7b797bfeca4527bc/misc/create_table.sql 判断是否创建 https://github.com/sefirot/androidStuff/blob/e6d6089f0aaf99cb4eae191729c5d8fee210a7a2/BerichtsheftApp/src/android/database/sqlite/SQLiteDatabase.java 通过file判断数据库是否存在 https://github.com/masonremy/461projects/blob/1169f3150e50f89da21721faa37c60c9b58aa329/461project5/consoleUtil/src/edu/uw/cs/cse461/sp12/DB461/DB461SQLite.java 使用Java代码创建 https://github.com/tranek/ChivalryServerBrowser/blob/5a4dd050c7bcc8d92bd0c092c5131454be3e497c/src/test/DatabaseTest.java

2. 日期 插入SQLite需要ISO 8601时间格式 " YYYY-MM-DD HH:MM:SS.SSS" http://www.sqlite.org/datatype3.html Java Date对象转换为ISO 8601时间格式 http://blog.csdn.net/brightleo/article/details/7457004

日期相关 http://www.cnblogs.com/beginor/archive/2012/05/03/2480775.html
sqlite3 表里插入系统时间(时间戳) blog.csdn.net/liuzhidong123/article/details/6847104









创建表
CREATE TABLE IF NOT EXISTS diary (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
top_left TEXT,
top_center TEXT,
top_right TEXT,
center_left TEXT,
center_center TEXT,
center_right TEXT,
bottom_left TEXT,
bottom_center TEXT,
bottom_right TEXT
)

插入数据
insert into diary(date,top_left) values("2013-10-16 16:10:33.111","test");



SQLite多线程读写实践及常见问题总结【半月谈投稿】
解惑是否支持同步

2014-04-03 增加SQLite同步资源

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读