powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Datastore Android
9 сообщений из 9, страница 1 из 1
Datastore Android
    #38562498
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал выкладывать на https://github.com/shishkin1966/shishkin1966.git перенос объекта Datastore на платформу Android 2.33 - 4.*

Проект Datastore представляет попытку переноса функциональности объекта Datastore проекта PowerBuilder. Текущая реализация включает в себя следующие возможности:

выполнение запросов к БД поддерживающим интерфейс ODBC: UltraLiteJ, H2, SQLite через библиотеку SQLDroid

переключение между БД не приводит к изменению кода

получение результатов запросов

отображение результатов запросов в виде объекта ListView или наборов объектов EditText

редактирование данных в объекте ListView

сохранение результатов редактирования в БД

объявление правил проверки измененных данных в процессе редактирования

выполнение запросов синхронно/асинхронно

сортировка/фильтрация/поиск/добавление данных в результатах запроса. Возможно использование программных методов(наложение Comparator'ов) или динамическое изменение запроса.

поддержка больших запросов(более 20 тысяч записей) через механизм курсорного чтения данных

двойная буферизация выборки данных и динамическое изменение размеров буфера чтения

поддержка буферов объекта Datastore: Full, Primary, Delete, Filter, Original

поддержка объектов поиска и диалогов фильтрации результатов запроса

использование объекта контроллер (Controller) для связывания объектов данных и визуальных объектов
...
Рейтинг: 0 / 0
Datastore Android
    #38562818
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше назовите объект как-то по другому , а то САП засудить может. Datastore, Datawindow это запатентованные технологии.

Идея хорошая, но мне кажется что в андроиде можно обойтись меньшим количеством классов.
Мне хватило написать обертку для работы с базой ( не ORM, но жизнь облегчает ).
...
Рейтинг: 0 / 0
Datastore Android
    #38562833
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально действующий релиз намного проще. В данной реализации уже добавлена двойная буферизация(для толстых запросов с количеством записей > 5000), независимость от БД, идеология контроллера(MVC). Немного позже я выложу объект Datawindow - простой объект связи ListView и Datastore. Плюс добавлена заглушка на обновление Datastore через HTTP запросы. Была версия Datastore полностью на HTTP запросах. Что не будет выложено:
конвертор отчетов PowerBuilder 11.5 -> Powerbuilder 9

формирование многостраничных отчетов (из файлов SRD) на Android

просмотр отчетов

печать отчетов на bluetooth/wifi/network принтерах HP PCL/Epson/Zebra/Intermec
...
Рейтинг: 0 / 0
Datastore Android
    #38562837
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати там есть весь функционал для выполнения простых запросов к БД и получения результатов в виде String/Int/Double/Map/List/List<ArrayList>
...
Рейтинг: 0 / 0
Datastore Android
    #38562857
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто стояла задача переноса приложения на PowerBuilder на мобильную платформу. И реально сейчас windows powerbuilder код переносится на Android почти без изменений - copy/paste.
...
Рейтинг: 0 / 0
Datastore Android
    #38562928
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg Shishkin,

А тесты/примеры есть для проекта, чтобы посмотреть как работает?
Oleg Shishkinподдержка объектов поиска и диалогов фильтрации результатов запроса
А что-то я там не заменил в результате беглого осмотра обработки скобочек для задания приоритетов например - это not supported? (ну и еще много чего по выражениям).
...
Рейтинг: 0 / 0
Datastore Android
    #38562974
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто качаете,собираете проект и запускаете. В поле для поиска (Look for Customer) набираете:
% - будет выбираться и отображаться весь список Customers

иное - например "b" - отобразяться Customer начинающиеся на b или будет искаться запись начинающаяся на введенное

нажимаете на CheckBox Filter - появляется диалог фильтрации, которая выбирает уже по вхождению
сбоку есть Spinner - он тоже выбирает как фильтр
Позднее обновлю проект:
- c прямым редактированием поля в этом же окне и update Datastore (DS.update())
- с окном редактирования Customer - групповой EditText - редактирование и сохранение в БД
Чуть позднее выложу доку по каждой функции (JavaDOC) - только вопрос на каком языке русский/английский?
Наименование методов у Datastore старался сохранять (кроме обращения - DS.object.column[row] -> DS.get(row,column)/DS.set(row.column,value)/DS.get(row,column,buffer)/DS.get(row,column,buffer,boolean original))
Просто вырезаю и шлифую (отсекаю лишнее) из другого проекта (проект вероятней всего закроется)
...
Рейтинг: 0 / 0
Datastore Android
    #38562988
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркOleg Shishkin,

А тесты/примеры есть для проекта, чтобы посмотреть как работает?
Oleg Shishkinподдержка объектов поиска и диалогов фильтрации результатов запроса
А что-то я там не заменил в результате беглого осмотра обработки скобочек для задания приоритетов например - это not supported? (ну и еще много чего по выражениям).

В поле поиска не используются регулярные выражения - клиенты вообще не представляют что это такое. Используется поиск по совпадению начала строки (like 'value%'). Для организации нормального поиска в datastore - встроен интерфейс IExpression/класс FindExpression
...
Рейтинг: 0 / 0
Datastore Android
    #38569233
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил пример DBListStore (переименовал) в 2 вариантах:
c объектом Controller - по методике MVC

на базе обычной Activity и объекта DBListView (расширяет DBListStore и связывает с ListView)
оба варианта поддерживают редактирование данных в ListView и сохранение в БД по нажатию кнопки Save
Если кому интересно развитие и объяснение режимов работы - прошу в личку. Текущая версия построена на курсорном чтении данных и поддерживает толстые выборки (тестировалось на 20000 строках). Из главных особенностей - объект хранит в себе все изменения и при повторной выборке данных - накладывает их. Изменения хранятся естественно до команды update или reset. В настоящее время не выкладываю пример использования групповых EditText полей для редактирования одиночной записи. Если кому интересно - выложу. Сразу говорю - область применения объекта - это толстые и меняющиеся запросы. Для обычного (простого) связывания данных и визуальных объектов лучше использовать шаблоны DAO( http://ru.wikipedia.org/wiki/Data_Access_Object ). Объект поддерживает функциональность Datastore проекта PowerBuilder:

выбирает данные из БД

возможна вставка/копирование/удаление строк

редактирование и сохранение данных в БД

фильтрация и сортировка через БД и специальными программными способами

обычный поиск по вхождению или началу, а также специальные объекты для сложного поиска в таблице
Не будет выложено формирование/печать отчетов на базе SRD формата отчетов PowerBuilder 9 (совместимого с PocketBuilder 2.5)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Datastore Android
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]