Можно ли использовать объект сеанса в различных операциях в Android - PullRequest
0 голосов
/ 09 ноября 2011

Я искал в Интернете, как создать сеанс в приложении для Android. Я нашел это , и это, безусловно, помогло мне в части моего проекта.

В настоящее время у меня есть похожая ситуация, когда у меня есть приложение для входа в систему, которое просит пользователя ввести имя пользователя и пароль. При нажатии кнопки отправки я создаю и инициализирую свой объект Session.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я хочу знать, могу ли я использовать этот объект в различных действиях, помимо активности приложения «Вход». Я также хочу знать, что если объект Session содержит учетные данные пользователя, его можно отправить через веб-сервис и сохранить в удаленной базе данных?

Ответы [ 3 ]

1 голос
/ 09 ноября 2011

Или попробуйте использовать sharedpreference, если требования являются базовыми.http://developer.android.com/guide/topics/data/data-storage.html проголосуйте и примите ответ, если вы найдете его полезным

1 голос
/ 09 ноября 2011

Создайте класс, который расширяет Application (не забудьте обновить файл манифеста) и добавьте в него обязательные поля (имя пользователя, пароль и т. Д.).Этот класс будет доступен для всех ваших действий.Вы можете найти подробное объяснение здесь .

Позже отредактируйте:

Допустим, у вас есть класс Session с полем username.

class Session {
    public String username = "";
}

Далее, расширьте Application:

class App extends Application {
    Session session = new Session();

    public String getUsername() {
        return session.username;
    }

    public void setUsername(String username) {
        session.username = username;
    }
}

Теперь, когда вы хотите получить доступ к имени пользователя, вы можете сделать это из любого действия:

App app = (App) getApplication();
String username = app.getUsername();
if (username.equals("")) {
    // the user is not logged in, do something
}
0 голосов
/ 10 февраля 2017

Извините, я, может быть, очень поздно здесь, но я хотел бы рассказать о двух моментах:

1 - Существуют различные способы хранения объектов, которые будут доступны повсеместно в приложении.Вы можете использовать статические объекты, шаблон проектирования Singleton, сериализацию и т. Д.Каждый выбор имеет свои условия (в основном связанные с размером объекта)

2 - Принятый выше ответ, представленный @Gabriel Negut, не рекомендуется из-за того, как Android управляет жизненными циклами своих приложений.NullPointerException может быть вызвано, когда приложение восстанавливается с новым объектом Application.У Филиппа Бре есть хорошая статья об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...