1

我已经使用 Sqlite 浏览器创建了数据库 AddressBookMaster.db,并在提到的数据库中创建了表 AddressBook。但现在的问题是我想在我的应用程序中使用这个 .db 文件,那么我应该把这个 db 文件放在哪里以及如何在应用程序中获取?

有什么例子或教程可以帮助我吗?

4

4 回答 4

5

You can put your Database file in the SDcard also. Use following code to use the Database from the SDCard.

File dbfile = new File("/sdcard/Your_db_File.db" ); 
SQLiteDatabase  db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
于 2011-03-19T05:25:41.940 回答
2

在 Android 应用程序中使用您自己的 SQLite 数据库中包含的信息应该正是您要查找的内容。

您应该注意,虽然这并不难,但它不仅仅是一组可以在您的应用程序之外完成的琐碎命令。

于 2011-03-19T04:55:02.190 回答
0

使用android-sqlite-asset-helper,在安装时填充(初始化)应用程序的数据库

如果要将数据库的默认文件夹更改为 sdcard:

public class MyApplication extends Application {

    @Override
    public void onCreate() {

        SQLiteOpenHelper helper = ..
        SQLiteDatabase db = helper.getWritableDatabase()
    }


    @Override
    public File getDatabasePath(String name) {
        return new File(getDatabasePathString(name));
    }

    @Override
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) {
        return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory);
    }

    @Override
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) {
        return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory, errorHandler);
    }

    /*Put the default folder to store database of your application / or activity here */
    public String getDatabasePathString(String name) {
        return getExternalCacheDir()+ "/" + name+".db";  /* /storage/emulated/0/Android/data/com.my.app/cache */
    }

}
于 2014-05-21T20:01:09.713 回答
0

“在 Android 应用程序中使用您自己的 SQLite 数据库”中包含的信息对 U 非常有用,如果 U 的 db 大小超过 1024 字节,则首先将 db 拆分为小部分并将所有小 db 复制到您的应用程序目录中。

于 2011-03-19T05:07:30.607 回答