WCDB
WCDB是一个高效、完整、易用的移动数据库框架,基于 SQLCipher
,支持iOS, macOS和Android。
WCDB for iOS/macOS
基本功能
WINQ
(WCDB语言集成查询): 通过WINQ,开发者无须为了拼接SQL的字符串而写一大坨胶水代码。
ORM
(Object Relational Mapping): WCDB支持灵活、易用的ORM。开发者可以很便捷地定义表、索引、约束,并进行增删改查操作。
多线程高并发
: WCDB支持多线程读与读、读与写并发执行,写与写串行执行。
加密
:WCDB提供基于 SQLCipher
的数据库加密。
损坏修复
: WCDB内建了Repair Kit用于修复损坏的数据库。
反注入
: WCDB内建了对SQL注入的保护。
…
入门
基本要求
WCDB支持iOS 8、macOS 10.10以上。
WCDB需使用Xcode 8.0以上版本进行编译。
需使用Objective-C++。
安装
通过Carthage安装:
在Cartfile中添加github “Tencent/WCDB”,并执行carthage update;
将?Carthage/Build/目录下iOS或Mac的?WCDB.framework?添加到你的项目工程配置的”Build Phases”->”Linked Binary and Libraries”中。
点击你的项目工程配置的”Build Phases”中的”+”选项,在弹出菜单中选择”New Run Script Phase”。在创建的脚本中添加carthage copy-frameworks,并在”Input Files”中添加对应平台的路径$(SRCROOT)/Carthage/Build/iOS/WCDB.framework或$(SRCROOT)/Carthage/Build/Mac/WCDB.framework。
通过源码安装
:
获取源码
通过git clone时,需指定recursive参数:git clone https://github.com/Tencent/wcdb.git –recursive。
若clone时未指定recursive参数,则可以通过git submodule update –init –recursive拉取submodule。
将`WCDB.xcodeproj添加到你的工程中.
在你的项目工程配置的”Build Phases”->”Target Dependencies”和”Build Phases”->”Linked Binary and Libraries”中添加WCDB.framework。
在你的项目工程配置的”General”->”Enbedded Binaries”中添加WCDB.framework。
在你的代码文件头引入头文件#import ,就可以开始使用WCDB了。
注:
由于WCDB是Objective-C++库,因此,对于引入WCDB的代码文件,需要修改其文件名后缀.m为.mm
关于Cocoapods – WCDB依赖于SQLCipher,而且是逐文件链入,而不是整一个大的sqlite.c。这在调试上会更方便,但对应的cocoapods配置就会更复杂。我们会在最近完成cocoapods的接入。
使用教程
使用教程请参考 这里
相关文档
WCDB for Android
基本功能
使用连接池实现并发读写
内建 Repair Kit 可用于修复损坏数据库
针对占用空间大小优化的数据库备份/恢复功能
日志输出重定向以及性能跟踪接口
内建用于全文搜索的mmicuFTS3/4 分词器
入门
接入与迁移
WCDB for Android 可通过 Maven 或 AAR 包引用,API 接口与 Android SDK 非常相近, 所以将已有的 App 迁移到 WCDB 是相当容易的。
详细请参看 Android 接入与迁移
与sample-encryptdb示例。
数据库修复
WCDB 可以使用 Repair Kit 或备份恢复来修复损坏的数据库,请参看 Android 数据库修复
与sample-repairdb示例。
从源码编译
编译 WCDB
你可以使用预编译的依赖库(OpenSSL crypto 和 SQLCipher)来编译 WCDB for Android, 使用 Gradle 或 Android Studio 皆可。
cd android
./gradlew build
Android Studio 请导入android目录作为 Root Project。
编译 WCDB 需要安装 Android NDK r11c 或以上,并在android/local.properties上配置好 SDK 与 NDK 路径。Android Studio 一般会帮你配置好。
编译依赖项
如果你需要自己编译 OpenSSL 等依赖项,你需要一个 Bash 环境(Windows 可以安装 Cygwin 或 MSys)、target 为本机的 C 编译器(如 GCC)、Perl 5 以及 Tcl。之后执行下面命令即可编译依赖项。
export ANDROID_NDK_ROOT='/path/to/ndk' ./build-depends-android.sh
编译依赖项不是必要的,你完全可以使用预先编译好的库。