Flash Flex локально хранит XML, возвращенный из API RESTful, в мобильном приложении

Я создал базовую форму мобильного входа в систему в Flex Builder 4.6, которая извлекает XML-файл из API RESTful, который включает 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, чтобы он был доступен для всех вкладок, представлений и т. д., а также при запуске приложения? Как использовать переменную session_token при последующих вызовах API (ее необходимо добавить в качестве параметра....? Session_token=xxxxx, и я знаю, как это сделать).

Я попытался установить и получить, но я боюсь, что я слишком много новичок, чтобы получить любой из примеров, которые я гуглил, чтобы работать.

1 ответ

Вы можете использовать SharedObjects, чтобы сделать это. Я использую в своем мобильном приложении для хранения некоторых данных, потому что мое приложение нуждается в автономной работе. У меня есть список из 5k + itens, все они хранятся на локальном устройстве, предоставленном SharedObjects. Работает действительно хорошо.

Другие вопросы по тегам