Полезное для Android разработчика #2 (http://habrahabr.ru/post/217517/)
Этот топик читают: Гость
Ответов: 194
Рейтинг: 2
|
|||
карма: 0 |
| ||
Голосовали: | Netspirit, sаmakacd |
Ответов: 1821
Рейтинг: 168
|
|||
lisnic, по поводу Android Universal Image Loader. Это как раз разрабатывается сейчас, причём без всяких сторонних библиотек, а на стандартных классах Android.
Вот, что интересно, это Staggered GridView. Я-то думаю, как разработчики Google Keep сделали главный экран приложения. Вроде, Grid, но не Grid Crop тоже можно добавить, но в нём пока нет особой необходимости. Flip не подходит. Он несовместим со старыми (<= 2.3) версиями Android. Вроде, есть стандартное решение |
|||
карма: 5 |
|
Ответов: 163
Рейтинг: 33
|
|||
А у меня у одного проблемы с сообщением о бесконечной рекурсии в компоненте hiHub? Сообщение возникает редко, при этом никакой рекурсии нет. Установить причину не удается, так как при попытке вынести проблемный участок схемы в отдельный проект проблема уходит. Однажды сообщение перестало появляться просто после удаления проблемного участка схемы и последующей отмены этого действия. Но чаще всего приходиться долго плясать с бубном, вставляя в схему костыли. В основном проблема замечена когда с выхода onTimer компонента hiTimer связь подается через хаб на его же вход doStop. Повторюсь, это происходит не всегда, а очень редко. Такое впечатление, что кодогенератор "думает", что doStop должно привести к событию onTimer. Вчера проблему вызвал уже мой компонент (здесь не выложенный). Не стал больше мучаться, закомментировал в hiHub соответствующие строки, все и компилируется и работает нормально. Вообще по-моему за рекурсией должен следить программист, а не среда.
|
|||
карма: 3 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 9 раз(а), последний 2022-09-18 15:30:42 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
GreM, в Hub добавлен такой контроль, ибо существует комбинация, при которой HiAsm уходит в безусловную рекурсию. На хабе это наиболее хорошо заметно, а именно:
- имеется хаб с несколькими входами и одним и более выходов - подключить, например, кнопку к первому входу - подключить любой из выходов хаба к любому другому входу - скомпилировать, получим сообщение о недопустимости такого соединения. Теперь если в хабе убрать этот контроль, при компиляции HiAsm вырубится. Более универсально определение проблемы: если у компонента есть несколько методов, которые вызывают одно и то же событие, то недопустимо из этого события вызывать любой из этих методов. Это справедливо даже если к событию подключено любое количество других компонентов, при условии, что в этих компонентах метод вызывает событие напрямую. То-есть, такую защиту, как у хаба, придется ставить и в другие компоненты. Или зашить прямо в кодогенератор. Ошибка не возникает (точнее, возникает редко), когда событие генерируется в методе Init() компонента (характерно для визуальных компонентов, и других, в которых "событие" возникает из системы, а не как реакция на вызов метода компонента). Пример кода, приводящего к ошибке:
Ошибка может исчезать при перестановке компонентов. Я пока конкретно с этим не сталкивался, но ясно, что порядок инициализации компонентов влияет на порядок вызова методов-событий и может приводить к вполне работоспособным комбинациям. |
|||
карма: 26 |
| ||
Голосовали: | GreM |
Ответов: 163
Рейтинг: 33
|
|||
Спасибо за разъяснения. И коль уж речь о хабах, хочется спросить про HubEx ("суммирующий", который "точка"). Планируется ли оборачивание в функцию части схемы, следующей за ним?
|
|||
карма: 3 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Пока не задумывался об этом. Я не знаю, можно ли вообще добавить FTCG код для него.
По поводу создания функции, то это нужно и для обычного сделать. Только есть трудность с передачей данных из потока на событие. |
|||
карма: 26 |
|
Ответов: 6
Рейтинг: 0
|
|||
Начал писать приложение, параллельно вспоминать программирование и не могу разобраться каким способом лучше всего на форме отобразить небольшую таблицу с числовыми данными в два столбца и 15 строк. Сами данные не изменяются. Подскажите, плз.
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Если количество строк фиксированное - можно использовать LayoutTable и вручную расставленные TextView. А так компонент "Таблица" пока не реализован.
|
|||
карма: 26 |
|
Ответов: 6
Рейтинг: 0
|
|||
Netspirit писал(а): LayoutTable и вручную расставленные TextViewХотел попробовать вариант через WebWiev и Memori, но свойство Default для Memori недоступно (выдаётся ошибка доступа). В чём может быть дело? |
|||
карма: 0 |
|
Ответов: 166
Рейтинг: 5
|
|||
Не подскажете как сделать так чтобы при нажатии на кнопку происходило одно событие, а при отпускании другое. Чет никак не могу разобраться.
|
|||
карма: 1 |
|
Ответов: 194
Рейтинг: 2
|
|||
Надо создать отдельную тему: "HELP для Android"
|
|||
карма: 0 |
|
Ответов: 163
Рейтинг: 33
|
|||
А не перевести ли hiTimer на handler и отложенные сообщения? Например, [удалено]. Это должно быть менее ресурсоемко.
|
|||
карма: 3 |
| ||
Голосовали: | sаmakacd |
Ответов: 1821
Рейтинг: 168
|
|||
GreM, а не будет ли возникать задержка перед итерацией? У меня, когда я изучал Handler'ы и Messages, возникала задержка до 10 мс
|
|||
карма: 5 |
|
Ответов: 163
Рейтинг: 33
|
|||
Будет. Более того, она будет не предсказуема. Однако для точной выдержки таких малых интервалов надо использовать что-то специфическое. А Timer/TimerTask к такой задержке не приводит?
|
|||
карма: 3 |
|