#java #android #android-layout #android-widget #android-manifest
#java #Android #android-макет #android-виджет #android-манифест
Вопрос:
Привет, я разрабатываю приложение для Android, доступ к которому осуществляется путем ввода 4-значного PIN-кода, у меня есть следующие сомнения
1) всякий раз, когда я запускаю приложение, я показываю экран входа в систему, и при вводе PIN-кода отображается форма, которую заполняет пользователь. При заполнении формы, если пользователь получает звонок или уведомление, приложение закрывается с сохранением введенных данных. Опять же, когда пользователь открывает приложение, оно напрямую показывает форму, но не экран входа в систему. Я хочу, чтобы отображался экран входа в систему, и когда пользователь снова войдет в систему, у него должны быть данные, которые он ввел до прерывания.
2) Когда пользователь находится в форме, если он нажимает клавишу возврата, он возвращается к экрану входа в систему, что нежелательно. итак, я добавил функцию finish () к активности на экране входа в систему, но это приводит к другой проблеме. всякий раз, когда я поворачиваю телефон, экран закрывается, и я снова запускаю приложение, после чего я получаю экран входа в систему в портретном режиме. Как избежать этой ошибки.
3) У меня есть указатель даты в моей форме. Как я могу сохранить ее значение в виде строки? Или в любой другой переменной
4) В форме я должен убедиться, что все поля заполнены, поэтому я проверяю ошибки, проверяя, заполнено ли поле, но как уведомить пользователя, кроме использования метода TOAST. Я хочу, чтобы сообщение, предоставляемое пользователю, было динамическим, как будто оно должно проверять все поля и уведомлять об отсутствующих полях в одном сообщении
Ответ №1:
1) Используется SharedPreferences
для хранения данных. Сделайте сохранение в onPause()
методе вашей деятельности. Или вы можете использовать встроенный механизм savedBundleState.
2) Вы можете ограничить активность вашей формы переключением режима на lanscape, используя атрибут в вашем манифесте в теге activity: android:screenOrientation="portrait"
.
3) Прочитайте день, месяц и год и сохраните их в настройках.
4) Использовать диалоговое окно. Проверьте поля, а затем покажите AlertDialog
с сообщениями об ошибках.
Комментарии:
1. Привет, мой второй вопрос, пожалуйста, это действительно беспокоит меня
2. Еще одна вещь: возможно ли использовать datepicker встроенным или мы можем получить только через диалоговое окно?
3. AFAIK, это не так, но у вас всегда есть исходники для Android =)
4. Хэй, извините за беспокойство, смог использовать ее в строке //Date DatePicker date=(DatePicker)findViewById(R.id.dp); mDay=date.getDayOfMonth(); mMonth=date.getMonth(); mYear=date.getYear();
5. отлично. Если этот ответ помог вам, отметьте его как принятый, щелкнув галочку слева от ответа.