Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 没有数据库的Flex独立应用程序_Apache Flex_Excel_Flex3 - Fatal编程技术网

Apache flex 没有数据库的Flex独立应用程序

Apache flex 没有数据库的Flex独立应用程序,apache-flex,excel,flex3,Apache Flex,Excel,Flex3,我正在尝试开发一个可以在本地供我的团队成员使用的应用程序。它是一种具有报告生成功能的问题跟踪应用程序。我计划在flex上做这件事。在我的公司环境中,我有很多限制,比如,不能安装AIR,没有数据库,等等 所以我计划在flex应用程序上开发,并将其放在一个共享驱动器中。现在主要的问题是如何存储数据。我有一个想法,喜欢使用excel文件作为数据库。我想了解有关此选项的意见,如果有人尝试从Flex应用程序中读取和写入excel文件,我也想了解这些建议 谢谢,AnoopFlex提供了RemoteObjec

我正在尝试开发一个可以在本地供我的团队成员使用的应用程序。它是一种具有报告生成功能的问题跟踪应用程序。我计划在flex上做这件事。在我的公司环境中,我有很多限制,比如,不能安装AIR,没有数据库,等等

所以我计划在flex应用程序上开发,并将其放在一个共享驱动器中。现在主要的问题是如何存储数据。我有一个想法,喜欢使用excel文件作为数据库。我想了解有关此选项的意见,如果有人尝试从Flex应用程序中读取和写入excel文件,我也想了解这些建议


谢谢,AnoopFlex提供了RemoteObject、WebService和HTTPService标签,用于访问远程数据和服务。AIR使用一些用于本地文件访问(file)和sqllite数据库的api对此进行了一些扩展

没有AIR API,您将无法编写本地文件;我怀疑你能写出来。您可以尝试将HTTPService与“file://”URL一起使用。我预计会出现跨域问题

您可以设置Flex应用程序以访问远程服务器吗?如果是这样,您可以让服务器创建和编辑excel文件。但是,如果你能做到这一点,为什么不使用真正的数据库呢

您可以使用其他工具从Flex创建桌面应用程序。我相信Janus是一种选择()。您还可以使用FlashPro并发布到可执行文件;但要使其支持Flex代码是困难的,但也是可能的。锌是另一种选择()


如果空气是不允许的,我不知道为什么会有其他的选择。我不禁想知道,您是否最好探索MS Access解决方案,而不是尝试将客户端/服务器技术转换为桌面技术。

您可以使用该类读取/写入本地文件。我使用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");
        }
    }

}