All streams
Search
Write a publication
Pull to refresh
41
0
Сергей Шатунов @Prototik

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

Send message
Вообще, мне как веб-разработчику гораздо проще создать страничку с дизайном приложения, а поом уже перенести в андроид
Таки да, если намудрить со стилями, то получится совершенно некрасивое приложение с нечитабельным текстом. В таком случае проще найти замену приложению (ну или распаковать апк приложения и поставить стандартные стили)
'Веселый интерфейс' и нормальный гуи немного разные вещи
Да и в 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 });
}

Information

Rating
6,200-th
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Linux
Java
Kotlin
Android development