[Desenvolvimento] IsolatedStorageFile: Armazenando dados da aplicação em arquivos texto

3

Olá pessoal, tudo bom?

Venho por meio deste post passar mais uma dica rápida para quem está descobrindo recursos e técnicas de programação para o Windows Phone, sendo que dessa vez o tema é sobre a classe IsolatedStorageFile que pertence ao namespace System.IO.IsolatedStorage e permite ao desenvolvedor, dentre muitas outras coisas, armazenar dados da aplicação em arquivos texto.

O exemplo colocado aqui é uma aplicação simples que permite ao usuário armazenar anotações em uma espécie de bloco de notas, sendo que quando a aplicação é carregada, fazemos uma leitura do arquivo existente e colocamos o conteúdo do mesmo em um TextBox. A aplicação permite ao usuário alterar suas anotações e depois regravar o texto sobre o arquivo já existente, dessa forma o aplicativo sempre mantem a última atualização feita pelo usuário.

Veja abaixo o programa escrito em C#:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.IO.IsolatedStorage;
using System.IO;
 
namespace EspecializacaoWP7
{
  public partial class Notepad : PhoneApplicationPage
  {
     public Notepad()
     {
        InitializeComponent();
 
        IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
        try
        {
           StreamReader stream = new StreamReader(new IsolatedStorageFileStream("notepad.txt", FileMode.Open,iso));
           txtAnotacoes.Text = stream.ReadToEnd();
           stream.Close();
        }
        catch (Exception)
        { }
    }
 
    private void btnGravar_Click(object sender, RoutedEventArgs e)
    {
       IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
       IsolatedStorageFileStream file = new IsolatedStorageFileStream("notepad.txt", System.IO.FileMode.Append, iso);
 
       StreamWriter stream = new StreamWriter(file);
       stream.Write(txtAnotacoes.Text);
       stream.Close();
    }
  }
}

diskette Download do exemplo deste post

É isso aí. Um grande abraço a todos,

Eduardo Henrique Rizo (@eduardorizo)

Fonte: Blog do Eduardo H. Rizo

Share.

About Author

Bacharel em Ciência da Computação pela FIPP/Unoeste, Pós-Graduado em Desenvolvimento de Sistemas Web, Segurança da Informação e Avaliação do Ensino e da Aprendizagem, Professor universitário e responsável pelo setor de desenvolvimento de sistemas web da Universidade do Oeste Paulista. MCP e MCPS pela Microsoft e nas horas vagas dedica um pouco do seu tempo escrevendo posts técnicos sobre desenvolvimento de sistemas web, windows phone, gerenciamento de servidores e outros assuntos para a comunidade.

  • Bruno

    Olá, estou trabalhando em uma aplicação em que preciso gravar informações em arquivo texto como no post, está tudo conforme o post e o código é executado todo sem erro, porém as alterações não são salvas, estou testando no emulador, gostaria de saber se o emulador não reconhece essa ação, ou estou fazendo alguma coisa errada.
    Obrigado.

  • Felipe Fagiolo Benassi

    Galera, eu já programo no Visual Studio, na linguagem VB.Net. Eu teria muitas dificuldades em programar para WP? Qual a linguagem e qual a versão do Visual Studio que preciso ter?

    • Depende se for para WP 8 não deve ter muita, mas se quiser fazer algo pro 7.X pode ate ter pois a linguagem utilizada na “antiga” versão é o Silverlight.