Je veux stocker les fichiers .docx générés et modifiés via une application Android dans le stockage interne des téléphones Android (tous le même modèle de téléphone si cela aide). J'ai le chargement du modèle (situé dans l'application) et la modification des champs de travail, mais je suis bloqué sur la façon de sauvegarder les fichiers.Comment accéder au stockage interne dans Android
J'utilise docx4j qui a une méthode d'enregistrement:
private void writeDocxToStream(WordprocessingMLPackage template,
String target) throws IOException, Docx4JException {
File f = new File(target);
template.save(f);
}
J'ai essayé des moyens plus « manuels », mais je l'ai toujours le même problème:
ce qui devrait être l'entrée pour le répertoire cible?
Il semble facile de le faire pour le stockage externe, mais concernant le stockage interne c'est autre chose.
Lorsque je tente simplement de sortie d'une chaîne dans un test.txt puis obtenir la chaîne en revenir, avec le BufferedReader
classique, InputStreamReader
, façon FileInputStream
de faire, je ne peux pas obtenir cette information que ce soit.
Les informations sur ce sujet sont super dispersées, j'ai passé l'après-midi à lire des milliers de façons de réaliser le stockage, mais aucune ne correspond à mon problème.
J'ai défini <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
dans mon manifeste pour être sûr mais cela ne change rien. En outre, et peut-être qu'il a à voir avec le problème, je ne peux pas accéder aux fichiers (de l'appareil ou de l'ordinateur) sur mon appareil de test (un Samsung Galaxy 5S qui peut exécuter l'application), je semble avoir tous les dossiers mais pas les fichiers, à part quelques fichiers xml et txt ... (Cependant, je n'ai toujours rien quand: write dans EditText - stocker dans File - enregistrer File in .txt - récupérer String - voir String dans textView).
Ceci est super important car je dois récupérer les fichiers .docx pour une utilisation ultérieure, après leur création.
Merci pour vos réponses et laissez-moi savoir si je peux fournir plus d'informations, je sais que mon problème est assez flou.
'target' devrait être un chemin dans la mémoire interne de votre application. Quel est votre code pour appeler 'writeDocxToStream'? – alijandro
'writeDocxToStream (wordMLPackage, (context.getDir (" testfile ", Contexte.MODE_WORLD_READABLE)). GetPath(). ToString() +"/test.docx ");' est mon code –