我已经创建了一个SQLite数据库.我想在我的Android项目中使用这个数据库文件.我想将此数据库与我的应用程序捆绑在一起.
应用程序如何才能访问此数据库并将其用作数据库,而不是创建新数据库?
我将我的数据库存储在我的资源文件夹中,并在运行时复制.我目前有一个简单的Activity,它可以进行简单的数据库调用:
DBAdapter adapter = new DBAdapter(HomeActivity.this);
final SQLiteDatabase db = adapter.getReadableDatabase();
final Cursor c = db.query("exercises", new String[] { "name" }, null,
null, null, null, null);
startManagingCursor(c);
if (c.moveToFirst())
Log.e(TAG, c.getString(0));
else
Log.e(TAG,"No dice");
Run Code Online (Sandbox Code Playgroud)
下面是我的DBAdapter.java(扩展了open helper):
public class DBAdapter extends SQLiteOpenHelper {
private static final int DB_VERSION = 1;
private static String DB_PATH = "";
private static final String DB_NAME = "gymrat.db";
private final Context myContext;
private static final String TAG = "GymRat.DBAdapter";
/**
* Constructor Takes and keeps a …Run Code Online (Sandbox Code Playgroud) 大家好,我对在 android 中开发非常陌生,我想向我的应用程序添加一个数据库。
问题是我不知道如何只初始化整个表一次。
我做了很多阅读,我发现你可以通过覆盖onCreate(SQLiteDatabase db)helper 类中的方法来做到这一点。
这些是我的数据字段和我的onCreate(SQLiteDatabase db)方法。
public static final String KEY_ROWID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_EIGHTU = "8u";
public static final String KEY_NINEU = "9u";
public static final String KEY_TENU = "10u";
public static final String KEY_ELEVENU = "11u";
private static final String TAG = "DBAdapter";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
Run Code Online (Sandbox Code Playgroud)
但我不确定如何......有什么想法吗?
主要问题是我有多个要初始化的行。