我的资产安装在哪里?
我在新应用中使用资源文件夹。我在文件夹中有两个文件。当我在模拟器上安装我的应用程序时,我无法访问我的资产,而且我无法在模拟器文件系统上看到它们。
提取我的apk并确认资产文件夹存在:
$ ls -ltr assets/
total 16
-rw-rw-r--. 1 brad brad 1050 2010-05-20 00:33 schema-DashDB.sql
-rw-rw-r--. 1 brad brad 9216 2010-05-20 00:33 dash.db
在模拟器上,没有资产文件夹:
# pwd
/data/data/com.gtosoft.dash
# ls -l
drwxr-xr-x system system 2010-05-20 00:46 lib
#
我只想用我的应用程序打包预先构建的数据库,然后打开它以在需要时获取数据。
刚刚在我的Moto Droid上尝试过,无法访问/打开数据库,就像模拟器一样:
DBFile=/data/data/com.gtosoft.dash/assets/dash.db
从模式文件中动态构建数据库是不可能的,因为它是一个如此缓慢的过程(每秒大约5-10个语句是吞吐量)。
答案 0 :(得分:2)
您的资产和资源被编译到应用程序中,您无法通过文件系统查看它们,您只能通过Volker建议的代码访问它们。如果您需要在应用中部署数据库,请查看以下帖子:
http://www.helloandroid.com/tutorials/how-have-default-database
答案 1 :(得分:0)
如果使用AssetManager,则只需指定资产相对于资产文件夹的路径。
[...]
Resources res = this.getResources( );
AssetManager assetMan = res.getAssets( );
BufferedReader buff = new BufferedReader( new InputStreamReader(
assetMan.open( "dash.db" ) ), 8192 );
[...]