Je suis assez nouveau à la programmation Android et écrit ma toute première application pour ma thèse de diplôme. Maintenant, je suis presque fini, mais il me reste une chose à laquelle je n'ai pu trouver de réponse nulle part sur le net. Alors peut-être que quelqu'un ici peut aider.Comment puis-je écrire des données dans un fichier et y accéder depuis l'extérieur de l'application (sans carte SD)?
Une partie de ce que mon application doit faire est d'écrire les résultats des opérations précédentes dans un fichier librement accessible pour analyse ultérieure. Donc ce que je suis arrivé à ce jour est que je suis capable d'écrire un fichier sur la carte SD avec le code suivant:
String packageName = this.getClass().getPackage().getName();
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/Android/data/" + packageName + "/files/";
if (isExternalStorageAvailable() && isExternalStorageWritable())
{
String filename = "_results.dat";
boolean exists = (new File(path)).exists();
if (!exists)
{
new File(path).mkdirs();
}
// Open output stream
FileOutputStream fOut = new FileOutputStream(path + filename,true);
fOut.write("lalala".getBytes());
etc.
}
public static boolean isExternalStorageAvailable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if available
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
return true;
}
return false;
}
public static boolean isExternalStorageWritable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if writable
if (Environment.MEDIA_MOUNTED.equals(state))
{
return true;
}
return false;
}
Ce fichier je peux accéder à plus tard, copie, peu importe. Comme je le veux. Maintenant la vraie question est:
Y at-il un moyen d'y parvenir sans une carte SD dans le téléphone? Ou puis-je seulement écrire dans 'app-memory' (ce qui ne suffirait pas à mes besoins)? Je demande seulement parce que pour l'instant il n'y a pas de cartes SD dans les téléphones où je vais déployer l'application. Et nous devons décider si nous devons "mettre à jour" les appareils :).
Les cartes SD ou autres périphériques de stockage externes sont assez courants sur les téléphones Android. Sans le savoir, je dirais que 90% de tous les téléphones Android ont un stockage externe. –