我正在为 android 开发一个应用程序,该应用程序显示了狂欢节的活动列表。我希望应用程序具有每个活动的图像,以避免用户在运行应用程序时必须下载它,并改善用户对应用程序的体验。
为此,我已将每个活动的图像添加为资源,但我不知道这是否是最好的方法。Resource 有一些我不喜欢的限制,例如您不能在可绘制文件夹中创建子文件夹来组织图像,唯一接受作为资源名称的字符是 [a-zA-Z0-9_] 等。 ...
有什么好的方法吗?或者如果我想避免用户必须下载图像,我必须使用资源。
谢谢
我正在为 android 开发一个应用程序,该应用程序显示了狂欢节的活动列表。我希望应用程序具有每个活动的图像,以避免用户在运行应用程序时必须下载它,并改善用户对应用程序的体验。
为此,我已将每个活动的图像添加为资源,但我不知道这是否是最好的方法。Resource 有一些我不喜欢的限制,例如您不能在可绘制文件夹中创建子文件夹来组织图像,唯一接受作为资源名称的字符是 [a-zA-Z0-9_] 等。 ...
有什么好的方法吗?或者如果我想避免用户必须下载图像,我必须使用资源。
谢谢
android 系统旨在将所有可绘制项目(又名图像)放在资源文件夹中。如果您希望图像与您的应用程序一起打包(而不是事后下载),则需要将它们包含在 res/drawable 中
下载图像总是更好,但如果您的要求是应用程序应该事先拥有所有图片,那么您可以使用“资产”文件夹,我认为对图片名称没有限制。我已经尝试了以下代码并且它有效:
ImageView img = (ImageView)findViewById(R.id.activity_image);
try {
Drawable d = Drawable.createFromStream(getAssets().open("@ahd ka.png"), null);
img.setImageDrawable(d);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我特意使用了一个名称中带有特殊字符的 png 文件,只是为了表明程序可以运行。希望这可以帮助。
您可以在用户第一次加载您的应用程序时下载图像,然后将其保存到 sdcard。
当您的应用程序再次运行时,请检查 sdcard 中是否可用的天气图像。
如果没有,则下载图像,否则使用 sdcard 中的图像。