2011-08-09 5 views
1

Je travaille sur une application qui contiendra des tonnes de graphiques .... Sa taille approximative sera de 80 Mo. L'application va télécharger les graphiques (cartes de vœux au format png en fait) au premier démarrage du service web.Le problème que je suis confronté est celui où enregistrer ces graphiques (cartes de voeux) et comment? Que ce soit pour les enregistrer en mémoire interne ou carte SD ou SQLite .... Mes questions sontOù et comment stocker des images png en android Application

  1. Comment les stocker dans différents dossiers en fonction de leurs catégories.
  2. Comment les mettre à jour.
  3. Comment les récupérer/y accéder.

    Toutes les informations de ces images seront en SQLite. Veuillez également me montrer du code.

Répondre

1

Réponses ci-dessous. Pour le code, vous devriez rechercher cet endroit et essayer quelques choses et revenir si cela ne fonctionne pas.

  1. Depuis la taille est de 80 Mo, je vous recommande de stocker dans le stockage externe. Vous pouvez créer une structure de répertoire et y stocker chaque catégorie.
  2. Vous devez accorder l'autorisation WRITE_EXTERNAL_STORAGE à votre application, puis vous pouvez lire/écrire/supprimer/mettre à jour votre png.
  3. L'opération de fichier simple peut être utilisée pour récupérer/accéder à l'image. Dans SQLite, vous pouvez stocker le chemin des images.
0
  1. Tout dépend de la façon dont vous souhaitez structurer votre stockage. Si l'utilisateur peut créer des catégories, stockez les fichiers utilisateurs associés à category1 dans un dossier appelé category1.
  2. En les mettant à jour, il s'agirait de comparer le fichier nouvellement téléchargé à vos informations dans la base de données, ou au fichier lui-même, et de le remplacer si nécessaire. Ou tout d'abord, comparez votre fichier sur le disque au fichier à partir du Web, et mettez à jour si nécessaire.
  3. Vous pouvez utiliser un HttpClient pour récupérer/accéder à partir du Web, et peut-être l'Android ContentManager pour les stocker/récupérer du téléphone. Vous stockez le chemin d'accès à l'image dans Sqlite

En ce qui concerne le code, vous trouverez à peine quelqu'un ici qui va vous donner le codez. StackOverflow est pour quand vous êtes perplexe et avez besoin d'aide.

Google:

android httpclient
android sqlite
fournisseur de contenu Android

1

Utilisez le code ci-dessous.

public class ImageDownload { 

    public static void downloader(String imageURL, String fileName) { 
      try { 
        URL url = new URL("http://www.exampleurl.com/" + imageURL); 
        File file = new File(fileName); 


        URLConnection con = url.openConnection(); 

        InputStream is = con.getInputStream(); 
        BufferedInputStream bis = new BufferedInputStream(is); 

        ByteArrayBuffer baf = new ByteArrayBuffer(50); 
        int current = 0; 
        while ((current = bis.read()) != -1) { 
          baf.append((byte) current); 
        } 

        FileOutputStream fos = new FileOutputStream(file); 
        fos.write(baf.toByteArray()); 
        fos.close(); 

      } catch (IOException e) { 
        Log.d("Downloader", "Error: " + e); 
      } 

    } 
    } 
Questions connexes