Smartway для реализации медиа в Android
Я работаю над приложением для Android, где медиа(аудио/видео/изображения) могут храниться как внутри, так и снаружи. Я столкнусь со следующими сценариями
Случай I Настройка динамических изображений из случайного значения, транслируемого приложением. Прямо сейчас я управляю им как
if(rowData.strName.equals("football")){
imageView.setImageResource(R.drawable.football);
}else if(rowData.strName.equals("chess")){
imageView.setImageResource(R.drawable.chess);
Проблема на данный момент у меня мало записей, поэтому управление циклом else if
не вызывает большой головной боли, но позже это может оказаться так.
Случай II
Загрузка носитель из интернета, сохраняя его во внешнем хранилище и загружая его на imageview
как при необходимости
Проблема в случае, если изображение уже загружено (приложение отслеживает загруженное изображение), пользователь извлекает карту, после чего я планирую использовать
try{
}catch(FileNotFoundException e){
imageView.setImageResource(R.drawable.no_media);//media from the app
}
Случай III
Я буду иметь listView
категории.Каждая категория содержит определенные названия подкатегорий, их изображения(встроенные и загружаемые извне) и их описание.Каждая подкатегория имеет подзаписи с каждой записью, имеющей свое собственное изображение (встроенное и загружаемое извне), описание и мультимедийные файлы(как аудио, так и видео).
Я путаюсь в том, какой Collection
класс я должен использовать для этого случая и с чего начать? Для получения данных с сервера (онлайн) я планирую использовать XMLParsing
. Пожалуйста, предложите мне лучший способ решить эту проблему.
1 ответ:
Вау! Это действительно три вопроса. Если бы только я мог получить три раза повторение:)
Случай I
Используйте карту для хранения и извлечения материалов. Экономит время на написании множества
if/else
утверждений.Map<String,Integer> drawableMap = new HashMap<String,Integer>(); drawableMap.put("football", R.drawable.football); // Then later to retrieve... imageView.setImageResource(drawableMap.get("football"));
Случай II
Хорошо, это кажется прекрасным. Хотя для большей части загрузки изображений я использую существующие библиотеки, такие какUniversal Image Loader илиVolley . Они могут сделать то, что вам нужно, я не уверен.
Кейс III
Я бы взял ОО подход и соответствующую модель данных. Вам не нужно выбирать класс "a"
Collection
для использования. Создайте классCategory
. Создайте классSubCategory
. У классаCategory
есть подкатегории и т. д. Возьмите его оттуда.Синтаксический анализ XML-это прекрасно,я не уверен, что вы ожидаете, что вам предложат. Вы также можете рассмотреть JSON, популярный формат данных.