如何在资源文件夹android中保存sqlite数据库?

时间:2012-04-23 06:56:06

标签: android sqlite

您好我正在关注本教程Using your own SQLite database in Android applications

现在我不明白如何保存在第一个创建的数据库中。以下是从资源文件夹中获取sqlite的代码:

InputStream myInput = myContext.getAssets().open(DB_NAME); 

所以在哪里保留我的sqlite,好像我在资源文件夹中复制我得到编译器错误:

invalid resource directory name

感谢。

2 个答案:

答案 0 :(得分:1)

正如我在其中一个项目中所做的那样,将您的数据库文件复制到raw文件夹中并获取其InputStream,如下所示:

InputStream myInput = myContext.getResources().openRawResource(DB_NAME);

现在将 myInput 流内容复制到缓存目录,以便创建数据库文件的副本。

此外,您可以将该数据库文件与SQLiteDatabase.openDatabase一起使用以获取SQLiteDatabase对象并执行您的sql magic

答案 1 :(得分:1)

在您的Activity.java中,您需要设置数据库

 private void setupDatabase() {
                Dbhelper myDbHelper = new Dbhelper(getApplicationContext());
                myDbHelper = new Dbhelper(this);

                try {

                    myDbHelper.createDataBase();

                } catch (IOException ioe) {

                    throw new Error("Unable to create database");

                }

            }