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 mobile。如何备份数据?_Apache Flex - Fatal编程技术网

Apache flex flex mobile。如何备份数据?

Apache flex flex mobile。如何备份数据?,apache-flex,Apache Flex,我有两种观点。 这是第一种观点 <?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="MTA"> <fx:Declarations> <!-- Place non-vis

我有两种观点。 这是第一种观点

    <?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        title="MTA">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            import adobe.utils.CustomActions;

            import data.MTA_Item;

            [Bindable]
            public static var actions:ArrayCollection;
            public var firstItem:MTA_Item;
            public var secondItem:MTA_Item;
            public var thirdItem:MTA_Item;
            public function initItems():ArrayCollection
            {
                actions = new ArrayCollection();
                firstItem = new MTA_Item(1,"Test","Test note");
                secondItem = new MTA_Item(2,"DevCom","My First Notes");
                thirdItem = new MTA_Item(3,"Auto" , "BMW");
                actions.addItem(firstItem);
                actions.addItem(secondItem);
                actions.addItem(thirdItem);
                return actions;
            }
            override public function set data(value:Object):void
            {
                if(actions == null)
                initItems();
            }
        ]]>


    </fx:Script>

    <s:VGroup>

    <s:Label text="was" >

    </s:Label>
    </s:VGroup>
    <s:List id="items" left="0" right="0" top="0" bottom="0" dataProvider="{actions}" change="navigator.pushView(FormDetails, items.selectedItem)">
        <s:itemRenderer>
            <fx:Component>
                <s:IconItemRenderer label="ID:{data.ID}Name:{data.Name}" />
            </fx:Component>
        </s:itemRenderer>
    </s:List>

</s:View>
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            import views.FlexMobileTestAppHomeView;
            public function list_changeHandler(event:Event):void
            {
                var name:String = _namechange.text;
                var notes:String  = _note.text;
                navigator.pushView(FlexMobileTestAppHomeView,data);

            }
            override public function set data(value:Object):void
            {

            }
        ]]>
    </fx:Script>
    <s:navigationContent>
        <s:Button label="Back"
                  click="navigator.popToFirstView()"/>
    </s:navigationContent>
    <s:actionContent >
        <s:Button label="save" click="list_changeHandler(event)" />

    </s:actionContent>

    <s:HGroup verticalAlign="middle" gap="12">

        <s:VGroup>
            <s:HGroup>
                <s:Label text="Name:" />
                <s:TextInput  id="_namechange" text="{data.Name}">

                </s:TextInput>  
            </s:HGroup>
            <s:HGroup>
                <s:Label text="Notes:"/>
                <s:TextArea id="_note"  text="{data.Notes}" />


            </s:HGroup>

        </s:VGroup>

    </s:HGroup>

</s:View>

第二视图。

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            import views.FlexMobileTestAppHomeView;
            public function list_changeHandler(event:Event):void
            {
                var name:String = _namechange.text;
                var notes:String  = _note.text;
                navigator.pushView(FlexMobileTestAppHomeView,data);

            }
            override public function set data(value:Object):void
            {

            }
        ]]>
    </fx:Script>
    <s:navigationContent>
        <s:Button label="Back"
                  click="navigator.popToFirstView()"/>
    </s:navigationContent>
    <s:actionContent >
        <s:Button label="save" click="list_changeHandler(event)" />

    </s:actionContent>

    <s:HGroup verticalAlign="middle" gap="12">

        <s:VGroup>
            <s:HGroup>
                <s:Label text="Name:" />
                <s:TextInput  id="_namechange" text="{data.Name}">

                </s:TextInput>  
            </s:HGroup>
            <s:HGroup>
                <s:Label text="Notes:"/>
                <s:TextArea id="_note"  text="{data.Notes}" />


            </s:HGroup>

        </s:VGroup>

    </s:HGroup>

</s:View>


我需要将数据传递到第2个视图。然后我必须编辑“名称”,“注释”和“保存”按钮必须将新数据返回到第1个视图。如何从第一视图中获取“操作”并进行编辑

有很多方法可以在两个组件之间共享数据。我写了这篇关于Flex设施的博客;然而,我认为你最适合做更具体的事情

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            import views.FlexMobileTestAppHomeView;
            public function list_changeHandler(event:Event):void
            {
                var name:String = _namechange.text;
                var notes:String  = _note.text;
                navigator.pushView(FlexMobileTestAppHomeView,data);

            }
            override public function set data(value:Object):void
            {

            }
        ]]>
    </fx:Script>
    <s:navigationContent>
        <s:Button label="Back"
                  click="navigator.popToFirstView()"/>
    </s:navigationContent>
    <s:actionContent >
        <s:Button label="save" click="list_changeHandler(event)" />

    </s:actionContent>

    <s:HGroup verticalAlign="middle" gap="12">

        <s:VGroup>
            <s:HGroup>
                <s:Label text="Name:" />
                <s:TextInput  id="_namechange" text="{data.Name}">

                </s:TextInput>  
            </s:HGroup>
            <s:HGroup>
                <s:Label text="Notes:"/>
                <s:TextArea id="_note"  text="{data.Notes}" />


            </s:HGroup>

        </s:VGroup>

    </s:HGroup>

