Обновить
41
Сергей Шатунов@Prototik

JVM Backend разработчик

11
Подписчики
Отправить сообщение
'Веселый интерфейс' и нормальный гуи немного разные вещи
Да и в WP7 врядли что-то изменилось
Вы там в калькуляторе что-ли работаете? Во всех современных IDE есть такая хорошая функция, как автодополнение кода
Можно было пройтись обфускатором, скомпилить xml в бинарный вид, запаковать в tar.gz.bz2 и оставить тему с текстом 'вот вам архив, копайте'.
Но это не хабра-вей
Да, для любых View, только вне пределах Context нельзя будет изменить тему, они берут ее из активити (если она была передана как Context) или из приложения (если было послано приложение в Context).
Ну само хранение скинов есть статья Создаем модульное приложение (искать лень), а смена скинов — метод setTheme(int theme) для активити и getApplicationContext().setTheme(int theme) для всего приложения, в чем проблемы?
Да и кажется там стили создаются не так элегантно, как в Андроиде. (сори, винмобайл со внутренней стороны вообще невидел, могу и ошибаться)
Ну это проблемы винмобайл:)
Пожалуйста:)
Тут при любом исключении требуется только одно — ничего не делать
То-есть для каждого ImageView класс ImageDownloader создается новый? Нехорошо конечно…
Опять же, этот класс я использую для элементов списка, метод fetchImage может вызываться несколько раз для одной и того-же ImageView, Vector создан исключительно для этого
Дальше код посмотрите:

if (bitmap == null) {
file.delete();
}

Тоесть если нет никакой картинки — удаляем
Ой, третий пункт это четвертый, а четвертый это пятый.
3. Иконки в проекте разделены на несколько групп, одни не меняются годами, другие раз в месяц, остальные вообще динамическиее. Поэтому все указывается в секундах
1. Просто класс используется в приложении, которое отказывается запускаться без карты памяти, поэтому я не вводил проверку на существование карты памяти, а делается это двумя строчками ровно.
2. В основном используюю класс для иконок в ListView, и там таки размеры уж точно не нужны.
3. При таймауте должно выбить Exception и класс удалит файл кеша, если оный имеется.
4. Ну тут согласен
Тут дело не в картинках, а как я привел пример в статье: для ListView метод будет вызываться несколько раз для одного и того-же ImageView, соответственно будет плодится куча потоков с загрузкой одной и той же картинки
извиняюсь, в комменте вышло некрасиво, исправил в статье
public void fetchImage(final Activity activity, final int cacheTime, final String url, final ImageView iView) {
if (iView != null) {
if (findObject(iView)) {
return;
}
downloaded.add(iView);
}
new AsyncTask<String, Void, Bitmap>() {
protected Bitmap doInBackground(String... iUrl) {
return downloadImage(activity, cacheTime, iUrl[0], iView);
}
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
if (iView != null) {
iView.setImageBitmap(result);
}
}
}.execute(new String[] { url });
}
Достаточно Context
если настаиваете — могу и переписать под AsyncTask, таки он удобнее, соглашусь

Информация

В рейтинге
Не участвует
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Linux
Java
Kotlin
Разработка под Android