Контроль доступа к приложению - важная задача, которая стоит в каждом втором проекте. Разумеется, некоторая информация должна храниться только во внутреннем хранилище приложения (например, платежные данные банковской карты).
Создайте экран Логина - Пароля для своего приложения со следующими элементами:
- Edittext для логина.
- Edittext для пароля.
- Кнопка "ОК", по клику на которую приложение проверяет правильность логина - пароля.
Логин и пароль храним во внутреннем файле приложения.
- Создадим экран с компонентами Edittext для логина и пароля. Добавим кнопку OK, которая будет проверять подлинность введенных данных. Так же понадобится кнопка регистрации, при помощи которой сохраним логин и пароль во внутреннем файле.
И так экран примет следующий вид:
- Нужно осуществить инициализацию компонентов экрана. Например:
EditText mLoginEdTxt = findViewById(R.id.edit_login);
- Написать обработчик события нажатия кнопки "Регистрация".
- Осуществить проверку введенных данных в полях логина и пароля. Если пользователь не ввел никаких данных, выдать Toast с ошибкой.
- В обработчик события кнопки "Регистрация" добавить создание файлов во внутреннем хранилище. Для создания файла и записи данных используйте BufferedWriter, который в качестве входного значение принимает OutputStreamWriter, например:
// Создадим файл и откроем поток для записи данных
FileOutputStream fileOutputStream = openFileOutput("file_name", MODE_PRIVATE);
// Обеспечим переход символьных потока данных к байтовым потокам.
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
// Запишем текст в поток вывода данных, буферизуя символы так, чтобы обеспечить эффективную запись отдельных символов.
BufferedWriter bw = new BufferedWriter(outputStreamWriter);
// Осуществим запись данных
bw.write("Содержимое файла");
// закроем поток
bw.close();
- Сохранить данные логина и пароля в отдельные файлы.
- Написать обработчик события для нажатия кнопки ОК.
- Осуществить чтение данных из файлов логина и пароля. Для чтения использовать InputStreamReader и BufferedReader.
// Получим входные байты из файла которых нужно прочесть.
FileInputStream fileInputStream = openFileInput(filename);
// Декодируем байты в символы
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
// Читаем данные из потока ввода, буферизуя символы так, чтобы обеспечить эффективную запись отдельных символов.
BufferedReader reader = new BufferedReader(inputStreamReader);
reader.readLine();
- Осуществить проверку введенных данных логина и пароля.
- Вывести сообщение на экран о совпадении логина и пароля с данными, которые сохранены во внутреннем файле.