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

长春做网站设计黄页网站推广公司

长春做网站设计,黄页网站推广公司,社区网站模版,怎么在家做网站sqlcipher是sqlite的加版本,分为免费版和收费版。 这里研究的是开源的免费版 https://github.com/sqlcipher/sqlcipher Android码源默认提供了sqlite的native,jni和java版本,但没有提供sqlcipher,开发用到需要自己添加。 sqlc…

sqlcipher是sqlite的加版本,分为免费版和收费版。

这里研究的是开源的免费版

https://github.com/sqlcipher/sqlcipher

Android码源默认提供了sqlite的native,jni和java版本,但没有提供sqlcipher,开发用到需要自己添加。

sqlcipher需要配置openssl,写一个android.bp

android_sqlite_cflags = ["-DHAVE_USLEEP=1","-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576","-DSQLITE_THREADSAFE=1","-DNDEBUG=1","-DSQLITE_ENABLE_MEMORY_MANAGEMENT=1","-DSQLITE_TEMP_STORE=3","-DSQLITE_ENABLE_FTS3_BACKWARDS","-DSQLITE_ENABLE_LOAD_EXTENSION","-DSQLITE_ENABLE_MEMORY_MANAGEMENT","-DSQLITE_ENABLE_COLUMN_METADATA","-DSQLITE_ENABLE_FTS4","-DSQLITE_ENABLE_UNLOCK_NOTIFY","-DSQLITE_ENABLE_RTREE","-DSQLITE_SOUNDEX","-DSQLITE_ENABLE_STAT3","-DSQLITE_ENABLE_FTS4_UNICODE61","-DSQLITE_THREADSAFE","-Wno-unused-parameter","-Wno-pointer-arith","-Wno-unused-variable"
]sqlcipher_cflags = ["-DSQLITE_HAS_CODEC","-DHAVE_FDATASYNC=0","-Dfdatasync=fsync",
]sqlcipher_files = ["src/sqlite3.c"]//APP_STL := c++_shared
//APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
//APP_PLATFORM := android-26// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_EXPORT_C_INCLUDES
// LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include///LOCAL_SRC_FILES := $(LOCAL_PATH)/lib/arm64-v8a/libcrypto.so
// ANDROIDMK TRANSLATION ERROR: unsupported include
// include $(PREBUILT_SHARED_LIBRARY)
cc_prebuilt_library_shared {name: "libcrypto2",target: {android_arm: {srcs: ["lib/armeabi-v7a/libcrypto.so"],},android_arm64: {srcs: ["lib/arm64-v8a/libcrypto.so"],},},strip: {none:true,},//shared_libs: ["libx", "libxx", "libxxx", "libxxxx"],check_elf_files: false,compile_multilib: "both"//32位和64位都预编译
}cc_library_shared {name: "sqlite3_ext2",host_ldlibs: ["-llog"],srcs: sqlcipher_files,local_include_dirs: ["src","include",],cflags: android_sqlite_cflags + sqlcipher_cflags,//LOCAL_STATIC_LIBRARIES 	:= static-libcryptoshared_libs: ["libcrypto2",  "liblog",],}

详细使用看:

GitHub - blogercn/android_sqlciphe: android natvity C/C++使用的加密数据库sqlciphe

可以用于ndk,可以复制到android源码供C++层开发使用

sqlite数据库修改数据需要提交事务,否则显示成功,但并没有入库。

sqlite3_exec(db, "BEGIN TRANSACTION", NULL, NULL, NULL);

if (rc != SQLITE_OK)

    {

        std::cout << "EventLogServer SQL错误: " << errMsg << std::endl;

        sqlite3_free(errMsg);

        rc = sqlite3_exec(db, "ROLLBACK;", nullptr, nullptr, nullptr);

    }

    else

    {

        rc = sqlite3_exec(db, "COMMIT;", NULL, NULL, NULL);

    }

如下:

int IEventLogServer::insertLog(slog& log)

{

    sqlite3* db;

    int rc = sqlite3_open(LOG_DATABASE, &db);

    if (rc != SQLITE_OK)

    {

        std::cout << "EventLogServer 无法打开数据库: " << sqlite3_errmsg(db) << std::endl;

        sqlite3_close(db);

        return rc;

    }

    rc = sqlite3_exec(db, "BEGIN TRANSACTION", NULL, NULL, NULL); // 开始事务

    if (rc != SQLITE_OK) {

        std::cout << "Failed to begin transaction: " << sqlite3_errmsg(db) << std::endl;

        sqlite3_close(db);

        return rc;

    }

    char* errMsg = nullptr;

    std::string sql = "INSERT INTO " + std::string(LOG_TABLE) +" (Severity, EventID, BaseEventCount, TimeStamp, Source) VALUES (" +

                    std::to_string(log.Severity) + ", " + std::to_string(log.EventID) + ", " +

                    std::to_string(log.BaseEventCount) + ", " + std::to_string(log.TimeStamp) +", '" + log.Source + "');";

                     

    rc = sqlite3_exec(db, sql.c_str(), nullptr, nullptr, &errMsg);

    if (rc != SQLITE_OK)

    {

        std::cout << "EventLogServer SQL错误: " << errMsg << std::endl;

        sqlite3_free(errMsg);

        rc = sqlite3_exec(db, "ROLLBACK;", nullptr, nullptr, nullptr);

    }

    else

    {

        rc = sqlite3_exec(db, "COMMIT;", NULL, NULL, NULL);

    }

    sqlite3_close(db);

    return rc;

}

http://www.mmbaike.com/news/64569.html

相关文章:

  • 找建设项目的网站营销课程培训都有哪些
  • wordpress手机站h5优化开发一个小程序一般需要多少钱呢
  • 买域名去哪个网站刷关键词排名seo软件软件
  • 淄博政府做网站哪家好如何建立网上销售平台
  • CSS3网站开发最新疫情19个城市封城
  • 网站服务器托管哪个平台推广效果好
  • 保定 营销型网站建设南宁seo做法哪家好
  • 网站与客户端的区别吗山西疫情最新情况
  • 湛江宇锋网站建设嘉兴seo网络推广
  • 用户界面设计与制作南宁网站seo
  • 回龙观手机网站开发服务外贸软件
  • 成都住建局官网站首页广东省各城市疫情搜索高峰进度
  • 做网站干嘛百度网讯科技有限公司官网
  • 怎么制作自己的微信小程序湘潭seo优化
  • 网站个性化网站优化排名方法有哪些
  • 免费网站建设哪个好免费做做网站
  • 泰安最好的网站建设公司百度百度地图
  • B2C网站开发工程师招聘郑州网站开发公司
  • 苏州无锡市住房和城乡建设局网站上海百度推广电话客服
  • seo做的最好的十个网站推广赚佣金
  • 没有网站怎么做cpa赚钱广告营销是做什么的
  • 免费二维码制作网站交换友情链接的注意事项
  • 计算机网站建设维护的基本知识交换链接的方法
  • 网站建设哪些模板号上海seo推广方法
  • 网易网站开发seo黑帽教学网
  • 新乡网站制作湖南网络优化
  • 网站建设 有必要吗如何查询百度搜索关键词排名
  • 少儿编程培训郑州客串seo
  • 九维品牌设计seo综合查询站长工具关键词
  • 做网站需要展示工厂么网站推广的目的