Aller au contenu

Bienvenue sur le forum de FrAndroid,
une communauté fondée par des passionnés pour des passionnés.

Nous sommes une communauté dédiée à Android et tout ce qui gravite autour. Si vous cherchez à tirer le meilleur parti de votre appareil, à le personnaliser, à ajouter des fonctions ou simplement à avoir des réponses à vos questions. Rejoignez-nous. C'est gratuit.

Connexion Inscription

Photo

Expansion File


  • Merci de vous connecter pour répondre
5 réponses à ce sujet

#1
kom

kom

    Membre

  • Membre
  • 21 messages
Bonjour,

J'essaie d'intégrer un Expansion File à mon application qui à la base pèse 90mo. J'ai essayé de lire le guide sur le site d'Android Developers, mais certains points restent assez flou et il n'existe que très peu de tutoriels la dessus.

Dans mon application, j'ai séparé mes images dans un fichier zip que j'ai déplacé sur la mémoire du téléphone dans le répertoire /storage/emulated/0/Android/data/com.<lenomdemonpackage>.<lenomdemonapp>/ avec le nom patch.1.<lenomdemonpackage>.<lenomdemonapp>.zip, même si pour le moment, ceci n'a pas vraiment d'importance.
Pour le moment ce que j'aimerais essayer de faire, c'est tout simplement d'utiliser les images qui sont à l'intérieur de mon .zip dans mon code.
Avant d'archiver mes images, je les utilisait ainsi :

public static int[] ma_liste = {
R.drawable.1, R.drawable.2,R.drawable.3
};

Ma question est la suivante, comment puis-je utiliser les images contenues dans mon zip au fur et à mesure de mon application ? dois-je dézipper entièrement le fichier avant de l'utiliser ? Comment les réutiliser en tant que drawable dans mon Array de int ?

Merci pour les infos.

Publicité

edelalife

Les meilleures offres du moment :

#2
chpil

chpil

    RdS Développement

  • Responsable de section
  • 861 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
Un Expansion File est un simple fichier (typiquement un .zip) qui contient des données qui sont propres à ton application, dans un format que tu gères toi-même: Android n'a aucune connaissance des données qui y sont stockées.
Ce qui veut dire que c'est à toi d'aller chercher les données qui sont dans cet Expansion File, pour pouvoir les utiliser dans ton application ensuite.

#3
kom

kom

    Membre

  • Membre
  • 21 messages
Oui je comprends, mais je ne saisis pas vraiment comment utiliser les données stockées dans mon zip.
Si dans mon exemple je remplace un R.drawable.x par un expansionFile.getInputStream(image.png), cela ne fonctionne pas, il m'indique que le type InputStream ne peut être converti en int.

#4
chpil

chpil

    RdS Développement

  • Responsable de section
  • 861 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
Le R.drawable.x est un int, car c'est un identifiant, qui permet à Android, à partir de cette valeur, d'aller chercher dans les ressources de ton application le drawable qui correspond.
Avec un Expansion File, tu ne peux pas utiliser les mêmes API, puisque Android ne connait pas le contenu de celui-ci. Il va falloir que tu construise toi-même le Drawable, à partir ici de l'InputStream, pour pouvoir le fournir à Android via la méthode adéquate ensuite. Selon ton application, cela peut nécessiter plus ou moins de modifications.

#5
kom

kom

    Membre

  • Membre
  • 21 messages
Je suis assez perdu dans l'utilisation de l'Expansion File, existe t-il un Project sample ou quelque chose de la sorte que l'on peut reprendre et adapter à un projet ? Je m'embrouille complètement dans le storage data, le getExpansionFile, le getInputStream, les Drawable.createFromStream et autres fonctions utilisées uniquement pour la récupération d'une image.

#6
kom

kom

    Membre

  • Membre
  • 21 messages
Personne ne possède de code pour réaliser cela ? Je dois vraiment implémenter cela pour pouvoir publier mon application.




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)