我正在编写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方向 - 我收到错误:
“推送选择失败:没有这样的文件或目录”
所以我在设备上使用了文件专家资源管理器,可以放置数据库。但你看到那里的错误。
任何人都有这方面的经验吗? 在此先感谢!!!
答案 0 :(得分:0)
对此博客文章有所了解。如果您有一个已经存在的数据库,据我所知,它应该包含在Assets文件夹中。
http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/