我需要存储用户选择的图像的链接。图像的来源是文件,联系人图标和资源的绘图(我需要绘图,因为我提供不同分辨率/密度的不同图像)。
出于统一的目的,我将其存储在URI中,因此该URI可能指向文件(file://
),内容提供商或资源(android.resource://...
)。以下是指向id = 2130837534的drawable的URI如何:
android.resource://my.packagename/2130837534
除非重新生成R.java
中的ID,否则它可以正常工作。那么,有没有办法阻止SDK更改某些R.java
ID值?
答案 0 :(得分:1)
不,你不能,也不应该。如果您可以清楚地描述您的问题,可能还有其他解决方案。
以这种方式将资源名称保存在文件中。
icon_profile_1 icon_profile_2
然后当您需要资源ID时,请执行此操作。
int resID = getResources().getIdentifier("icon_profile_1", "drawable","your_package_name");
Check here(java.lang.String,java.lang.String,java.lang.String)
答案 1 :(得分:1)
由于R.java是自动生成的,因此不能限制它的操作,因为在清理或编译项目时它会自动生成。
答案 2 :(得分:0)
这在Android中是不可能的,因为R.java是自动生成的,你不能为此做任何事情。