当我们浏览任何apk时,我们发现有一个名为assets的文件夹.现在我想以编程方式访问该文件夹.那我该怎么办呢?(程序的输入将是apk文件/只是应用程序名称).
我有一个简单的Android应用程序来播放视频.我有一个包含几个按钮的主屏幕.如果您按下按钮,它将播放视频.一切正常.
我的问题是我的主屏幕有一个背景图像,还有一个按钮图像.我有一个按钮来选择应用程序的皮肤.有三种选择.当我选择三个选项时,背景图像和按钮图像将会改变.现在我想在后期阶段将皮肤(包含背景图像和按钮图像)作为单独的apk.当我安装这个apk时,它应该与已经存在的皮肤一起显示.这是实现这一目标的最简单方法吗?
谢谢
我的Android应用程序在资产目录中有一些文件,我想在启动时打开,方法是列出目录中的文件并打开每个文件.我正在尝试使用AssetManager来执行此操作,但它似乎没有像我期望的那样.我的示例代码如下.这是正确的方法还是有更好的方法来做到这一点?
我使用以下方法打印出资产目录树.
void displayFiles (AssetManager mgr, String path) {
try {
String list[] = mgr.list(path);
if (list != null)
for (int i=0; i<list.length; ++i)
{
Log.v("Assets:", path +"/"+ list[i]);
displayFiles(mgr, path + list[i]);
}
} catch (IOException e) {
Log.v("List error:", "can't list" + path);
}
}
Run Code Online (Sandbox Code Playgroud)
从我的Activity的onCreate方法中,我执行以下操作:
final AssetManager mgr = getAssets();
displayFiles(mgr, "/assets");
displayFiles(mgr, "./assets");
displayFiles(mgr, "/");
displayFiles(mgr, "./");
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
09-29 20:08:27.843: DEBUG/GFlash(6543): //AndroidManifest.xml 09-29 20:08:27.954: DEBUG/GFlash(6543): //META-INF 09-29 20:08:28.063: DEBUG/GFlash(6543): //assets 09-29 20:08:28.233: DEBUG/GFlash(6543): //classes.dex 09-29 20:08:28.383: …