Android - Accéder au fichier à partir des assets \ Affichage PDF
Je suis en train de récupérer une référence à un fichier stocké dans le assets
répertoire un fichier nommé myfile.pdf
. J'ai essayé de faire comme suit:
File file = new File("android_assest/myfile.pdf);
Log.d("myTag", "" + file.isFile());
D'une certaine manière, j'obtiens false
lorsque le myfile.pdf
n'existe dans le assets
répertoire. J'ai vérifié à l'aide de getAssets().list("")
et Log.d()
chaque élément du tableau retourné.
Plus de qui, j'en suis à essayer d'obtenir une référence à un fichier PDF, puis utilisez une visionneuse de PDF, qui est déjà installé sur l'appareil, afin d'afficher le fichier PDF.
Je suppose que, puisque la question précédente (récupération d'une référence vers le fichier) renvoie false
alors la prochaine ciselée code ne fonctionne pas:
Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("file:///android_asset/myfile.pdf"));
startActivity(i);
Quelqu'un a une idée de pourquoi je ne suis pas en mesure de récupérer une référence vers le fichier? et pourquoi je ne peux pas utiliser déjà installé la visionneuse PDF pour afficher un fichier PDF (après récupération d'une référence au fichier PDF)?
Grâce.
source d'informationauteur EviatarS
Vous devez vous connecter pour publier un commentaire.
Comme Barak dit, vous pouvez le copier sur des actifs de stockage interne ou la carte SD et de l'ouvrir à l'aide de pdf intégré applications.
L'Extrait de code suivant vous aidera à.
(J'ai mis à jour ce code d'écrire et de lire des fichiers à partir de la mémoire de stockage interne.
Mais je n'ai pas de recommander cette approche parce que des fichiers pdf peuvent être plus de 100 mo en taille.
Donc ce n'est pas recommandé de sauvegarder cet énorme fichier dans la mémoire de stockage interne
Assurez-vous également que tout fichier de sauvegarde de la mémoire de stockage interne vous utilisez
Alors seuls les autres applications puissent le lire.
Vérifier l'extrait de code suivant.
Assurez-vous d'inclure
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
dans le manifeste
Vous ne pouvez pas le faire comme ça. Il n'existe pas de structure de répertoire dans un apk, c'est juste des données. Le cadre sait comment y accéder (
getAssets
), mais vous ne pouvez pas chercher un fichier dans un répertoire.Vous pouvez l'ouvrir comme un flux d'entrée...
Ou vous pouvez le copier sur des actifs de stockage interne ou la carte SD et l'accès.
comme le disent Vipul'Shahmais dans le cas externe.
changer des parties de code de ce genre:
de l'avant de l'exemple est pour les fichiers Pdf, dans le cas de l'exemple .txt