locked
Como persistir uma List<object> de favoritos? RRS feed

  • Pergunta

  • Pessoal,

    Existem várias aplicativos que utilizam o recurso de favoritos. Eu tenho um objeto e gostaria de armazenar numa lista os objetos favoritos do usuário. Além disso, gostaria que o botão de adicionar aos favoritos estivesse indisponível quando o objeto já estiver na lista. Como vocês sugerem que eu faça isso? Com um arquivo XML e com serialize? Caso seja o caso, como editar o arquivo quando o arquivo já foi criado?

    terça-feira, 21 de fevereiro de 2012 17:09

Respostas

  • Fácil: usa o Windows Phone Power Tools!

    Tem lá um Isolated Storage Explorer que te permite ver o que é guardado em cada aplicação que tu criares, e funciona tanto com o emulador como com um dispositivo físico! :)

    Podes até copiar o ficheiro gerado do Isolated Storage para o teu desktop, ou então "injectar" no emulador/telemóvel!!!

    A partilha de links creio que só funciona num dispositivo físico mesmo, mas se te aparece o ecrã de Share ao chamares o método, então tudo deve estar a funcionar 5 estrelas!

    Para desbloqueares o dispositivo para desenvolver directamente para ele só com conta do AppHub (dado que neste momento o ChevronWP7 Labs, a outra forma legal de o fazer, não está mais a aceitar novos dispositivos...)


    Pedro Lamas
    DevScope | Senior Software Development Engineer & WP7 Development Speaker
    www.pedrolamas.com | @pedrolamas


    • Editado Pedro LamasMVP quarta-feira, 22 de fevereiro de 2012 16:35
    • Sugerido como Resposta Pedro LamasMVP quarta-feira, 22 de fevereiro de 2012 16:35
    • Marcado como Resposta Gustavo Binnie quinta-feira, 23 de fevereiro de 2012 15:19
    quarta-feira, 22 de fevereiro de 2012 16:32
  • Olá,

    Para quem interessar, como persistir as informações em um arquivo XML, segue o link:

    http://windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-XML-files

    • Marcado como Resposta Gustavo Binnie quinta-feira, 23 de fevereiro de 2012 15:19
    quinta-feira, 23 de fevereiro de 2012 15:19

Todas as Respostas

  • Olá Gustavo,

    Uma opção é salvar no banco de dados e se o aplicativo permitir somente um usuário vc pode criar um campo boleano para controlar se o item da lista é favorito ou não.

    Qualquer duvida pergunta ai...


    Aprendendo Asp.Net, WinForms, C#, Linq to EF e Sql Server

    terça-feira, 21 de fevereiro de 2012 23:05
  • Leandro,

    Criar um banco de dados só para persistir os favoritos não é muito trabalhoso? Pois a aplicação está funcionando perfeitamente sem o banco de dados, só precisaria persistir essa lista. Eu acredito que consegui persistir num arquivo XML no isolatedstorage, mas quando fecho o emulador e reabro ele não consegue recuperar a informação. Por acaso o emulador exclua as informações do isolatedstorage quando ele é fechado?

    quarta-feira, 22 de fevereiro de 2012 15:14
  • O emulador do Windows Phone não guarda estado; sempre que o fechas, todo o histórico (storage e afins) são eliminados, e sempre que o abres é como se de uma nova máquina se tratasse!

    Pedro Lamas
    DevScope | Senior Software Development Engineer & WP7 Development Speaker
    www.pedrolamas.com | @pedrolamas

    quarta-feira, 22 de fevereiro de 2012 16:26
  • Pedro,

    E como verificar se o app está persistindo no celular? Somente saindo do app no próprio emulador e entrando novamente?

    Já que estamos tratando sobre emulador, existe alguma forma de testar num emulador os métodos de compartilhar e postar no facebook? Só no próprio celular? E o celular eu só consigo liberar para teste após a criação da conta no app hub?

    quarta-feira, 22 de fevereiro de 2012 16:30
  • Fácil: usa o Windows Phone Power Tools!

    Tem lá um Isolated Storage Explorer que te permite ver o que é guardado em cada aplicação que tu criares, e funciona tanto com o emulador como com um dispositivo físico! :)

    Podes até copiar o ficheiro gerado do Isolated Storage para o teu desktop, ou então "injectar" no emulador/telemóvel!!!

    A partilha de links creio que só funciona num dispositivo físico mesmo, mas se te aparece o ecrã de Share ao chamares o método, então tudo deve estar a funcionar 5 estrelas!

    Para desbloqueares o dispositivo para desenvolver directamente para ele só com conta do AppHub (dado que neste momento o ChevronWP7 Labs, a outra forma legal de o fazer, não está mais a aceitar novos dispositivos...)


    Pedro Lamas
    DevScope | Senior Software Development Engineer & WP7 Development Speaker
    www.pedrolamas.com | @pedrolamas


    • Editado Pedro LamasMVP quarta-feira, 22 de fevereiro de 2012 16:35
    • Sugerido como Resposta Pedro LamasMVP quarta-feira, 22 de fevereiro de 2012 16:35
    • Marcado como Resposta Gustavo Binnie quinta-feira, 23 de fevereiro de 2012 15:19
    quarta-feira, 22 de fevereiro de 2012 16:32
  • Gustavo,

    Não sei a quantidade de informação que você vai armazenar e se futuramente vai existir a necessidade de incluir outras 'tabelas' no projeto, por isso sugeri utilizar banco de dados.

    Eu não achei a utilização de banco de dados para windows phone muito trabalhoso, segui as dicas que o Renato Haddad passou nos videos abaixo e foi rapidão.

    http://msdn.microsoft.com/pt-br/windowsphone/hh335638

    http://msdn.microsoft.com/pt-br/windowsphone/hh335639

    Qualquer duvida pergunta ai...


    Aprendendo Asp.Net, WinForms, C#, Linq to EF e Sql Server

    quinta-feira, 23 de fevereiro de 2012 15:17
  • Olá,

    Para quem interessar, como persistir as informações em um arquivo XML, segue o link:

    http://windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-XML-files

    • Marcado como Resposta Gustavo Binnie quinta-feira, 23 de fevereiro de 2012 15:19
    quinta-feira, 23 de fevereiro de 2012 15:19