Вход многих пользователей с использованием 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, делай свое дело и спасай. Подсказка, эта операция может обременительна, хотя она работает, в долгосрочной перспективе подумайте о том, чтобы использовать базы данных.

Другие вопросы по тегам