Структура данных / базы данных во flash / flex - PullRequest
1 голос
/ 26 октября 2011

У меня есть флеш-проект, который соединяется с сервером.Я получаю все данные с сервера в виде необработанных таблиц, как XML.Так что я должен сделать серверную логику на стороне клиента.(Не спрашивайте, почему!)

Я искал фреймворк или некоторую кодовую базу, которые решили эту проблему.Фреймворк, который может выполнять сопоставление ключей asf.В основном это фреймворк, который хранит данные и обрабатывает извлечение таких данных, как SQL.

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

Итак, есть ли инфраструктура данных для флэш-памяти?

(HTML 5 sqlLight был бы хорош, если бы его поддерживали больше браузеров)

Ответы [ 2 ]

1 голос
/ 26 октября 2011

E4x позволит вам выполнить несколько довольно сложных запросов к вашему XML.Проверить http://dispatchevent.org/roger/as3-e4x-rundown/

0 голосов
/ 26 октября 2011

Я чувствую себя обязанным указать на то, что вы, вероятно, уже знаете - отправка таких таблиц небезопасна, расточительна и глупа. РЕДАКТИРОВАТЬ: Если вы на самом деле НЕ нужны все эти данные в SWF, в этом случае все в порядке:)

Я не думаю, есть основа для этого, так что вам, вероятно, придется создать ее самостоятельно. Вы должны иметь возможность поместить все строки в массив, а затем использовать один или несколько словарей в качестве индекса базы данных. Например:

trace(_data[_idIndex[100]]);
trace(_data[_nameIndex["jonatan"]]);

Все, что вам нужно сделать, это построить индексы;

_nameIndex = new Dictionary();
_idIndex = new Dictionary();
for(var i:int = 0; i<_data.length; i++) {
 _idIndex[_data[i].id] = i;
 _nameIndex[_data[i].name] = i;
}

Надеюсь, это поможет!

РЕДАКТИРОВАТЬ: Для неуникальных идентификаторов вам, возможно, придется хранить массив индексов в словарях, а не сами индексы. Вы также можете сохранить прямую ссылку на объект, который он индексирует, вместо его места в массиве _data.

...