使用R.something的getSharedPreferences?

时间:2013-08-26 13:59:46

标签: android sharedpreferences

使用这些行:

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。

2 个答案:

答案 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 Codestrings.xml

获取字符串

使用java Code

SO将您的代码更改为

getResources().getString(R.string.yourStringName);