使用这些行:
String app_name = "@string/app_name";
SharedPreferences sharedPreferences = getSharedPreferences(app_name, 0);
我得到IllegalArgumentException
:
File @ string / app_name.xml包含路径分隔符
如果我这样做:
SharedPreferences sharedPreferences = getSharedPreferences("MyAppName", 0);
它运行正常,但如何在不对应用程序名称进行硬编码的情况下使用它? 我不能使用R.string.app_name,因为那是一个int。
答案 0 :(得分:7)
你可以这样做
String app_name = getResources().getString(R.string.app_name);
SharedPreferences sharedPreferences = getSharedPreferences(app_name, 0);
答案 1 :(得分:1)
您无法在[{1}}
中strings.xml
String app_name = "@string/app_name";
获取刺痛
从java Code
到strings.xml
使用java Code
SO将您的代码更改为
getResources().getString(R.string.yourStringName);