Session Android App, как веб-приложения - PullRequest
1 голос
/ 29 мая 2011

У меня есть веб-социальная сеть (расположенная на веб-сервере), у которой есть API, и я пытаюсь разработать приложение для Android.Теперь я уже могу подписать (отправить 'user and pass' и авторизоваться) на этом API.Для этого у меня есть метод sendLogin (String user, String pass), который возвращает мне объект пользователя.

Мой вопрос:

После этих шагов я хочу перейти на другой экран (главное меню, например).Как лучше всего сохранить отношение пользователя к моему приложению?

Например:

  1. Экран входа в систему: вход в API
  2. API: проверка данных
  3. Экран входа: создание объекта пользователя
  4. Экран входа в систему: вызывает главное меню
  5. Пользователь: хочет увидеть свои данные (имя, адрес электронной почты, пол, возраст)
  6. Экран профиля: показать эти данные

Пользовательский объект был создан в Login.java, но он должен сохраняться на многих экранах (жизненный цикл всех приложений).

Я использовал это.Но с этим решением я сделаю это во многих местах, я буду ужасно менять и поддерживать.

public void loginSucceed(User user){
        Intent intent = new Intent();
        intent.setClass(Login.this, MainMenu.class);
        //passa parametros de uma activity pra outra
        intent.putExtra("id",user.getId());
        intent.putExtra("user",user.getUsername());
        intent.putExtra("email",user.getEmail());
        startActivity(intent);
    }

Я там лучший способ?

Ответы [ 3 ]

2 голосов
/ 29 мая 2011

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

Глядя на код вашего намерения, ваш пользовательский класс не реализует parcelable, поскольку вы извлекаете его поле за полем. Если вы сделаете класс реализующим parcelable, вы просто можете сделать intent.putParcelable (group)

http://developer.android.com/reference/android/os/Parcelable.html

0 голосов
/ 12 июня 2013

Лучший способ сохранить легкость и динамичность вашего приложения - использовать Java-бины

class CommonBean implements Serializable
{
     String name,gender;
     int age;
    // generate getter and setter for the variables.
}
0 голосов
/ 29 мая 2011

Это может быть один из способов сделать это. Сохраните HttpContext в объекте приложения, и по мере перехода от действия к действию и необходимости доступа к своему социальному веб-сайту вы можете получить доступ к файлам cookie, хранящимся в CookieStore (в объекте приложения, связанном с HttpContext), и использовать их для доступа к своему веб-сайту.

Вот некоторый код использования HttpContext

Прочтите эту ветку по созданию и работе с объектом Application.

Объект приложения Android

Это очень похоже на то, что вы делаете с веб-приложением, поэтому вы можете перенести свои веб-знания на эту проблему.

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