Я разрабатываю приложение для своей тети ie: приложение отображает рецепты в виде карточек внутри представления Recycler, данные поступают из базы данных SQLite.
На данный момент изображения просто статичны. c внутри @drawable / ... Я читал, что папка «@drawable» скомпилирована в apk и недоступна постфактум. Следовательно, необходимо хранить изображения извне.
В БД хранятся имена файлов.
На карте отображается основная c информация, при щелчке по карте открывается другое действие, отображающее полную информацию.
Все работает отлично ИСКЛЮЧАЯ
Я, очевидно, хочу, чтобы она могла загружать картинки и добавлять информацию, картинки будут храниться в: "/ sdcard / Pictures / Recipes / "
Я использую Glide в соответствии с рекомендациями, однако Glide выдает следующую ошибку:
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There were 3 causes:
java.io.FileNotFoundException(/sdcard/Pictures/Recipes/carrot_cake.jpg: open failed: EFAULT (Bad address))
java.io.FileNotFoundException(open failed: EFAULT (Bad address))
java.io.FileNotFoundException(open failed: EFAULT (Bad address))...
Если я использую следующий код:
String image = "/sdcard/Pictures/Recipes/carrot_cake.jpg"; // hard coded for example
File file = new File( image );
if( file.exists() && file.canRead() )
{
Log.d( TAG, "File exists" );
Glide.with( context ).load( image ).into( foodImage ); // foodImage = ImageView
}
В журнале отображается "Файл существует", однако Glide не загружается и сообщает об упомянутой выше ошибке.