ndk下使用sqlite
尝试环境: Android2.2(源码) SDK android-ndk-r7 尝试在NDK下面使用C语言做Android的SQLite3数据库存储功能。做了如下尝试: 在Android的源代码中找到sqlite3.h和libsqlite.so拷贝到NDK的lib(D:androidandroid-ndk-r7-linuxplatformsandroid-3arch-armusrlib)和include(D:androidandroid-ndk-r7-linuxplatformsandroid-3arch-armusrinclude)目录下。 测试代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <dirent.h> #include <errno.h> #include <sys/stat.h> #include <unistd.h> #include <time.h> #include <pwd.h> #include <sqlite3.h> static int checkWhitelist() { sqlite3 *db; int rc = sqlite3_open_v2(DBPATH,&db,SQLITE_OPEN_READWRITE,NULL); if (!rc) { char *errorMessage; char query[1024]; sprintf(query,"select * from whitelist where _id=%d limit 1;",g_puid); struct whitelistCallInfo callInfo; callInfo.count = 0; callInfo.db = db; rc = sqlite3_exec(db,query,whitelistCallback,&callInfo,&errorMessage); if (rc != SQLITE_OK) { sqlite3_close(db); return 0; } sqlite3_close(db); return callInfo.count; } sqlite3_close(db); return 0; } Android.mk: Android的make文件
LOCAL_PATH := $(call my-dir) 按照上面提示,依次从目标环境(源码或是你手机中)拷贝libcutils.so libicuuc.so libicui18n.so libutils.so libicudata.so到NDK的lib目录(见上)下。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |