Comment créer un répertoire sur le stockage interne lors de l'installation de l'application Android?
Je veux avoir un seul dossier où je mettrai toutes les ressources dont je vais avoir besoin et je le veux sur le stockage interne. Depuis que je tiens ce répertoire doit être créé qu'une seule fois, j'ai découvert que je doit créer l'activité principale de l'application:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File directory = context.getDir("mydir", Context.MODE_PRIVATE);
Log.d("directory", directory.getAbsolutePath().toString());
}
Il me semble bien que c'est ce que j'ai pu trouver sur internet, mais je suis de recevoir des charges des erreurs, je peux obtenir pour le journal pour le chemin d'accès au répertoire et l'application ne démarre pas. Aucune idée pourquoi?
Aussi, si je travaille avec stockage interne de tous les temps, quand je lance mon application à partir d'Eclipse pour mon téléphone, est-il supprime automatiquement la précédente avec ses ressources ou j'ai à le faire manuellement?
source d'informationauteur Andrey
Vous devez vous connecter pour publier un commentaire.
utilisation
getCacheDir()
. Elle renvoie le chemin absolu vers le spécifique de l'application répertoire de cache du système de fichiers. Ensuite, vous pouvez créer votre répertoireTout d'abord, assurez-vous de lire et de comprendre les différentes options de stockage dont vous disposez pour votre application. Google a un très bon article sur le sujet ici:
http://developer.android.com/guide/topics/data/data-storage.html
La réponse ci-dessus à partir de Andy mentionne l'Environnement.getExternalStorageDirectory () de l'API (Niveau 7) pour l'écriture d'une carte SD ou similaire, mais vous devez garder à l'esprit que les fichiers enregistrés sur cet emplacement ne seront pas supprimés lorsque l'utilisateur désinstalle l'application. Le la documentation dit:
"Les Applications ne doivent pas utiliser directement ce répertoire de plus haut niveau, afin d'éviter la pollution de l'utilisateur espace de noms racine"
Au lieu de cela, si vous ciblez les API de Niveau 8 et ci-dessus, vous devez utiliser Contexte.getExternalCacheDir() comme des fichiers à cet emplacement sera supprimé lorsque l'application est désinstallée. Si vous voulez vraiment les fichiers persister même après une désinstallation, vous devez utiliser Contexte.getExternalFilesDir(). Il y a aussi getCacheDir() et getFilesDir() pour travailler avec des fichiers sur la mémoire interne.
Comme il a été mentionné dans les commentaires à votre question, vous devriez vraiment poster les erreurs ici pour nous d'être en mesure de vous aider.
PS je suis nouveau à répondre à des questions sur SI donc je n'ai pas assez de rep pour poster des liens vers toutes les fonctions mentionné dans ma réponse et je ne semble pas en mesure de commenter les posts précédents.
SI vous souhaitez stocker sur le stockage externe de la carte SD au lieu de cela, vous avez besoin d'avoir cette
Dans votre AndroidManifest.xml fichier
Aussi cette pour travailler avec l'espace de stockage:
Je pense que Blackbelt réponse est bonne, mais ne voulait pas pour l'enregistrer sur la mémoire cache interne (il va être effacé et écrit souvent de cette façon pour les specs, j'étais en train de faire)
donc, ce que j'ai fait est:
Et puis