android访问设备上现有的sqlite数据库

时间:2011-05-23 15:25:09

标签: android sql sqlite

我正在编写iconia选项卡(android 3.0)的应用程序。在这个应用程序中,我想访问已经存在的sqlite数据库。在模拟器中它运行良好,但在设备上似乎我找不到我应该放置数据库的正确文件夹。我扎根了设备。我想也许如果我在程序中创建一个数据库,我可能会看到它的位置,但是当我搜索它时,结果是它无处可去。

数据库的构造函数:

        public CustomSQLiteOpenHelper(Context context)
        {
            super(context, "blub.db", null, 1);
        }

访问数据库:

public void showTestValues(){
            ArrayList<Object> rowArray = new ArrayList<Object>();
            Cursor cursor;
            Log.d("myLog", "showTestValues");
            try
            {
                // this is a database call that creates a "cursor" object.
                // the cursor object store the information collected from the
                // database and is used to iterate through the data.
                cursor = db.rawQuery("SELECT * FROM artikel ", null);

                // move the pointer to position zero in the cursor.
                cursor.moveToFirst();

                // if there is data available after the cursor's pointer, add
                // it to the ArrayList that will be returned by the method.
                if (!cursor.isAfterLast())
                {
                    do
                    {
                        rowArray.add(cursor.getString(0));
                        Log.d("myLog", cursor.getString(0));
                    }
                    while (cursor.moveToNext());
                }

                // let java know that you are through with the cursor.
                cursor.close();
            }
            catch (SQLException e) 
            {
                Log.e("DB ERROR", e.toString());
                e.printStackTrace();
            }
        }

错误代码:

 05-23 15:05:59.220: INFO/SqliteDatabaseCpp(7217): sqlite returned: error code = 1, msg = no such table: artikel, db=/data/data/com.example.inspiratedshopping/databases/blub.db

我试图在eclipse中使用adb文件资源管理器将数据库推送到data / data / com.example.inspiratedshopping / databases方向 - 我收到错误:

“推送选择失败:没有这样的文件或目录”

所以我在设备上使用了文件专家资源管理器,可以放置数据库。但你看到那里的错误。

任何人都有这方面的经验吗? 在此先感谢!!!

1 个答案:

答案 0 :(得分:0)

对此博客文章有所了解。如果您有一个已经存在的数据库,据我所知,它应该包含在Assets文件夹中。

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/