howimboe Posté(e) 22 septembre 2013 Share Posté(e) 22 septembre 2013 Bonjour à tous, de niveau intermédiaire sur Android, je développe une petite appli qui se sert d'une 50aine d'images de bonne qualité (environ 3mo/image, 1600x1200, jpg). J'ai regardé pas mal de temps comment gérer ces images. J'ai testé les Blob sur SQLite, ça marche super, sauf que ça n'a pas l'air glop pour des images >1mo (mes cursors ne fonctionnent pas). J'ai lu dans pas mal de tuto que l'idéal est de stocker ses images sur le externalStorage, et de sauver les chemins dans la database. Mes images sont stockées sur un site web mien, mais je souhaite que mon appli soit utilisable en mode non connecté. Cependant voila mon problème : je ne souhaite pas que tous le monde accède facilement aux images de ma DB et je ne veux pas que l'utilisateur les voit dans sa gallerie (de 1, c'est crade pour l'utilisateur, et de 2, je veux garder mes images :). Je vois 3 alternatives, mais je pense que c'est tordu : 1 - Internal storage : a priori, l'user moyen n'y a pas accès. Désavantage : 150mo de mémoire interne, ça craint.. 2 - un fichier pour tous les unir : arriver à faire un gros fichier qui concatène toutes les images à la queue leuleu. 3 - des zip de 10 images (j'ai besoin des images 10 par 10) (et 4 : augmenter la taille de Blob, en stockant la DB sur la carte SD?) Vous, vous faites/feriez comment? D'avance merci ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 septembre 2013 Share Posté(e) 23 septembre 2013 Bonjour, Ta question est à séparer en 2: - comment stocker efficacement une image volumineuse ? blob ou fichier externe à la bdd ? perso, j'opterai pour la deuxième solution (je ne connais pas l'efficacité de la gestion des blobs dans SQLite, mais j'aurais un à-priori négatif par rapport à cela) - comment sécuriser les accès aux images ? le plus simple, c'est de les stocker dans la mémoire interne, avec l'impact de la taille que cela prend (et c'est vrai, que le stockage soit fait dans des fichiers externes, ou dans des blobs); pour éviter cet impact sur l'espace mémoire utilisé dans la mémoire interne, tu peux les stocker dans la mémoire externe, et dans ce cas, une solution serait de chiffrer les images avant de les stocker, avec une clef que seule l'application connaît et qui serait stockée dans l'espace interne privé à l'appli (chiffrement nécessaire que les images soit stockées sous forme de fichier, ou dans des blobs de la bdd, car si celle-ci est sur l'espace externe, il serait très facile de la récupérer et d'en extraire les contenus) 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
howimboe Posté(e) 23 septembre 2013 Auteur Share Posté(e) 23 septembre 2013 En effet je pense que le chiffrage avec une clef en interne, c'est cool. Je vais chercher un pti tuto :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.