Android 使用SharedReferences保存变量
我想用SharedReferences记录数据我想注册RecyclerView中的“ChipNumberRooms”键,我选择了它。但它不保存数据。当我单击RecyclerView时,我希望它注册Android 使用SharedReferences保存变量,android,sharedpreferences,Android,Sharedpreferences,我想用SharedReferences记录数据我想注册RecyclerView中的“ChipNumberRooms”键,我选择了它。但它不保存数据。当我单击RecyclerView时,我希望它注册 @Override protected void onCreate(Bundle savedInstanceState) { SharedPreferences prefs = getSharedPreferences("...", Context.MODE_PRIVATE);
@Override
protected void onCreate(Bundle savedInstanceState) {
SharedPreferences prefs = getSharedPreferences("...", Context.MODE_PRIVATE);
final String chipNumberNew =prefs.getString("ChipNumberrr", "0");
}
recyclerViewNew.addOnItemTouchListener(new ProductsNewAdapter(this,
recyclerViewNew, new ClickListener() {
@Override
public void onClick(View view, final int position) {
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
DatabaseReference refRooms = mDatabase.child(chipNumberNew).child("Rooms");
SharedPreferences prefs = getSharedPreferences("...", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("ChipNumberRooms", chipNumberNew);
editor.commit();
refRooms.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
....
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onLongClick(View view, int position) {
}
}));
首先,创建一个AppPreference类,并在类中创建一些getter和setter,如下所示:-
public class AppPrefrences {
private static SharedPreferences mPrefs;
private static SharedPreferences.Editor mPrefsEditor;
public static String getUserName(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
return mPrefs.getString("userName", "");
}
public static void setUserName(Context ctx, String value) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.putString("userName", value);
mPrefsEditor.commit();
}
public static void clearAllPreferences(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.clear();
mPrefsEditor.commit();
}
}
这是我的代码更改代码,根据您的需要在方法中设置您的值,然后在中为获取值调用获取方法检查以下链接如果您有任何疑问,请留下注释