在 android 可绘制文件夹中以分类方式保存图像以及如何访问它们
keeping images in a categorized way in android drawable folder and how to access them
我有近 1000 张不同类别的图像,例如
- Students_Images_Folder
- Teachers_Images_Folder
- Parents_Images_Folder
等等
我想在我的 android 项目中继续导入这些图像 类别 而不是 mdpi、xdpi、hdpi 等。有没有办法让它们分类而不合并到drawable中。
我应该去数据库吗?我读到数据库不合适,因为它会降低效率。欢迎任何解决方案。感谢您花时间回答我的愚蠢问题。
AFAIK,res文件夹不能添加子目录,这样会导致资源编译失败!
但您可以在每个类别的图像名称开头添加前缀,例如:st_image_name
for students images
您可以在您的资源目录中创建子目录,并让您的构建系统使用一小段 Gradle
脚本。
阅读此处了解更多信息:Can the Android Layout folder contain subfolders?
首先,您应该将所有图像添加到具有唯一名称的可绘制文件夹中,当然还有一些前缀,如学生的 st、教师的 tr 和家长的 pr。
其次,您可以创建包含三个表的数据库,以将图像的名称存储到单独的类别中。
之后,您可以从数据库中明智地检索图像类别,here 是处理文件名中的资源 ID 的代码。
或
您还可以在 android 中创建资产文件夹,here 您可以在 android studio 中查看如何创建资产文件夹。
创建资产文件夹后,您可以根据学生、教师和家长等类别创建子目录。
然后将图像放入这些目录中。
最后从资产加载图像。要从资产的子目录加载图像,请执行以下代码
try
{
InputStream ims = getAssets().open("student/st_img.jpg");
Drawable d = Drawable.createFromStream(ims, null);
mImage.setImageDrawable(d);
ims .close();
}
catch(IOException ex)
{
return;
}
我有近 1000 张不同类别的图像,例如
- Students_Images_Folder
- Teachers_Images_Folder
- Parents_Images_Folder 等等
我想在我的 android 项目中继续导入这些图像 类别 而不是 mdpi、xdpi、hdpi 等。有没有办法让它们分类而不合并到drawable中。
我应该去数据库吗?我读到数据库不合适,因为它会降低效率。欢迎任何解决方案。感谢您花时间回答我的愚蠢问题。
AFAIK,res文件夹不能添加子目录,这样会导致资源编译失败!
但您可以在每个类别的图像名称开头添加前缀,例如:st_image_name
for students images
您可以在您的资源目录中创建子目录,并让您的构建系统使用一小段 Gradle
脚本。
阅读此处了解更多信息:Can the Android Layout folder contain subfolders?
首先,您应该将所有图像添加到具有唯一名称的可绘制文件夹中,当然还有一些前缀,如学生的 st、教师的 tr 和家长的 pr。
其次,您可以创建包含三个表的数据库,以将图像的名称存储到单独的类别中。
之后,您可以从数据库中明智地检索图像类别,here 是处理文件名中的资源 ID 的代码。
或
您还可以在 android 中创建资产文件夹,here 您可以在 android studio 中查看如何创建资产文件夹。
创建资产文件夹后,您可以根据学生、教师和家长等类别创建子目录。
然后将图像放入这些目录中。
最后从资产加载图像。要从资产的子目录加载图像,请执行以下代码
try
{
InputStream ims = getAssets().open("student/st_img.jpg");
Drawable d = Drawable.createFromStream(ims, null);
mImage.setImageDrawable(d);
ims .close();
}
catch(IOException ex)
{
return;
}