2010-06-24 2 views
0

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

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

Спасибо, Anoop

ответ

1

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

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

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

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

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

0

Вы можете читать/записывать локальные файлы, используя класс 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"); 
     } 
    } 

} 
Смежные вопросы