Задать вопрос
@stilet2891

Не могу загрузить картинку Android

Сохраняю картинку с галереи в папку приложения при этом создаю в ней директорию. При попытке загрузить картинку по Url функция BitmapFactory.decodeStream() возвращает null.
Функция сохранения
private String saveImageToInternalStorage(Bitmap bitmapImage){
    ContextWrapper cw = new ContextWrapper(ProfileFragment.this.getActivity());

    File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);

    File carImagePath=new File(directory,"carImage.jpg");

    FileOutputStream fos = null;
    try {

        fos = new FileOutputStream(carImagePath);

        // Use the compress method on the BitMap object to write image to the OutputStream
        bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fos);

        fos.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return carImagePath.getAbsolutePath();
}


Функция загрузки
private Bitmap loadImageFromStorage(String path)
{

    if (path == null)
        return null;

    try {
        File f = new File(path, "carImage.jpg");
        Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
        return b;
    }
    catch (FileNotFoundException e)
    {
        e.printStackTrace();
        return null;
    }
}

Сохранение выполняется в отдельном потоке, принимая на вход BitMap, путь к картинке сохраняется в sharedpreferences.
class SaveImageTask extends AsyncTask<Bitmap, Void, String> {

    @Override
    protected String doInBackground(Bitmap... param)
    {

        return saveImageToInternalStorage(param[0]);
    }

    @Override
    protected void onPostExecute(String result)
    {
        super.onPostExecute(result);

        SharedPreferences sharedPrefLogin = ProfileFragment.this.getActivity().getSharedPreferences("TaxiPoltavaDriverLogin", Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPrefLogin.edit();
        editor.putString("carImage",result);
        editor.commit();

    }
}
  • Вопрос задан
  • 2380 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@stilet2891 Автор вопроса
Нашел решение сам)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы