我的SharedPreferences要显示在其他页面上

时间:2019-06-17 08:26:29

标签: java android sharedpreferences

我正在使用<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <label year="2010" month="6" class="currentMonth"> June &nbsp;2010</label>存储我的数据,我想从SharedPreferences访问存储在SharedPreferences中的数据。我不知道如何正确使用Activity,并且在尝试检索数据时收到null。请帮帮我,谢谢。

SharedPreferences

A

public class A extends AppCompatActivity { EditText inputrate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.change); inputrate=(EditText)findViewById(R.id.inputrate); SharedPreferences myrecord=getPreferences(Activity.MODE_PRIVATE); String name_str=myrecord.getString("inputrate", ""); inputrate.setText(name_str); test(); } public void test(){ tmp=inputrate.getText().toString(); SharedPreferences myrecord=getPreferences(Activity.MODE_PRIVATE); SharedPreferences.Editor edit=myrecord.edit(); edit.putString("inputrate", tmp); edit.commit(); bundle.putString("INPUT",tmp); } }

MyMenu

2 个答案:

答案 0 :(得分:0)

简单的解决方案在这里,您必须像下面这样在类中创建一个方法

private SharedPreferences pref;
private SharedPreferences.Editor editor;
private Context context_;

public PrefManager(Context context) {
    this.context_ = context;
    pref = context.getSharedPreferences("YOUR_Prefs_Key", Context.MODE_PRIVATE);
    editor = pref.edit();
}

之后,您必须创建2种方法来保存和从SharedPerferences中获取数据,例如

  public void saveItem(String item) {
    pref.edit().putString("item_value", item).apply();
}

获取价值的第二种方法

 public String getItem() {
    return pref.getString("item_value, "");
}

两个方法中的键必须相等-“ item_value”。

现在要保存项目,您必须执行以下操作

 PrefManager prefManager =new PrefManager(this);
 prefManager.saveItem("item value to saved");

获取商品价值

 String item = prefManager.getItem();

希望这会对您有所帮助。

答案 1 :(得分:0)

在您的onCreate() a.java添加的Activity方法中

SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

并为共享首选项增加价值

Editor editor = sharedpreferences.edit(); editor.putString("key", "value"); editor.apply();

要从SharedPreferences或您应用中使用的其他任何地方访问b.java

SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

然后使用

sharedpreferences.getString("key", "");

SharedPreferences不仅具有字符串,而且还有更多。检查官方文档。 我希望这会有所帮助。