前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信技术团队的又一力作,WCDB 简单易用的数据库框架

微信技术团队的又一力作,WCDB 简单易用的数据库框架

作者头像
非著名程序员
发布2018-02-09 16:11:26
1.7K0
发布2018-02-09 16:11:26
举报
文章被收录于专栏:非著名程序员非著名程序员

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安装:
    1. 先安装Carthage;
    2. 在Cartfile中添加 github "Tencent/WCDB",并执行carthage update
    3. Carthage/Build/目录下的 WCDB.framework 添加到你的项目工程配置的"Build Phases"->“Linked Binary and Libraries"中。
    4. 点击你的项目工程配置的"Build Phases"中的”+“选项,在弹出菜单中选择"New Run Script Phase"。在创建的脚本中添加 carthage copy-frameworks ,并在"Input Files"中添加$(SRCROOT)/Carthage/Build/WCDB.framework
  • 通过源码安装:
    • 通过git clone时,需指定recursive参数: git clone https://github.com/Tencent/wcdb.git --recursive
    • 若clone时未指定recursive参数,则可以通过git submodule update --init --recursive拉取submodule。
    1. 获取源码
    2. 将`WCDB.xcodeproj添加到你的工程中.
    3. 在你的项目工程配置的"Build Phases”->“Target Dependencies"和"Build Phases”->“Linked Binary and Libraries"中添加WCDB.framework
    4. 在你的项目工程配置的"General”->“Enbedded Binaries"中添加WCDB.framework

在你的代码文件头引入头文件#import <WCDB/WCDB.h>,就可以开始使用WCDB了。

使用教程

使用教程请参考这里

相关文档

  • 文档请参考wiki.
  • 接口请参考API reference

WCDB for Android

基本功能

  • 基于SQLCipher的数据库加密
  • 使用连接池实现并发读写
  • 内建 Repair Kit 可用于修复损坏数据库
  • 针对占用空间大小优化的数据库备份/恢复功能
  • 日志输出重定向以及性能跟踪接口
  • 内建用于全文搜索的 mmicu FTS3/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 皆可。

代码语言:javascript
复制
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。之后执行下面命令即可编译依赖项。

代码语言:javascript
复制
export ANDROID_NDK_ROOT='/path/to/ndk'./build-depends-android.sh

编译依赖项不是必要的,你完全可以使用预先编译好的库。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非著名程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WCDB
  • WCDB for iOS/macOS
    • 基本功能
      • 入门
        • 基本要求
        • 安装
        • 使用教程
        • 相关文档
    • WCDB for Android
      • 基本功能
        • 入门
          • 接入与迁移
          • 数据库修复
        • 从源码编译
          • 编译 WCDB
          • 编译依赖项
      相关产品与服务
      数据库备份服务
      数据库备份服务(Database Backup Service,简称 DBS)是为用户提供连续数据保护、低成本的备份服务。数据库备份拥有一套完整的数据备份和数据恢复解决方案,具备实时增量备份以及快速的数据恢复能力,它可以为多种部署形态的数据库提供强有力的保护,包括企业 IDC 数据中心、其他云厂商数据库及腾讯公有云数据库。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档