最近在做一个安卓项目,项目使用的sqlite数据库是cocos2dx 创建的,放在了/data/data/com.*.*/files下面,而SQLiteOpenHelper打开的文件默认是放在/data/data/databases/下面的,SQLiteOpenHelper里面没有地方能改变数据库的路径。于是在网上查阅了国外大牛的解决方案,完美解决了我的问题。解决办法:
自定义Context,该Context用来给SQLiteOpenHelper初始化的时候使用,该类是:
import java.io.File;
import org.cocos2dx.lua.AppActivity;
import android.content.Context;
import android.content.ContextWrapper;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
class DatabaseContext extends ContextWrapper {
private static final String DEBUG_CONTEXT = "DatabaseContext";
public DatabaseContext(Context base) {
super(base);
}
@Override
public File getDatabasePath(String name) {
File sdcar