Автономное приложение Flex без базы данных - PullRequest
0 голосов
/ 24 июня 2010

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

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

Спасибо, Anoop

Ответы [ 2 ]

1 голос
/ 25 июня 2010

Flex предоставляет теги RemoteObject, WebService и HTTPService для доступа к удаленным данным и службам. AIR Это немного расширяет некоторые API для локального доступа к файлам (File) и базы данных SQL Lite.

Без AIR API вы не сможете писать локальные файлы; и я сомневаюсь, что вы можете написать их. Вы можете попробовать использовать HTTPService с URL-адресом «file: //». Я ожидаю междоменных проблем.

Можно ли настроить приложение Flex для доступа к удаленному серверу? Если это так, вы можете поручить серверу создавать и редактировать файлы Excel. но если вы могли бы сделать это, почему бы не использовать реальную базу данных?

Вы можете посмотреть другие инструменты для создания настольных приложений из Flex. Я считаю, что Янус является одним из вариантов (http://www.janus -flash.com / ). Вы также можете использовать Flash Pro и публиковать в исполняемый файл; но было бы трудно, но возможно, заставить это поддерживать код Flex. Цинк - это еще один вариант (http://www.multidmedia.com/).

Если AIR не разрешен, я не уверен, почему эти другие варианты были бы, хотя. Я не могу не задаться вопросом, лучше ли вам исследовать решение MS Access вместо того, чтобы пытаться превратить клиент-серверные технологии в настольные технологии.

0 голосов
/ 25 июня 2010

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

Вот пример:

    package 
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.FileFilter;
    import flash.net.FileReference;
    import flash.net.FileReferenceList;

    public class Main extends Sprite 
    {

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);        

            //load a file when the application starts
            var fileRef:FileReference = new FileReference();
            var fileRefList:FileReferenceList;
            fileRefList = new FileReferenceList();
            fileRef.addEventListener(Event.SELECT, function(evt:Event):void {
                    fileRef.load();                     
            });


            fileRef.addEventListener(Event.COMPLETE, function(evt:Event):void
                {       
                    //do something with the loaded data here
                    trace(fileRef.data);        
                    onSave();
                });

            var arr:Array = [];

            arr.push(new FileFilter("Data file", "*.dat"));

            //prompt the user for the file to load 
            fileRef.browse(arr);
        }

        private function onSave():void
        {
            var fileRef:FileReference = new FileReference();
            fileRef.save("this is my data to save");
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...