我已经有一个SQLite数据库了.我把它放在assets
我项目的文件夹中.我阅读了Android文档.它说对于Android中的所有数据库,路径是data/data/pack_name/database_name
.
这困惑了我.我只是把它放在assets
文件夹中,所以路径是data/data/assets/database_name
?
包名称不是项目名称,包名称是名称空间.来自安东尼的链接.
请记住将"YOUR_PACKAGE"更改为DB_PATH字符串中的应用程序包命名空间(即:com.examplename.myapp).
例如,从Hello World教程中,项目名称是HelloAndroid
包名称com.example.helloandroid
如果此应用程序具有数据库,则将其存储在 data/data/com.example.helloandroid/database
要查看其他应用程序的用途,您可以启动模拟器.在菜单栏上你有你的avd的名字(我认为它代表Android虚拟设备).我的是"avdessay:5554"
(在Linux上)从命令行键入:
adb -s emulator-5554 shell
你必须用你正在使用的任何端口替换5554.
如果你有命令提示符'#'你可以输入:
cd data/data
在那里,你会看到eveything是一个包名的形式.
更多信息在这里
当您创建利用数据库SQLiteDatabase
或者SQLiteOpenHelper
类,它在你创建数据库data/data/package_name/database
.
您可以使用以下方式访问该资源
InputStream myInput = myContext.getAssets().open(your_database_here);
任何其他信息,请参阅在Android应用程序中使用您自己的SQLite数据库
package_name
路径的一部分将是您的包的名称.您可以在.java
文件的第一行找到包的名称.
作为一个例子,我的课程从顶部开始
package com.forloney.tracker;
所以我的数据库在data/data/com.forloney.tracker/database
文件夹中.
希望这是有道理的.