Intereting Posts
PreferenceActivity, проверяющая ввод пользователя и отображение сообщений об ошибках Android: id, что является плюсом для Предпочтения Android, похоже, игнорируют setDefaultValue Могу ли я использовать Wi-Fi для передачи данных / сообщений между двумя телефонами Android, не подключенными к маршрутизатору? Как изменить цвет перетаскивания списка «конец прокрутки»? Javax.net.ssl.SSLException с Facebook SDK, Android Android MapActivity: не удалось получить соединение с заводским клиентом Как синхронизировать базу данных Android с онлайн-сервером SQL? Автоматически отправлять электронную почту Странная проблема с производительностью Galaxy Tab Навигационный ящик – макет ящика не может быть создан Android: JNI ERROR (ошибка приложения): переполнение локального справочного стола (max = 512) Обнаружение сбоя службы Получить текущую яркость экрана Как конкатенировать несколько строк в XML-андроиде?

Проблема при переходе через папку с ресурсами :(

У меня есть вложенная папка в папке «Активы», называемая образами, где я храню свои изображения (конечно) 🙂 Дело в том, что я хочу получить имя для изображений, которые получаю, но проблема в том, что я тоже получаю другие Неизвестные имена вроде: «android-logo-mask.png», которые, я думаю, являются изображениями по умолчанию для Android. Есть ли способ, которым я могу пропустить эти «изображения по умолчанию для Android», чтобы получить только имена моих изображений? Мой план состоит в том, чтобы сохранить эти имена в базе данных, чтобы использовать их в качестве ссылки для показа изображений позже в ImageView. Является ли хорошей идеей использовать имя изображения для отображения изображений? Вот вам какой-то код:

Context context; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); context = this.getApplicationContext(); ImageHelper i = new ImageHelper(); i.readImages(context); } public class ImageHelper { public ImageHelper(){} public void readImages(Context context){ AssetManager am = context.getAssets(); try { String[] getImages = am.list("images"); for(String imgName : getImages){ Log.e("IMAGE NAME----->", imgName); } } catch (IOException e) { e.printStackTrace(); } } } 

Заранее спасибо.

Используйте другое имя для папки с изображениями, например «MyImages». Тогда он должен хорошо работать.

"images" должны быть такими, как "/path/assets/images/image.png"

Если происходит, что система добавляет файлы в эту папку «images», почему бы не создать новую папку для ваших изображений, в которой вы обязательно будете содержать только ваши файлы?

Это очень интересно. Даже если у вас нет каталога ресурсов / изображений, когда вы используете:

 myImageList = Arrays.asList(getResources().getAssets().list("images")); 

Вы увидите андроид-logo-mask.png и android-logo-shine.png, перечисленные в результатах.

Это заставило меня задуматься над тем, где эти фактические файлы изображений живут в коде Android. Я вообще не знаю базу кода, но:

https://android.googlesource.com/platform/frameworks/base/+/master/core/res/assets/images/

Перечисляет эти два в каталоге ресурсов под res . (В отличие от каталога ресурсов, в котором хранятся мои активы проекта, это не подлежит восстановлению).

Требование предоставить путь к отдельному файлу для метода list AssetManagers (который возвращает массив ) просто не имеет никакого смысла. И в документации по методу написано:

Возвращает массив String всех активов по заданному пути.

Это заставляет меня задаться вопросом, есть ли ошибка в методе списка, или если была какая-то другая причина, она была предназначена для возврата определенных системных активов, когда требуется список активов.

Аналогичным образом, если я использую:

 myAssetList = Arrays.asList(getResources().getAssets().list("")); 

Я вижу «звуки» и «вебкит», которые не соответствуют ни одному существующему подкаталогу моих активов.