Вызвать метод из одной активности в другой

154
20 марта 2019, 16:20

Не могли бы, пожалуйста, подсказать, как правильно вызвать (если это возможно) метод из одной активности в другой? Я прочитал за наследование, поэкспериментировал с этим. Все хорошо. Но ведь в Android приложениях в любом классе есть еще метод onCreate(), в котором происходит инициализация данных и что-нибудь еще (неважно).

В моем приложении есть система регистрации. Но класс, в котором все для регистрации и авторизации, вышел уж слишком наполненным. Я же хочу вынести в отдельный класс всю авторизацию, в отдельный всю регистрацию и в третий все функции, связанные с регистрацией и авторизацией (функцию создания аккаунта, функцию выхода из аккаунта, функцию входа в аккаунт). По большому счету должно быть что-то такое:

public class MainActivity extends AppCompatActivity
{
    ... onCreate() {
        /* тут отобразим layout, где будет поле для авторизации и в низу кнопка регистрации.
            при нажатии на кнопку регистрации переместим пользователя в RegisterActivity.
            А при нажатии на авторизацию передадим введенные данные в LoginActivity
        */  
    }
    // проверим, какая кнопка нажата (регистрация или авторизация) и перенаправим в класс
    // LoginActivity или RegisterActivity
}
public class SystemAuthentication extends AppCompatActivity
{
    public boolean ...(String email, String pass){ // метод, в котором будет проверка, точно ли существует этот аккаунт
        return ... // true или false в зависимости от результата проверки
    }
    public boolean ...(String email, String pass) { // метод создания аккаунта
        return ... // создался ли аккаунт с введенными данными?
    }
    public boolean ... () { // метод выхода из аккаунта
        return ... // true или false в зависимости от того, вышел ли игрок (может не был авторизован)
    }
    public void
}
public class LoginActivity extends (наверное, SystemAuthentication)
{
    /*  будем ждать, пока пользователь на нажмет кнопку "Авторизоваться"
        а при нажатии этой кнопки из класса SystemAuthentication вызовем метод проверки правильности введенных данных.
        В случае успеха отправим в MainActivity
    */
}
public class RegisterActivity extends (наверное, SystemAuthentication)
{
    /* тут отобразим макет страницы регистрации,
       будем ждать, пока пользователь не нажмет кнопку "Зарегистрироваться"
       а при нажатии этой кнопки будем уже вызывать из SystemAuthentication метод создания аккаунта.
       Лишь после этого отобразим пользователю информацию о статусе регистрации и перенаправим в LoginActivity
    */
}

Проблема в том, что я не очень давно с этим языком программирования знаком (не говоря уже про опыт работы с ним). Перешел из си-подобного языка, где понятия классы вообще не существовало... Спасибо большое за любую помощь!

READ ALSO
Изменить fragment 2 из fragment 1

Изменить fragment 2 из fragment 1

Условия: Имеется приложение с Activity и тремя fragment'ами, которые можно листать смахивая влево - вправо как страницы (Этот эффект осуществляется...

164
Как вытащить пароли с Google Chrome используя Java? [закрыт]

Как вытащить пароли с Google Chrome используя Java? [закрыт]

Хотелось бы создать приложение которое вытащит пароли с Google Chrome которые лежат тут C:\Users\elnur\AppData\Local\Google\Chrome\User Data\Default

141
Надо сохранить информацию о том сколько раз пользователь подсмотрел ответ

Надо сохранить информацию о том сколько раз пользователь подсмотрел ответ

Есть небольшое приложение: надо хранить информацию о том сколько раз был подсмотрен ответ(ответ находится во второй Активити, при возвращении...

127
IntelliJ IDEA не видит “Hex”

IntelliJ IDEA не видит “Hex”

IntelliJ IDEA не видит "Hex", в чем может быть проблема? Код брал отсюда

213