logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Nov 23

SharedObjects – Cookie para sua app flex

Escrito por Janderson Cardoso em Adobe Flex, Cookie, Dicas, Flex, SharedOjects @ 11 23rd, 2009 | via http://www.jandersonfc.com/ | Sem comentários
Janderson Cardoso
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Se você procura uma maneira de usar Cookie no flex o SharedObjects pode ser útil, para quem não sabe o SharedObjects é muito fácil de usar e possui essas Características:

  1. Assim como o Cookie é gerado um arquivo na máquina do usuário final;

  2. Tem extensão .sol;

  3. Não é Cookie… não adianta “limpar o Cookie”(sem piadinhas ao ler essa frase :) ) do navegador… para limpar tem que ser programado e inserido na aplicação flex… no caso usando o método clear() do objeto instanciado como SharedObjects;

  4. Assim como Cookie o usuário final pode bloquear o SharedObjects ou limitar seu tamanho;

  5. pode ser guardar Objetos complexo nesse arquivo…só não pode ter métodos.

Vou mostrar um exemplo simples de como usar essa classe, a idéia é fazer uma espécie de Profiles no Flex, o usuário tem 3 states e o último que ele se encontrava antes de fechar o navegador quero que seja aberto. Vamos ao simples código:

Application.mxml

PLAIN TEXT
XML:

  1. <?xml version=“1.0″ encoding=“utf-8″?>
  2. <mx:Application xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“absolute” width=“400″ height=“300″
  3.     creationComplete=“init()” viewSourceURL=“srcview/index.html”>
  4.     <mx:states>
  5.         <mx:State name=“state2″>
  6.             <mx:SetProperty target=“{button1}” name=“label” value=“State Principal”/>
  7.             <mx:SetProperty target=“{panel}” name=“title” value=“State 2″/>
  8.             <mx:SetProperty target=“{button2}” name=“x” value=“283″/>
  9.             <mx:SetProperty target=“{button2}” name=“y” value=“54″/>
  10.             <mx:SetEventHandler target=“{button1}” name=“click” handler=“mudaState(”)”/>
  11.         </mx:State>
  12.         <mx:State name=“state3″>
  13.             <mx:SetProperty target=“{button2}” name=“label” value=“State Principal”/>
  14.             <mx:SetProperty target=“{button2}” name=“x” value=“241″/>
  15.             <mx:SetProperty target=“{panel}” name=“title” value=“State 3″/>
  16.             <mx:SetProperty target=“{button2}” name=“y” value=“54″/>
  17.             <mx:SetEventHandler target=“{button2}” name=“click” handler=“mudaState(”)”/>
  18.         </mx:State>
  19.     </mx:states>
  20.     <mx :P anel x=“10″ y=“86″ width=“380″ height=“120″ layout=“absolute” title=“State Principal” id=“panel”>
  21.         <mx:Button label=“State 2″ x=“10″ y=“54″ id=“button1″ click=“mudaState(‘state2′)”/>
  22.         <mx:Button label=“State 3″ x=“283″ height=“22″ y=“54″ id=“button2″ click=“mudaState(‘state3′)”/>
  23.     </mx :P anel>
  24.    
  25.     <mx:Script>
  26.         <![CDATA[
  27.            
  28.             public var profile:SharedObject;
  29.            
  30.             private function init():void{
  31.                 profile = SharedObject.getLocal("profile");
  32.                 if (profile.data.state != undefined){
  33.                     mudaState(profile.data.state);
  34.                 }else {
  35.                     mudaState('');
  36.                 }   
  37.             }
  38.            
  39.             private function mudaState(state:String):void{
  40.                 this.currentState = state;
  41.                 profile.data.state = state;    
  42.             }
  43.            
  44.             /*Função não usada é só um exemplo para limpar o
  45.              nosso SharedObject*/
  46.             private function limparProfile():void{
  47.                 profile.clear();               
  48.             }
  49.            
  50.         ]]>
  51.     </mx:Script>
  52.    
  53. </mx:Application>

viu como é simples!

PLAIN TEXT
CODE:

  1. profile = SharedObject.getLocal(“profile”);

é onde atribuímos o valor do objeto profile, SharedObject.getLocal procura se existe um arquivo com esse nome e pega os valores armazenados no mesmo, se não existe neste momento é criado.

O resto é bem didático vamos nos poupar..rs olha esse exemplo funcionando logo abaixo:

faz um teste aí..muda de state Principal para 2 ou 3…fecha o navegador..acesse novamente esse post e você vai perceber que vai abrir no state que você estava por último ;)

Então fica aí uma dica de uso do SharedObject ;)

Cumps.

|

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2755 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com