La création et le Stockage de Fichier Journal sur un appareil Android
Je suis la planification d'automatiser les tests d'une application par la création d'un journal pour stocker des résultats de l'exécution de l'application et le dernier sur l'analyser à l'aide d'un morceau de code python et tracer un graphique.
L'application est un WiFi fingerprinter je.e il recueille des informations telles que id mac, rss(reçu de la force du signal et le rang(normalisé rss) sur les périphériques wifi dans le milieu environnant. Afin de tester cette application, j'aurais à passer à l'emplacement et d'enregistrer les résultats(en maintenant manuellement). Donc logcat ne servent pas le but.
Automatisation nécessite
1. Stocker le journal dans l'appareil
2. L'accès au fichier journal dans le système par l'intermédiaire d'usb
Le Format du fichier Journal:
Snapshot: 1
Fingerprint: 1, Rank: 0.23424, Boolean: true
Fingerprint: 2, Rank: 0.42344, Boolean: false
Fingerprint: 3, Rank: 0.23425, Boolean: true
Snapshot: 2
Fingerprint: 1, Rank: 0.75654, Boolean: false
Fingerprint: 2, Rank: 0.23456, Boolean: true
Fingerprint: 3, Rank: 0.89423, Boolean: true
................
Maintenant, je sais qu'il y a essentiellement 3 approches pour le stockage persistant(SharedPrefs ne convient pas à ce scénario de toute façon). J'ai essayé de Stockage Interne, mais même après avoir réglé le mode de fichier comme MODE_WORLD_READABLE
il était impossible de lire le fichier à l'aide de l'Appareil de l'Explorateur de Fichiers dans Eclipse.
Je suis toujours méfier de l'aide externe de stockage pour ranger le journal. Tutoriel sur comment écrire dans un fichier en usb de l'appareil va certainement aider.
J'ai pensé à structurer les données soient stockées de façon à utiliser SQLite pour le stockage. Mais ce l'établissement de bien des relations(étrangers et nationaux) entre les données et les rendre complexes. Si il n'y a pas moyen de contourner, puis ici il y a des dragons.
Fondamentalement, je veux écrire dans un fichier(plus facile je suppose) dans l'appareil et le dernier sur les le lire dans mon système en connectant via usb. Toute aide sur la façon de le faire serait très apprécié.
- aller pour code.google.com/p/microlog4android.
- Tous les pointeurs sur la façon de l'utiliser?
- Liés à la question ici, avec une réponse simple montrant comment écrire sur la carte SD: stackoverflow.com/questions/1756296/...
Vous devez vous connecter pour publier un commentaire.
Méfier ou pas, de Stockage Externe peut être encore, la seule façon d'aller. Sans accès root sur l'appareil, vous ne pouvez pas vraiment à quoi que ce soit "Interne", sauf si vous allez être d'accord avec la lecture à l'intérieur d'une application sur le périphérique. Les docs à fournir assez de solides lignes directrices pour créer des fichiers externes, et si vous utilisez l'API de Niveau 8 ou plus, il ya un couple de fonctions supplémentaires qui peuvent être utilisés. Je suis sûr que vous savez de cette page, mais le voici quand même: http://developer.android.com/guide/topics/data/data-storage.html#filesExternal
Si vous avez besoin de n'importe quel fichier io exemple de code... je pense que je pourrais creuser jusqu'à une certaine...
EDIT - je voudrais commencer en suivant les directives ci-dessus docs de confirmer l'état de l'espace de stockage. Malheureusement, je n'y ai pas d'expérience avec l'ajout d'un fichier en Java, donc quelqu'un d'autre serait certainement plus qualifié pour répondre. Cela ne couvre pas l'ajout, mais j'ai une routine de sauvegarde dans une de mes applications qui ressemble à quelque chose comme ça.
Une fois que je suis prêt à écrire, je suis en tirant un objet personnalisé (entrée) d'un ArrayAdapter (adaptateur) et pour convertir le champ de valeur à cordes et à l'aide de getBytes() pour passer à la FileOutputStream la fonction d'écriture. J'ai fait quelques recherches, et il y en a quelques autres options pour fichier écrit en Java/Android... la Classe FileWriter par exemple, afin qu'il porte plus de recherche.
J'ai utilisé une approche très simple à écrire Chaîne messages dans le fichier journal par la création d'un objet FileWriter.
Maintenant la fonction pour écrire un nouveau message dans le fichier journal.
out.close()
après laout.write(...)
déclaration. Sinon, il ne sauvera pas l'écrire. (J'ai compris cela à la dure.)out.close()
la mémoire tampon, vous ne pouvez pas réécrire le fichier plus. c'est, si vousout.close()
danscreateFileOnDevice
, vous devez créer un nouveauFileWriter
avec le même chemin danswriteToFile
avant la prochaineout.write()
.