/ / Déterminez si vous souhaitez utiliser une application Android interne ou externe - Java, Android

Déterminer s'il faut utiliser l'application Android interne ou externe - Java, Android

J'ai lu où stocker mes fichiers,et je ne suis toujours pas sûr de la route que je devrais prendre. Je suis en train d’écrire une application qui stockera des images et des fichiers PDF (environ 300 Mo au total). Je voudrais installer l’application sur la mémoire de stockage interne, puis permettre à l’utilisateur de stocker les fichiers .pdf et quelques images sur leur choix de stockage. Il est possible d’autoriser l’utilisateur à choisir le stockage qu’il utilisera pour ces fichiers, même si je l’ai dans mon manifeste:

android:installLocation="internalOnly"

En gros, j'aimerais que l'utilisateur choisisse ceci au démarrage des applications.

Si c’est le cas, aurais-je juste besoin d’un drapeau?application que si l’utilisateur choisit externe et que le stockage externe est disponible, dispose de suffisamment d’espace, puis enregistre les fichiers. Chaque fois que l'utilisateur ouvrait l'application, je vérifiais que les fichiers étaient disponibles. Si les utilisateurs choisissent interne, il utilisera openFileOutput. Tout cela semble-t-il correct, est-ce possible?

Ou devrais-je simplement envisager de le rendre complètement interne uniquement, car sans ces fichiers PDF et ces images, l'application ne serait pas utilisable.

Réponses:

0 pour la réponse № 1

Il semble que vous puissiez définir installLocation comme suit pour accomplir exactement ce que vous voulez:

android:installLocation="preferExternal"

Du Documentation:

Si vous déclarez "preferExternal", vous demandez quevotre demande soit installé sur le stockage externe, mais le système ne garantit pas que votre application sera installée sur le stockage externe. Si le stockage externe est plein, le système l’installera sur le stockage interne. L’utilisateur peut également déplacer votre application entre les deux endroits.

Si vous le définissez sur internalOnly, l'utilisateur ne peut pas déplacer l'application du stockage interne vers le stockage externe; la solution ci-dessus est probablement votre meilleure option.