Bonjour.
Je n'arrive pas à trouver de documentation sur la manière de distribuer des fichiers avec mon application. À savoir : des images, une base sqlite3, etc.
Merci d'avance pour votre aide.
@+
Rémi
Bonjour.
Je n'arrive pas à trouver de documentation sur la manière de distribuer des fichiers avec mon application. À savoir : des images, une base sqlite3, etc.
Merci d'avance pour votre aide.
@+
Rémi
Salut,
Quand tu dis "distribuer" c'est bien fournir les fichiers utiles à ton application (exemple : une image utilisée comme background sur une de tes vues) ?
Si c'est bien ça, normalement ils doivent être présent en tant que ressource de ton application ou dans le répertoire "asset". Et donc ils sont packagés en même temps que ton application.
Salut.
J'utilise une DB qui se crée dans le répertoire /data/data/org...../databases lors du premier lancement, mais je voudrais la distribuer avec l'application (en fait je veux la créer, la remplir et la fournir remplie aux utilisateurs).
Pour les autres types de documents je ne sais pas où je dois ranger les fichiers justement, pour l'instant j'y accède en direct via /data depuis l'application après avoir fait un adb push.
@+
Rémi
Ce que tu peux faire, c'est récupérer les fichiers que tu as créer et les mettre dans le dossier "asset" de ton programme.
Ensuite, lors du premier lancement, tu va vérifier si les fichier sont présent dans "/data/etc".
Si il n'existe pas, tu copies les fichiers présent dans asset dans ses répertoires là.
Je sais pas si je suis clair dans ce que je dis ?
Euh... Pas tout.
Je vois bien ma resource avec getResources().getAssets().list("databases")
Je peux bien créer un InputStream dessus
InputStream in=getResources().getAssets().open("databases/base.db");
Mais je ne vois pas quoi en faire après. Comment je fais pour la mettre dans /data/data/org...../databases ?
Déjà merci, j'ai bien avancé !
@+
Rémi
En fait c'est bon. Je teste si la base existe
sinon je la recopie à partir du InputStream directement dans le bon dossier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (getDatabasePath(DATABASE_NAME).exists())
Merci pour tout
@+
Rémi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager