Sobes.tech
Middle

O que você sabe sobre a história do armazenamento de ficheiros no Android?

sobes.tech IA

Resposta da IA

A história do armazenamento de ficheiros no Android passou por várias etapas-chave, refletindo o esforço para melhorar a segurança, a privacidade e a facilidade de gestão de dados.

Inicialmente, nas primeiras versões do Android, o acesso ao sistema de ficheiros era relativamente livre. As aplicações podiam ler e escrever ficheiros praticamente em qualquer lugar do armazenamento externo (cartão SD), usando as permissões WRITE_EXTERNAL_STORAGE e READ_EXTERNAL_STORAGE. Isto criava problemas com a organização dos dados, conflitos entre aplicações e segurança, pois uma aplicação podia aceder aos dados de outra.

A situação começou a mudar com a introdução do conceito de sandbox para cada aplicação. Cada uma recebeu um espaço privado para armazenar os seus dados (Context.getFilesDir(), Context.getCacheDir()), ao qual outras aplicações não tinham acesso direto.

Com o Android 4.4 (KitKat), foi apresentado o Storage Access Framework (SAF), uma API para gerir o acesso a documentos e outros ficheiros através de uma interface de utilizador do sistema. Isto permitiu aos utilizadores selecionar ficheiros e diretórios aos quais a aplicação podia aceder temporariamente, sem necessidade de conceder permissões amplas READ_EXTERNAL_STORAGE.

Mudanças significativas ocorreram com o Android 6.0 (Marshmallow) com a introdução de permissões em tempo de execução. As permissões para ler e escrever no armazenamento externo foram solicitadas ao utilizador durante a execução da aplicação, aumentando a transparência e o controlo sobre o acesso aos dados.

O Android 10 (Q) introduziu o Scoped Storage, um armazenamento isolado. Esta foi a mudança mais importante em anos. Em vez de acesso amplo a todo o armazenamento externo, as aplicações por padrão têm acesso apenas a:

  • Os seus próprios diretórios privados (getExternalFilesDir()).
  • Coleções partilhadas de meios (fotos, vídeos, áudio) através da API MediaStore.
  • Outros ficheiros selecionados pelo utilizador através do SAF.

O acesso amplo ao armazenamento externo para certos tipos de ficheiros (por exemplo, ficheiros de documentos) só é possível através do SAF. Para aplicações que necessitam de acesso a todos os ficheiros (como gestores de ficheiros), foi introduzido uma nova permissão MANAGE_EXTERNAL_STORAGE, que requer uma revisão especial e não é concedida à maioria das aplicações.

Alguns pontos importantes:

  • Armazenamento interno: Sempre foi privado para cada aplicação.
  • Armazenamento externo: passou de acesso livre a um armazenamento estritamente controlado e isolado para cada aplicação.
  • MediaStore: é a forma preferida de trabalhar com ficheiros multimédia em coleções partilhadas.
  • SAF: fornece uma forma segura e conveniente para que o utilizador conceda acesso a ficheiros fora do seu espaço privado.

A evolução do sistema de armazenamento reflete o esforço do Google para aumentar a segurança dos dados dos utilizadores e simplificar a gestão de ficheiros para os desenvolvedores.