Перейти к содержанию
  • Регистрация
  • 0
gelo1

Как перезаписать локальную базу SQLite скачав новую с сервера в Интернете

Вопрос

Здравствуйте ребята. Моё имя Олег. Я из Минска.

Подскажите пожалуйста. У меня есть приложение для OS Android представляющее собой базу данных в котором задеплоин файл БД SQLite. Хотелось бы пойти дальше и изучить как обновлять этот файл базы на этом приложении из удалённого сервера простора INTERNET. Может у кого есть готовое решение или ссылка где это подробно описано?

Благодарю.

С Уважением. Олег.

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


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

Рекомендуемые сообщения

  • 0
Только что, gelo1 сказал:

Здравствуйте ребята. Моё имя Олег. Я из Минска.

Подскажите пожалуйста. У меня есть приложение для OS Android представляющее собой базу данных в котором задеплоин файл БД SQLite. Хотелось бы пойти дальше и изучить как обновлять этот файл базы на этом приложении из удалённого сервера простора INTERNET. Может у кого есть готовое решение или ссылка где это подробно описано?

Благодарю.

С Уважением. Олег.

Да какое готовое, кидаете на сервер файлик sql и insert'ами или update'ами и все. Если большой файлик, можете в zip положить. Он есть в delphi. Закачиваете и выполняете этот файлик на локальном устройстве.

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


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

Здравствуйте Виталий.

СпасиБо за ответ. Я начинающий в Андроиде. Пожалуйста раскройте более подробно следующие Ваши слова:"Закачиваете и выполняете этот файлик на локальном устройстве."

С Уважением. Олег.

-

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


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

Здравствуйте Виталий.

СпасиБо за ответ. Я начинающий в Андроиде. Пожалуйста раскройте более подробно следующие Ваши слова:"Закачиваете и выполняете этот файлик на локальном устройстве."

С Уважением. Олег.

-

Я хоть не начинающий, но нет андроида и если и программирую для мобил, то только на iOs. Я это использую для десктопов. Я думаю, для андроида почти также. У вас должен быть доступ к серверу. Вы ложите туда готовый файлик с sql кодом. Там куча инсертов разделёных точно с запятой. Ты по http его закачиваешь. Я использую для этого indy, но для андроида, точно знаю его нельзя использовать, ибо так глюк какой то в 6 андроиде. Поэтому используй NetHTTPClient

я делаю так:

 lStream1 := TMemoryStream.Create;

 form1.idhttp1.Get( 'http://твой сайт/file_base_update/'+'имя файла', lStream1);

 lStream1.SaveToFile(ExtractFilePath(ParamStr(0)) + 'имя файла' );

Я дальше забрасываю этот файлик в базу данных. Я не использую стандартную обертку, а использую от Devart- LiteDac. Но думаю и в fireDac есть тоже самое. Там есть LiteScript1 в него кидаешь файл sql с разделителями ; и он разом выполняется.

 

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


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

А на ответы коллег могу добавить, что они предлагают закачать готовый файл базы данных, а не обновления уже имеющейся. А это разные вещи!

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

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


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

Виталий.

Давайте по порядку. У меня есть файл базы "имя.db3" в нём вся база. Я этот файл ложу на удалённый сервер (есть такая бесплатная возможность) с помощью персонального компьютера. А вот что дальше? Я Вас не понимаю. Разве не надо просто скачать как то этот файл кудато на мобильное устройство? Или я совсем ничего не понимаю?

С Уважением. Олег.

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


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

Виталий.

Давайте по порядку. У меня есть файл базы "имя.db3" в нём вся база. Я этот файл ложу на удалённый сервер (есть такая бесплатная возможность) с помощью персонального компьютера. А вот что дальше? Я Вас не понимаю. Разве не надо просто скачать как то этот файл кудато на мобильное устройство? Или я совсем ничего не понимаю?

С Уважением. Олег.

Коллега, так вы скачать файл базы данных хотите или обновить уже имеющийся? Это разные вещи. Я отвечал на вопрос по обновлению уже имеющейся БД. Вы же в самом начале уже написали, что задеплоили уже файл! Вы меня запутали.)))

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


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

Сначала скачать на устройство а потом в устройстве его обновить.

Олег.

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


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

Сначала скачать на устройство а потом в устройстве его обновить.

Олег.

Обратите внимание:

1) На пост Виталия с примером кода по скачиванию файла из Интернета

2) На пост Равиля, две темы, в одной есть ссылка на мою статью, во второй код из моей статьи

3) Совместите два этих пункта и получите Профит.

 

