Flash Flex 在移动应用程序中本地存储从 RESTful api 返回的 XML



我在 Flex Builder 4.6 中创建了一个基本的移动登录表单,该表单从 RESTful API 中检索一个 XML 文件,其中包含一个session_token,然后必须在对该 API 的所有后续调用中使用该文件。 它还返回一些其他有用的信息,例如用户的全名。

我想在本地存储此XML,然后从应用程序内的任何选项卡中随意检索session_token。

这是表格

    <?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"
    xmlns:session="services.session.*"
    title="HomeView">
<fx:Script>
    <![CDATA[
            protected function LoginButton_clickHandler(event:MouseEvent):void
        {
            var strXmlTextInput2:String = "<dfapi><email>" + emailInput.text + "</email><password>" + passwordInput.text + "</password><duration>7200</duration></dfapi>";
            GetSessionResult.token = session.GetSession(strXmlTextInput2);
             // unhide below to go to next view
            // navigator.pushView(views.detailView);
        }
    ]]>

</fx:Script>
<fx:Declarations>
    <s:CallResponder id="GetSessionResult"/>
    <session:Session id="session"/>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:VGroup x="60" y="35" width="200" height="218" horizontalAlign="left" verticalAlign="middle">
    <s:Label text="Email"/>
    <s:TextInput id="emailInput" width="199" text="tom@when23.com"/>
    <s:Label text="Password"/>
    <s:TextInput id="passwordInput" width="201" text="123456"/>
    <s:Label text="Session Token"/>
    <s:TextInput id="textInput" width="200" text="{GetSessionResult.lastResult.session_token}"/>
</s:VGroup>
<s:Button id="LoginButton" x="126" y="261" label="Login" click="LoginButton_clickHandler(event)"/>

当我单击该按钮时,会话令牌将显示在从返回的同一视图上的会话令牌字段中

    text="{GetSessionResult.lastResult.session_token}

。所以这有效,但我如何保存 XML,使其可用于所有选项卡、视图等以及应用程序启动?如何在对 API 的后续调用中使用变量session_token(需要将其添加为参数....?session_token=xxxxx,我知道该怎么做)。

我已经尝试过设置和获取,但我担心我太初学者了,无法获得我用谷歌搜索过的任何示例。

您可以使用 SharedObjects 来执行此操作。我在移动应用程序中使用来存储一些数据,因为我的应用程序需要离线工作。我有 5k + iten 的列表,所有这些都存储在共享对象提供的本地设备中。工作真的很好。

最新更新