Android – stockage interne vs stockage externe lorsque l'application est installée sur une carte SD

J'ai une application qui télécharge de grandes quantités de contenu (elle varie selon les utilisateurs mais pourrait être de 200 à 1 Go ou plus).

Actuellement, je sauvegarde tout ce contenu sur le stockage externe car il est probable que ce soit la zone avec le plus d'espace, comme une carte SD. Cela fonctionne bien pour la plupart mais il y a une situation où ce n'est pas nécessairement l'idéal.

  • L'écriture de fichier texte sur carte SD échoue
  • Android - Prendre des photos et les enregistrer avec un nom personnalisé vers une destination personnalisée via Intention
  • Vérifiez si le répertoire existe sur la carte SD de Android
  • Comment masquer les images de la galerie Android
  • Comment afficher les fichiers Android / data / your.package.name sur le stockage externe dans Android 4.2 avec l'environnement multi-utilisateurs?
  • Est-ce que SAF (Storage Access Framework) résout le problème de la carte SD WRITE dans Android 4.4 (KitKat)?
  • Si l'appareil dispose d'un espace de stockage externe intégré, comme la plupart des tablettes, mais possède également un emplacement pour carte SD, le problème de stockage externe devient un peu compliqué. L'application peut être installée sur la carte SD, mais le contenu sera sauvegardé sur le stockage intégré, et non sur la carte SD externe.

    Si l'application est installée sur une carte SD, appeler getFilesDir() donner un chemin sur la carte SD ou le stockage interne?

    Et quelle est la meilleure façon de gérer cela? Devrais-je enregistrer du contenu sur la mémoire interne (sur une carte sd), le stockage externe ou demande-t-il à l'utilisateur de démarrer l'application la meilleure idée?

  • Comment obtenir l'Uri d'une image stockée sur le SDCARD?
  • Suivre les changements dans l'observateur de contenu Android pour Audio.Media.EXTERNAL_CONTENT_URI
  • Copier le fichier brut dans SDCard?
  • Obtenir tout l'espace total et disponible sur Android
  • Android obtient la taille libre de la mémoire interne / externe
  • Comment obtenir le chemin de carte sdcard interne et externe dans Android
  • 2 Solutions collect form web for “Android – stockage interne vs stockage externe lorsque l'application est installée sur une carte SD”

    L'application peut être installée sur la carte SD, mais le contenu sera sauvegardé sur le stockage intégré, et non sur la carte SD externe.

    Non. Si l'appareil dispose d'un stockage externe, l'application sera installée sur un stockage externe. Peu importe si l'appareil dispose également d'une carte SD.

    Si l'application est installée sur une carte SD, appeler getFilesDir () donner un chemin sur la carte SD ou le stockage interne?

    getFilesDir() est toujours un stockage interne, quel que soit l'endroit où l'application est installée.

    Si l'application est installée sur une carte SD, appeler getFilesDir () donner un chemin sur la carte SD ou le stockage interne?

    getFilesDir() méthode getFilesDir() dans la classe Context renvoie toujours le chemin d'accès au stockage interne (en termes d'Android).

    Dans la plupart des cas, le chemin d'annuaire renvoyé par getFilesDir() serait /data/data/your.application.package.appname/files . Mais il peut varier sur différents téléphones, différentes versions Android.

    Pour stocker les fichiers de votre application dans la carte SD, vous pouvez utiliser la méthode File[] getExternalFilesDirs (String type) dans la classe Context . Généralement, le deuxième chemin retourné serait le chemin de stockage pour la carte microSD (le cas échéant).

    Sur mon téléphone, le deuxième chemin a retourné était /storage/sdcard1/Android/data/your.application.package.appname/files après avoir passé null comme argument pour getExternalFilesDirs (String type)

    La terminologie de stockage interne et externe selon Google / documents officiels Android est tout à fait différente de ce que nous pensons.

    Si vous souhaitez en savoir plus sur la différence de terminologie, les chemins de stockage, les classes et les methods pour enregistrer les fichiers dans le stockage interne et externe; J'ai écrit une longue publication sur la documentation stackoverflow avec une explication claire. Vous pouvez l'examiner ici: Internal vs External Storage dans Android – Explication détaillée

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.