如何在sql server中更改图像名称以将其保存在android drawable文件夹中?

如何在sql server中更改图像名称以将其保存在android drawable文件夹中?,android,Android,在我的项目中,我需要显示图像。我们在数据库中有图像名称,我需要将这些图像保存在drawable文件夹中但在保留这些之前 drawable文件夹中的图像,图像名称包含特殊符号、大写字母等。因此,当我尝试在drawable文件夹中复制这些图像时,它不支持 那些特殊的字符和空格。所以我需要更改图像名称,这不是问题但我的问题是,如果我更改了图像名称,我也应该更改数据库中的名称。 我的图片有800多张。那么,有什么解决方案吗?或者,手动更改所有内容是唯一的解决方案?请帮我重新评价这个问题 提前感谢您必须考

在我的项目中,我需要显示图像。我们在数据库中有图像名称,我需要将这些图像保存在drawable文件夹中但在保留这些之前 drawable文件夹中的图像,图像名称包含特殊符号、大写字母等。因此,当我尝试在drawable文件夹中复制这些图像时,它不支持 那些特殊的字符和空格。所以我需要更改图像名称,这不是问题但我的问题是,如果我更改了图像名称,我也应该更改数据库中的名称。 我的图片有800多张。那么,有什么解决方案吗?或者,手动更改所有内容是唯一的解决方案?请帮我重新评价这个问题


提前感谢

您必须考虑一种好的算法,以保留res图像和db图像之间的链接

比如说

数据库名称:My_Image_Number_3.jpg->RES NAME:My_Image_Number_3.jpg 在这个简单的例子中,转换只是一个tolowcase

可绘制资源(或任何其他XML资源)不支持大写字母。您需要将图像存储在SD卡、Web服务器或文件夹中

老实说,在Drawable文件夹中存储800张图像似乎是一个非常糟糕的主意。同样,如果您将应用程序存储在Assets文件夹中,它很可能会使您的应用程序变得相当大。除非图像非常小,否则我建议在用户第一次安装并运行应用程序后,将它们从Web服务器下载到SD卡上。这将使您的.apk文件保持较小。

这里有一个“快速且肮脏”的C#算法,我在最近的一个项目中使用该算法为Android重命名>1000个资源。我迭代了项目文件夹中的每个文件,并为每个文件名调用此方法来重命名它。这是一段“一次性”的代码,所以我没有费心使用字符串生成器等。可能会更好,但它完成了任务

private String formatName(String name) 
    {
        String result = name.ToLower();

        result = result.Replace("?", "");
        result = result.Replace("'", "");
        result = result.Replace("`", "");
        result = result.Replace(" ", "_");
        result = result.Replace("-", "_");

        if (Char.IsDigit(result.ToCharArray()[0])){
            result = "num" + result;
        }

        return result;
    }
可以在SQL查询中运行相同的字符串替换来更新数据库