#flutter
Вопрос:
Я новичок в Флаттере. Я хочу написать функцию, чтобы пользователи не меняли постоянно свои фотографии в профиле и не занимали место для хранения. Например, пользователь сможет запускать функцию, которая меняет фотографию профиля каждые 20 минут. Если пользователь попытается изменить фотографию своего профиля до истечения 20 минут, появится уведомление. Как я могу это сделать? Вы не могли бы мне помочь? Могу ли я сделать это с помощью if/else? Вот несколько кодов:
void chooseProfileImage() { showModalBottomSheet( context: context, builder: (BuildContext bc) { return SafeArea( child: Container( child: new Wrap( children: lt;Widgetgt;[ new ListTile( leading: new Icon(Icons.photo_library), title: new Text( "From Gallery", style: TextStyle(fontFamily: Constants.appFont), ), onTap: () { proImgFromGallery(); Navigator.of(context).pop(); }), new ListTile( leading: new Icon(Icons.photo_camera), title: new Text( "From Camera", style: TextStyle(fontFamily: Constants.appFont), ), onTap: () { proImgFromCamera(); Navigator.of(context).pop(); }, . . .
Комментарии:
1. Вы загружаете изображение на сервер, а пользовательские данные хранятся в базе данных, верно?
2. Да, верно. Он хранится в базе данных.
3. Я предполагаю, что могу запросить изменение пользователя через API, но если есть более простое решение, функция также может работать в зависимости от времени устройства пользователя.
Ответ №1:
Поскольку вы работаете с базой данных, вам следует добавить в таблицу пользователей новое поле, содержащее метку времени последнего изменения.
Другим вариантом может быть сохранение метки времени на устройстве, например, в общих настройках. Но это небезопасное решение, потому что пользователь может просто удалить данные приложения, и метка времени исчезнет.
С заданной меткой времени теперь вы можете выполнить условие if и решить, разрешать действие или нет.