3

我的资产安装在哪里?

我在我的新应用程序中使用了一个资产文件夹。我的文件夹中有两个文件。当我在模拟器上安装我的应用程序时,我无法访问我的资产,而且我无法在模拟器文件系统上看到它们。

提取我的 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 条语句是我所获得的吞吐量)。

4

2 回答 2

3

您的资产和资源被编译到应用程序中,您无法通过文件系统查看它们,您只能按照 Volker 的建议通过代码访问它们。如果您需要使用您的应用程序部署数据库,请查看此帖子:

http://www.helloandroid.com/tutorials/how-have-default-database

于 2010-05-20T17:30:24.123 回答
0

如果您使用 AssetManager,您只需指定资产相对于资产文件夹的路径。

[...]
Resources res = this.getResources( );
AssetManager assetMan = res.getAssets( );

BufferedReader buff = new BufferedReader( new InputStreamReader(
        assetMan.open( "dash.db" ) ), 8192 );

[...]
于 2010-05-20T06:12:55.017 回答