p.s. Не забудьте, перед непосредственным обновлением файла (или раньше), необходимо отключиться от базы!

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От x11
      При попытке подключиться к базе данных SQLite на эмуляторе с Android  7 получаю исключение:
      Delphi Tokyo + UniDAC 7.
      Эмулятор какой-то неполноценный?
    • От brunnengi
      Здравствуйте.
      Требуется программа на андроид с набором кнопок со следующем функционалом:
      1. Кнопка1 - создать базу в test.sqlite (в том месте где доступ к нему есть только у самого приложения (имею ввиду если это не ROOT телефон, при рут и так всё понятно)
      2. Кнопка2 - создать таблицу в базе test.sqlite с названием "TblTest01" (с разным набором полей на своё усмотрение)
      3. Кнопка3 - создать таблицу в базе test.sqlite с названием "TblTest02" (с разным набором полей на своё усмотрение)
      4. Кнопка4 - Добавить строку в таблицу "TblTest01" (любой набор данных на ваших усмотрение)
      5. Кнопка5 - Удалить строку в таблице "TblTest01" (по любому ключу на ваше усмотрение)
      6. Кнопка6 - Изменить строку в таблице "TblTest01" (по любому ключу и любое значение на ваше усмотрение)
       
      Приложение должно иметь фоновый сервис, который должен получать данные с сервера и добавлять их в базу test.sqlite в таблицу "TblTest02".
      При получение новый данных, сервис должен показать в "шторке" сообщение, по клику на которую открывается само приложение с визуальной частью.
      Т.е. если визуально приложение закрыто, выгружено, не запущено или запущено, фоновый процесс должен сам делать запросы к серверу и добавлять новые данные в базу, если они есть/поступили
      Приложение должно запускаться вместе с системой, после перезагрузки и т.д.
      Использовать только те компоненты что доступны в самой среде из коробки.
      Часть где делается запрос к серверу должен иметь timeout равный 20 секундам.
      Сервис должен грамотно делать запросы к серверу как положено в Андроид приложениях. 
      Серверная часть мне не нужна, можете для теста сами эмулирвать эти процессы.
       
       
      -----
      ЦЕНА: 2500р.
      СРОКИ: Не горит, но в целом где то дней 7 есть
      Перечисляю на QIWI, ЯД, Сбербанк, короче куда скажите.
    • От notricky
      Суть вопроса в заголовке.
      Есть ли какие-то настройки у базы или FireDAC чтобы в английской системе (винда 7) русский текст отображался не вопросами, а русским текстом?
      Настройки у БД UTF-8.
    • От Clio
      Добрый день !
      В приложении я использую базу SQLite (полt, содержащие дату и время тип REAL) . В TFDQuery я описал это поле - тип Float и через LiveBindings подключил к TGrid (Date Column). 
      Но в гриде отображается только год, а не полное время. 
      Подскажите, пожалуйста, как необходимо настроить поле в Query и TGrid, чтобы дата и время отображалась правильно.
    • От notricky
      Собственно как это делают люди?

      Речь, конечно, не про выполнение скрипта "update table set...", а про использование Edit/Post с изменением как в Датасете, так и в БД.

      Какие нужны настройки, в частности у TFDQuery.
      // настройки qr.UpdateOptions = [KeyFields = id][UpdateChangedFields = true] // при этом селект не смотрит напрямую в theTable, но id - это поле theTable qr2.UpdateOptions.UpdateTableName := 'theTable'; qr2.Edit; qr2.FieldByName('Str').Value := Format('%s-%d',[qr2.FieldByName('Str').AsString, Code]); qr2.Post; В такой форме позволяет менять датасет, но в БД данные не скидываются. БД SQLite.
    • От Bio HaZaRD
      Всем привет!
      Пишу проект на основе FireDac (TFDConnection, TFDQuery) + SQLite. На ПК с IDE программа запускается, а на других - нет. На ПК, без IDE, стоят все обновы.
      Помогите разобраться, где проблема или посоветуйте другой компонент, который поддерживает SQLite. Заранее спасибо!
       
      Примечания к файлу:
      Windows-Problemberichtserfassung = Windows Problem Reporting

    • От GoldenEalge
      Имеется бд с полем blob , как из нее загрузить картинку в ListView через LiveBindings ?
    • От GoldenEalge
      Всем привет только начинаю работать с sqlite и возникло пару вопросов.Добавляю на форму пару компонентов

      Устанавливаю связь с бд которая лежит в папке 

      при запуске все хорошо 

      но при попытки редактировать , выдает 

      база открыта только в софте , больше не где ,в чем может быть проблема?
       
    • От Steepe_Hare
      Посоветуйте, пожалуйста, простой пример, как из Android-программы отослать определенные данные на сервер, а там, на сервере (PHP?), добавить их в базу и обновить список.
    • От Rusland
      Можно ли работать с одной базой одновременно и из программы и из сервиса?
      PS. Android
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...