Создать представление входа/регистрации из основного действия

Я начинаю сходить с ума по моей проблеме здесь.

У меня есть основное действие, которое подключается к серверу по событию onCreate (программа должна быть подключена к серверу, иначе она не будет работать).

client_thread = new ServerCom(this);

Теперь я хочу создать представление входа в систему с помощью (имя пользователя, пароль и кнопка входа в систему с проверкой существования пользователя). И когда есть представление входа в систему, должно быть какое-то представление регистрации (с именем пользователя, паролем, подтверждённым паролем и кнопкой регистрации с проверкой существования пользователя).

Я создал действие входа и регистрации (для обработки некоторых данных при входе и регистрации).

public ClassLogIn(MainActivity owner)
{
    this.owner = owner;
}
public ClassLogIn()
{

}
public void onClick(View view) {
    if(view == btnLogIn)
    {
        if(TextUtils.isEmpty(userName.getText()) == false) {
            if (TextUtils.isEmpty(userPassword.getText()) == false) {

                owner.LogIn(userName.getText(),userPassword.getText());
            }
        ...

Чтобы начать действия из моей mainActivity, я сделал это

else if(id == R.id.action_login){
    Intent myIntent = new Intent(MainActivity.this, ClassLogIn.class);
    startActivity(myIntent);
}
else if(id == R.id.action_registera){
    Intent myIntent = new Intent(MainActivity.this, ClassRegistera.class);
    startActivity(myIntent);
}
else if(id == R.id.action_Logout)
{
    client_thread.LogOut();
}

Теперь моя проблема заключается в том, как я могу получить значение userName для моего client_thread? А также как я могу вызвать Owner.LogIn из моей активности ClassLogIn?

public boolean LogIn(Editable UserName, Editable Password)
{
    return client_thread.LogIn(UserName.toString(),Password.toString());
}

Или я пытаюсь сделать что-то невозможное в Android?


person Woothz    schedule 13.07.2015    source источник


Ответы (2)


С самого начала я настроил несколько IntentServies, чтобы поймать намерения, а затем настроить свои переменные.

А статические переменные не вариант?

(Добавил бы комментарий, но не хватает повторений)

person TheLibrarian    schedule 13.07.2015

Конкретный код для выполнения следующих действий может отличаться в зависимости от ваших особенностей.

Но в целом процедура, которую мы делаем, выглядит следующим образом:
ПРИМЕЧАНИЕ. Мы используем API WorkingStorage для сохранения параметров непосредственно в HHU (портативное устройство).

  • При первоначальном запуске мы пытаемся получить из HHU учетные данные для входа, которые включают идентификатор авторизации.
  • Если они присутствуют, мы используем идентификатор авторизации для последующих вызовов WebService по мере необходимости во время действий.
  • Если они отсутствуют, мы запускаем «экран» ввода данных пользователя и получаем ввод имени пользователя и пароля.
  • Затем мы отправляем эти данные на сервер через вызов WebService для проверки.
  • WebService отвечает на HHU результатом.
  • Этот результат является либо действительным идентификатором авторизации, либо сообщением об ошибке (например, «Недействительно» и т. д.).
  • Если это действительный идентификатор авторизации, то все учетные данные для входа сохраняются в HHU с помощью API WorkingStorage и затем доступны для использования для последующих вызовов WebService.
person Dhugalmac    schedule 13.07.2015