ildvild Опубликовано 28 марта, 2015 Поделиться Опубликовано 28 марта, 2015 Подскажите, как на Android осуществлять хранение настроек. Через ini файлы я как понял нельзя. Цитата Ссылка на комментарий
0 Вячеслав Опубликовано 28 марта, 2015 Поделиться Опубликовано 28 марта, 2015 SaveState вам в помощь. А вообще сперва лучше пользуйтесь поиском, это не сложно. Brovin Yaroslav и Pavel M 2 Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 30 марта, 2015 Модераторы Поделиться Опубликовано 30 марта, 2015 Кто сказал что через ini нельзя? Всё прекрасно работает Rusland, Kitty, Brovin Yaroslav и 2 других 5 Цитата Ссылка на комментарий
0 Dmitry Sobko Опубликовано 29 ноября, 2016 Поделиться Опубликовано 29 ноября, 2016 В 30.03.2015 в 09:48, ZuBy сказал: Кто сказал что через ini нельзя? Всё прекрасно работает А как удалять этот файл после деинсталляции приложения? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 29 ноября, 2016 Модераторы Поделиться Опубликовано 29 ноября, 2016 5 минут назад, DimeDron сказал: А как удалять этот файл после деинсталляции приложения? Если писать в папку приложения TPath.GetDocumentsPath, то файлы автоматически удаляются при деинсталяции приложения AngryOwl, Error, Kitty и 1 другой 4 Цитата Ссылка на комментарий
0 Dmitry Sobko Опубликовано 14 декабря, 2016 Поделиться Опубликовано 14 декабря, 2016 В 29.11.2016 в 15:21, ZuBy сказал: Если писать в папку приложения TPath.GetDocumentsPath, то файлы автоматически удаляются при деинсталяции приложения Действительно это так! Спасибо! Но, есть проблема, почему-то в этот INI файл, расположенный в TPath.GetDocumentsPath я могу записать только один раз. Сколько бы я не пытался это сделать, после перезапуска приложения всегда одна и та же информация, которая была записана в первый раз. Подскажите в чем может быть проблема? Спасибо! Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 14 декабря, 2016 Модераторы Поделиться Опубликовано 14 декабря, 2016 покажите код с записью ini, явно там ошибка Цитата Ссылка на комментарий
0 Dmitry Sobko Опубликовано 14 декабря, 2016 Поделиться Опубликовано 14 декабря, 2016 2 часа назад, ZuBy сказал: покажите код с записью ini, явно там ошибка Если я записываю INI файл в TPath.GetSharedDownloadsPath, то такой проблемы не наблюдается. Вот код первой записи: procedure TFormELECTRA.FormCreate(Sender: TObject); begin PathToSettings := TPath.GetSharedDownloadsPath; //GetSharedDownloadsPath GetDocumentsPath end; procedure TFormELECTRA.BtnAddUserClick(Sender: TObject); begin F:=TIniFIle.Create(TPath.Combine(PathToSettings, INIFileName)); F.WriteInteger('door1', 'number', 1); //записываем FDoorNumber F.WriteString('door1', 'doorname', FDoorName); //записываем FDoorName F.WriteString('door1', 'doorkey', FDoorKey); //записываем FDoorKey F.WriteString('door1', 'doorstatus', FDoorStatus); //записываем FDoorStatus F.WriteString('door1', 'lastopen', FDoorLastOpen); //записываем FDoorLastOpen F.WriteString('door1', 'accesstokeys', FDoorAccessToKeys); //записываем FDoorAccessToKeys F.UpdateFile; //обновляем файлик F.DisposeOf; end; Так я добавляю дополнительно одну из записей, таких у меня несколько процедур. procedure TFormELECTRA.WriteStatusLock; begin F:=TIniFIle.Create(TPath.Combine(PathToSettings, INIFileName)); F.WriteString('door1', 'status', FDoorStatus); //записываем FDoorStatus F.WriteString('door1', 'accesstokeys', FDoorAccessToKeys); //записываем FDoorAccessToKeys if FDoorLastOpen <> '' then begin F.WriteString('door1', 'lastopen', FDoorLastOpen); //записываем FDoorLastOpen end; TimeFromMobile := DateTimeToStr(Now); F.WriteString('parameters', 'Tl', TimeFromLock); //записываем TimeFromLock F.WriteString('parameters', 'Tm', TimeFromMobile); //записываем TimeFromMobile F.UpdateFile; //обновляем файлик F.DisposeOf; end; Цитата Ссылка на комментарий
0 krapotkin Опубликовано 15 декабря, 2016 Поделиться Опубликовано 15 декабря, 2016 все правильно. деинсталляция очищает собственные данные программы Цитата Ссылка на комментарий
0 bigjorj Опубликовано 15 декабря, 2016 Поделиться Опубликовано 15 декабря, 2016 Если приложение использует FireDac, то мне нравится использовать SQLiteIniFile Лежит здесь: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Database\FireDAC\Samples\AddOn\SQLiteIniFile\FireDAC.Phys.SQLiteIniFile.pas Это обертка вокруг ini файла с хранением в базе данных. Подходит для больших объемов и можно применять шифрование SQLite. На Androide прекрасно работает WorkFolder := TPath.GetDocumentsPath; Options := TOptions.create(TPath.Combine(WorkFolder, 'Options.db')); //TOptions это наследник TSQliteIniFile #WAMACO, Rusland и enatechno 3 Цитата Ссылка на комментарий
Вопрос
ildvild
Подскажите, как на Android осуществлять хранение настроек. Через ini файлы я как понял нельзя.
Ссылка на комментарий
9 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.