Sobes.tech
Middle

Co víte o historii ukládání souborů v Androidu?

sobes.tech AI

Odpověď od AI

Historie ukládání souborů v Androidu prošla několika klíčovými etapami, které odrážejí snahu o zlepšení bezpečnosti, soukromí a pohodlí práce s daty.

Původně, v raných verzích Androidu, byl přístup k souborovému systému relativně volný. Aplikace mohly číst a zapisovat soubory téměř kdekoliv na externím úložišti (SD karta), pomocí oprávnění WRITE_EXTERNAL_STORAGE a READ_EXTERNAL_STORAGE. To způsobovalo problémy s organizací dat, konflikty mezi aplikacemi a bezpečností, protože jedna aplikace mohla získat přístup k datům jiné.

Situace začala měnit s příchodem konceptu sandboxu (pískoviště) pro každou aplikaci. Každá aplikace získala vyhrazený soukromý prostor pro ukládání svých dat (Context.getFilesDir(), Context.getCacheDir()), ke kterému jiné aplikace neměly přímý přístup.

S Androidem 4.4 (KitKat) byla představena Storage Access Framework (SAF) – API pro správu přístupu k dokumentům a dalším souborům přes speciální systémové UI. To umožnilo uživatelům vybírat soubory a složky, ke kterým aplikace získávala dočasný přístup, aniž by bylo nutné udělit široká oprávnění READ_EXTERNAL_STORAGE.

Významné změny nastaly s Androidem 6.0 (Marshmallow) zavedením systému Runtime Permissions. Oprávnění ke čtení a zápisu na externí úložiště byla žádaná od uživatele během běhu aplikace, což zvýšilo transparentnost a kontrolu nad přístupem k datům.

Android 10 (Q) přinesl Scoped Storage (izolované úložiště). To je nejvýznamnější změna za dlouhá léta. Místo širokého přístupu ke všemu externímu úložišti je nyní aplikacím standardně umožněn přístup pouze k:

  • jejich vlastním privátním adresářům (getExternalFilesDir()).
  • společným kolekcím médií (fotky, videa, audio) přes MediaStore API.
  • dalším souborům vybraným uživatelem přes SAF.

Široký přístup k externímu úložišti pro určité typy souborů (například dokumenty) je možný pouze přes SAF. Pro aplikace, kterým byl potřeba přístup ke všem souborům (například správci souborů), bylo zavedeno nové oprávnění MANAGE_EXTERNAL_STORAGE, které vyžaduje zvláštní posouzení a není většinou dostupné.

Některé důležité body:

  • Vnitřní úložiště: Vždy bylo soukromé pro každou aplikaci.
  • Vnější úložiště: Prošlo cestou od volného přístupu k přísně kontrolovanému a izolovanému úložišti pro každou aplikaci.
  • MediaStore: Je preferovaným způsobem práce s mediálními soubory ve společných kolekcích.
  • SAF: Poskytuje bezpečný a pohodlný způsob, jak uživatel může poskytnout aplikaci přístup k souborům mimo její soukromý prostor.

Evoluce systému ukládání odráží snahu Google zvýšit bezpečnost uživatelských dat a zjednodušit správu souborů pro vývojáře.