Вход многих пользователей с использованием SharedPreferences
Как я могу создать мультисессию с общими настройками, чтобы два пользователя могли входить и выходить из одной сессии?
У меня есть следующий код.
public class Session
{
SharedPreferences prefs;
SharedPreferences.Editor editor;
Context ctx;
String [][] usuarios;
int i,j;
public Session(Context ctx)
{
this.ctx = ctx;
prefs = ctx.getSharedPreferences("init", Context.MODE_PRIVATE);
editor = prefs.edit();
}
public void setLoggedIn(boolean loggedin)
{
editor.putBoolean("loggedinmode",loggedin);
editor.commit();
}
public boolean loggedin()
{
return prefs.getBoolean("loggedinmode",false);
}
}
Я использую Android Studio.
2 ответа
Почему вы просто не используете SQLite? Sharedpreferences также может, но sharedpreferences предназначен для сохранения простых значений.
Если вы используете SharedPreferences, просто дифференцируйте имя ключа, например: "User1_session_login", "User2_session_login"
public void setLoggedIn(String key,boolean loggedin){
editor.putBoolean(key,loggedin);
editor.commit();
}
Вы можете хранить списки, вы просто должны использовать умный способ. Эта библиотека называется Gson, она может сериализовать и десериализовать Java-объекты. Итак, вы можете создать список объектов с именем Gson.toJson, который преобразует объект в строковое представление json для этого объекта, затем принимает его и сохраняет как String в общем предпочтении с вашим уникальным именем. Чтобы изменить чтение из него, используйте от Json, делай свое дело и спасай. Подсказка, эта операция может обременительна, хотя она работает, в долгосрочной перспективе подумайте о том, чтобы использовать базы данных.