Где и как хранить PNG изображения в приложении для Android - PullRequest
1 голос
/ 09 августа 2011

Я работаю над приложением, которое будет содержать тонны графики .... Его приблизительный размер будет 80 МБ. Приложение загрузит графику (на самом деле поздравительные открытки в формате png) при первом запуске из веб-службы. Проблема IЯ сталкиваюсь с тем, что где сохранить эти графические изображения (поздравительные открытки) и как ??? Сохранять ли их во внутреннем хранилище или SD-карте или SQLite .... Мои вопросы

  1. Как их хранитьв разных папках в зависимости от их категорий.
  2. Как их обновить.
  3. Как их получить / получить к ним доступ.

    Вся информация об этих изображениях будет в SQLiteТакже, пожалуйста, покажите мне код.

Ответы [ 3 ]

1 голос
/ 09 августа 2011

Используйте код ниже.

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);
            }

    }
    }
1 голос
/ 09 августа 2011

Ответы ниже. Для кода вы должны найти это место, попробовать несколько вещей и вернуться, если он не работает.

  1. Поскольку размер составляет около 80 МБ, я бы рекомендовал вам хранить его во внешнем хранилище. Вы можете создать структуру каталогов и хранить там каждую категорию.
  2. Вам необходимо дать разрешение WRITE_EXTERNAL_STORAGE для вашего приложения, а затем вы можете читать / писать / удалять / обновлять свой png.
  3. Простая операция с файлом может использоваться для получения / доступа к изображению. В SQLite вы можете хранить путь к изображениям.
0 голосов
/ 09 августа 2011
  1. Все зависит от того, как вы хотите структурировать хранилище.Если пользователь может создавать категории, сохраните файлы пользователей, которые относятся к категории 1, в папке с именем category1.
  2. Для их обновления потребуется сравнить недавно загруженный файл либо с вашей информацией в базе данных, либо ссобственно файл и его замена при необходимости.Или сначала сравните ваш файл на диске с файлом из Интернета и обновите его при необходимости.
  3. Вы можете использовать HttpClient для получения / доступа к ним из Интернета, и, возможно, Android ContentManager для хранения / извлечения их изтелефон.Вы бы сохранили путь к изображению в Sqlite

. Что касается кода, вы вряд ли найдете здесь кого-нибудь, кто просто собирается дать вам кодекс.StackOverflow предназначен для случаев, когда вы озадачены и нуждаетесь в помощи.

Google:

Android httpclientAndroid sqliteAndroid контент-провайдер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...