</s:View>
我会研究这些选项:

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            import views.FlexMobileTestAppHomeView;
            public function list_changeHandler(event:Event):void
            {
                var name:String = _namechange.text;
                var notes:String  = _note.text;
                navigator.pushView(FlexMobileTestAppHomeView,data);

            }
            override public function set data(value:Object):void
            {

            }
        ]]>
    </fx:Script>
    <s:navigationContent>
        <s:Button label="Back"
                  click="navigator.popToFirstView()"/>
    </s:navigationContent>
    <s:actionContent >
        <s:Button label="save" click="list_changeHandler(event)" />

    </s:actionContent>

    <s:HGroup verticalAlign="middle" gap="12">

        <s:VGroup>
            <s:HGroup>
                <s:Label text="Name:" />
                <s:TextInput  id="_namechange" text="{data.Name}">

                </s:TextInput>  
            </s:HGroup>
            <s:HGroup>
                <s:Label text="Notes:"/>
                <s:TextArea id="_note"  text="{data.Notes}" />


            </s:HGroup>

        </s:VGroup>

    </s:HGroup>

</s:View>
  • 在第二个视图中重写createReturnObject方法。请务必阅读注释,了解有关访问最新Flex版本中数据的信息
  • 使用支持依赖项注入的框架。机器人腿和Swiz是我过去使用过的两种选择。基本上,创建一个包含对selectedItem的引用的模型对象,并将其注入两个视图中。许多人会说这是最好的方式
  • 在静态变量中存储对所选对象的引用;以便您可以在两个视图中引用它。这是一条比第一条少很多的学习曲线
  • 因为您已经在
    pushView
    方法中传递了对组件的引用;您确定返回时引用不会自动更新吗?实际上,两个视图本质上都使用相同的内存引用来获取数据。不过,您可能需要刷新列表,列表才能接收更改。或者我可能在这一点上错了

  • 有很多方法可以在两个组件之间共享数据。我写了这篇关于Flex设施的博客;然而,我认为你最适合做更具体的事情

        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
    
                import views.FlexMobileTestAppHomeView;
                public function list_changeHandler(event:Event):void
                {
                    var name:String = _namechange.text;
                    var notes:String  = _note.text;
                    navigator.pushView(FlexMobileTestAppHomeView,data);
    
                }
                override public function set data(value:Object):void
                {
    
                }
            ]]>
        </fx:Script>
        <s:navigationContent>
            <s:Button label="Back"
                      click="navigator.popToFirstView()"/>
        </s:navigationContent>
        <s:actionContent >
            <s:Button label="save" click="list_changeHandler(event)" />
    
        </s:actionContent>
    
        <s:HGroup verticalAlign="middle" gap="12">
    
            <s:VGroup>
                <s:HGroup>
                    <s:Label text="Name:" />
                    <s:TextInput  id="_namechange" text="{data.Name}">
    
                    </s:TextInput>  
                </s:HGroup>
                <s:HGroup>
                    <s:Label text="Notes:"/>
                    <s:TextArea id="_note"  text="{data.Notes}" />
    
    
                </s:HGroup>
    
            </s:VGroup>
    
        </s:HGroup>
    
    </s:View>
    
    我会研究这些选项:

        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
    
                import views.FlexMobileTestAppHomeView;
                public function list_changeHandler(event:Event):void
                {
                    var name:String = _namechange.text;
                    var notes:String  = _note.text;
                    navigator.pushView(FlexMobileTestAppHomeView,data);
    
                }
                override public function set data(value:Object):void
                {
    
                }
            ]]>
        </fx:Script>
        <s:navigationContent>
            <s:Button label="Back"
                      click="navigator.popToFirstView()"/>
        </s:navigationContent>
        <s:actionContent >
            <s:Button label="save" click="list_changeHandler(event)" />
    
        </s:actionContent>
    
        <s:HGroup verticalAlign="middle" gap="12">
    
            <s:VGroup>
                <s:HGroup>
                    <s:Label text="Name:" />
                    <s:TextInput  id="_namechange" text="{data.Name}">
    
                    </s:TextInput>  
                </s:HGroup>
                <s:HGroup>
                    <s:Label text="Notes:"/>
                    <s:TextArea id="_note"  text="{data.Notes}" />
    
    
                </s:HGroup>
    
            </s:VGroup>
    
        </s:HGroup>
    
    </s:View>
    
  • 在第二个视图中重写createReturnObject方法。请务必阅读注释,了解有关访问最新Flex版本中数据的信息
  • 使用支持依赖项注入的框架。机器人腿和Swiz是我过去使用过的两种选择。基本上,创建一个包含对selectedItem的引用的模型对象,并将其注入两个视图中。许多人会说这是最好的方式
  • 在静态变量中存储对所选对象的引用;以便您可以在两个视图中引用它。这是一条比第一条少很多的学习曲线
  • 因为您已经在
    pushView
    方法中传递了对组件的引用;您确定返回时引用不会自动更新吗?实际上,两个视图本质上都使用相同的内存引用来获取数据。不过,您可能需要刷新列表,列表才能接收更改。或者我可能在这一点上错了