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. Работает действительно хорошо.