• 0
Major

Реестр в Андроиде и Delphi

Вопросы

Господа, а есть ли в Андроиде нечто подобное реестру в Windows?

Нужно записать некоторые данные в систему, которые не должны теряться при удалении программы.

И как работать с этим, используя Delphi? Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 ответов на этот вопрос

  • 0

В Unix нет реестра, там все на файлах.  Android, MacOS и iOS - это Unix. 

В Android есть 2 варианта для сохранения данных, которые не будут удалены после деинсталяции - сохранять на SD карту, и сохранять удаленно в свою базу (через интернет). 

http://stackoverflow.com/questions/19683614/android-persist-data-after-uninstall

Хотя можно попробовать записать что-то и во внутреннее хранилище, в папки Music, Ringtones итп  почитайте здесь статью Saving files that can be shared with other apps

 

 

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 1

ENRGY,

а как вам такой способ (не мой)?
 

uses
  Androidapi.Helpers,
  Androidapi.JNI.App,
  Androidapi.JNI.JavaTypes,
  Androidapi.JNI.GraphicsContentViewText;

var
  SP: JSharedPreferences;
  SPE: JSharedPreferences_Editor;

procedure TMain.FormShow(Sender: TObject);
begin
  SP := TAndroidHelper.Activity.getSharedPreferences(StringToJString('ZTApp'), 0);
  IP.Text := JStringToString(SP.getString(StringToJString('IP'), StringToJString('127.0.0.1')));
end;

procedure TMain.SaveClick(Sender: TObject);
begin
  SPE := SP.edit;
  SPE.putString(StringToJString('IP'), StringToJString(IP.Text));
  SPE.commit;
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

SharedPreference удаляются при деинсталяции программы. 

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

я просто в SharedDocuments пишу. Это не очень хорошо, но полезно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
3 часа назад, krapotkin сказал:

я просто в SharedDocuments пишу. Это не очень хорошо, но полезно

если каждый туда будет писать, представляю, какой бардак там может образоваться))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

но я тут знакомился с линуксом

там такой бардак в любой папке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

а на CheckBoxEx верно?): .. не работает // .. ааа, нашел:

 *   https://github.com/freeonterminate/delphi/ - FMX INI file Delphi-master

procedure TFormMain.LogPassSave;
var
   RegIniFile: TXplatIniFile;
begin
 RegIniFile:= CreateIniFile('AndroidSoftware');
 RegIniFile.WriteBool('CheckBoxVbrEx','CheckBoxVbrExt', CheckBoxVbr.isChecked);
 RegIniFile.WriteInteger('TrackBarEx','TrackBarExt', Trunc(TrackBar1.Value));
 RegIniFile.Free;
end;

procedure TFormMain.LogPassLoad;
var
   RegIniFile: TXplatIniFile;
begin
 RegIniFile:= CreateIniFile('AndroidSoftware');
 CheckBoxVbr.isChecked := RegIniFile.ReadBool('CheckBoxVbrEx','CheckBoxVbrExt', True);
 TrackBar1.Value :=  RegIniFile.ReadInteger('TrackBarEx','TrackBarExt', Trunc(TrackBar1.Value));
end;

 

Изменено пользователем beegl
replace CODE

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

это немного вчерашний день

лучше 

создавайте в приложении класс настроек и считывайте/записывайте  его одной строкой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

krapotkin

На мой взгляд формат ini наиболее удобный - Секция > Имя=значение.

1. Не нашел как делить настройки на секции - в этом основное преимущество ini. 

2. Парсинг json требует больше времени чем ini. Если настроек много, то это будет в несколько раз медленнее варианта ini. Например в моем проекте кроме основных настроек, есть еще группы, профайлы, и кампании.

И очень удобно когда секции ссылаются друг на друга, причем втч. читать сам ini файл в текстовом редакторе. 

К примеру : 

[Group1]

Key=Value

[Profile2]

Key=Value

[Campaign1]

Groups=Group1, Group2

Profiles=Profile1, Profile2 

[Campaign2]

[Campaign3]

 

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

проблемы со временем это несерьезно. ДАЖЕ если это так, то 50 мсек один раз за запуск всегда найдется.

Но в JSON например есть массивы, и вложенные объекты, чего нет в ini

и все-таки самое главное - это возможность совсем не писать код если настройки изменяются-добавляются

но решать, конечно, вам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
4 минуты назад, krapotkin сказал:

проблемы со временем это несерьезно.

"Приложения становятся медленнее быстрее, чем железо становится быстрее". (с) вроде как Никлаус Вирт...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

OFF: скажите это разработчикам JS ))) у них голимый json везде )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Цитата

проблемы со временем это несерьезно. 

Много помалу = много.

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Здравствуйте.

Получается что apk-архив можно распаковать в компе, и залить папку в Android-девайс, навроде portable в винде?

Изменено пользователем mirumir

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 27.11.2018 в 11:04, mirumir сказал:

Здравствуйте.

Получается что apk-архив можно распаковать в компе, и залить папку в Android-девайс, навроде portable в винде?

Получается, что да)
Однако, здравствуйте!

😃

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 27.11.2018 в 16:04, mirumir сказал:

Здравствуйте.

Получается что apk-архив можно распаковать в компе, и залить папку в Android-девайс, навроде portable в винде?

Не будет работать конечно, куда ещё больше портабл, если пакет андроид приложения это один файл

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

В 05.12.2018 в 20:42, Равиль Зарипов (ZuBy) сказал:

Не будет работать конечно, куда ещё больше портабл, если пакет андроид приложения это один файл

Спасибо за ответы. Сорян за нубасские вопросы.

Тут ещё подумать надо как сформулировать :wacko:

Получается файлы из архива apk не просто распаковываются, а как то прописываются в android устройстве?

apk (это один файл архив который можно открыть к примеру winrar winzip в компе)

Порядок установки apk приложений:

залить apk в смартфон, "открыть" в смартфоне.

но это архив для распаковки, после распаковки apk можно удалить, софт установлен. Тогда:

файл с каким расширением является исполняемым для запуска приложения android?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн