0

我在 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,我知道该怎么做)。

我已经尝试过设置和获取,但恐怕我太初学者了,无法获得我在谷歌上搜索到的任何示例。

4

1 回答 1

0

您可以使用 SharedObjects 来做到这一点。我在我的移动应用程序中使用来存储一些数据,因为我的应用程序需要离线工作。我有 5k + 的列表,全部存储在由 SharedObjects 提供的本地设备中。工作得很好。

于 2016-04-26T14:53:44.997 回答