Size: a a a

Android Developers

2020 January 08

n

neikist in Android Developers
Задание: реализовать приложение-тренажер, обучающее людей правильно определять время на часах со стрелками.

Весь процесс происходи в рамках одного экрана (Activity):
- Ориентация экрана фиксированная, портретная;
- В верхней части экрана циферблат часов с двумя стрелками: часовой и минутной. По кругу шкала делений часов и минут. Также по кругу идут цифры от 1 до 12;
- Под циферблатом область для сообщений, изначально в ней написано "Переведи стрелки часов на:";
- Под областью сообщений большая область с текстовым отображением времени, изначально в ней "12:00";
- Под областью отображения времени кнопка сабмита, с текстом "✓" например.

Стрелки на циферблате должны быть интерактивными, т.е. обе стрелки независимо можно вращать пальцем вокруг центра циферблата.

После нажатия кнопки сабмита приложение анализирует положение стрелок и определяет совпадает ли оно с текстовым отображением внизу. Если совпадает, то в области сообщений выводится сообщение "Верно". Если не совпадает - "Неверно, попробуй еще раз".

В случае верного ответа, через 5 секунд в область текстового отображения времени случайным образом выводится новое значение, а текст в области сообщений заменяется на исходный "Переведи стрелки часов на:".

И так далее, число итераций неограничено.

Дополнительный функционал: меню, звуки, текстуры и пр. - по желанию.
источник

n

neikist in Android Developers
Per Duck Bomb a Null
Господа, у кого-то есть примеры тестовых заданий джуновских? Был бы очень признателен
Вот недавно человек скидывал
источник

PB

Per Duck Bomb a Null in Android Developers
спасибо
источник

Н

Никита ✓ in Android Developers
Ребят. Такой странный баг.
Есть RV с разными viewtypes.
Один из ViewTypes - ViewHolder у которого есть Recyclerview c GridLayoutManager.
Всё работает хорошо, но когда приходит с бэка один айтем этого вьютайпа с одним айтемом для списка, то начинается магия и он начинает отрабатывать через раз. То покажет нормально, то метод onBindViewHolder отработает у парента, а чайлд айтем не засетится.
источник

YN

Yerlan Nurakhmetov in Android Developers
neikist
Задание: реализовать приложение-тренажер, обучающее людей правильно определять время на часах со стрелками.

Весь процесс происходи в рамках одного экрана (Activity):
- Ориентация экрана фиксированная, портретная;
- В верхней части экрана циферблат часов с двумя стрелками: часовой и минутной. По кругу шкала делений часов и минут. Также по кругу идут цифры от 1 до 12;
- Под циферблатом область для сообщений, изначально в ней написано "Переведи стрелки часов на:";
- Под областью сообщений большая область с текстовым отображением времени, изначально в ней "12:00";
- Под областью отображения времени кнопка сабмита, с текстом "✓" например.

Стрелки на циферблате должны быть интерактивными, т.е. обе стрелки независимо можно вращать пальцем вокруг центра циферблата.

После нажатия кнопки сабмита приложение анализирует положение стрелок и определяет совпадает ли оно с текстовым отображением внизу. Если совпадает, то в области сообщений выводится сообщение "Верно". Если не совпадает - "Неверно, попробуй еще раз".

В случае верного ответа, через 5 секунд в область текстового отображения времени случайным образом выводится новое значение, а текст в области сообщений заменяется на исходный "Переведи стрелки часов на:".

И так далее, число итераций неограничено.

Дополнительный функционал: меню, звуки, текстуры и пр. - по желанию.
я думаю отрисовка интерактивного циферблата уже на миддла тянет о_О
источник

n

neikist in Android Developers
Yerlan Nurakhmetov
я думаю отрисовка интерактивного циферблата уже на миддла тянет о_О
Не, я проверял. Сделал за вечер при том что еще джун. Не полностью задание, а простенький циферблатик.
источник

YN

Yerlan Nurakhmetov in Android Developers
neikist
Не, я проверял. Сделал за вечер при том что еще джун. Не полностью задание, а простенький циферблатик.
canvas'ом?
источник

n

neikist in Android Developers
Yerlan Nurakhmetov
canvas'ом?
Ну да. Там довольно просто все если не заморачиваться с кастомизацией через атрибуты и обрабатывать только простые случаи разметки. Я даже на гитхаб выложил, можешь по моему никнейму найти.
источник

v

vl_pvm in Android Developers
neikist
Ну да. Там довольно просто все если не заморачиваться с кастомизацией через атрибуты и обрабатывать только простые случаи разметки. Я даже на гитхаб выложил, можешь по моему никнейму найти.
Посмотрел ваш код, почти библиотеку написали за вечер, респект.
Но кажись можно проще нарисовать циферблат часов: ConstraintLayout поддерживает размещение элементов по окружности (цифры 1..12), а стрелки простая ImageView с прозрачным фоном, перемещение которых делать простым поворотом.
Не?
источник

n

neikist in Android Developers
vl_pvm
Посмотрел ваш код, почти библиотеку написали за вечер, респект.
Но кажись можно проще нарисовать циферблат часов: ConstraintLayout поддерживает размещение элементов по окружности (цифры 1..12), а стрелки простая ImageView с прозрачным фоном, перемещение которых делать простым поворотом.
Не?
Само собой. Просто поиграться с канвасом хотелось))
источник

v

vl_pvm in Android Developers
В итоге все сделать простой разметкой xml
источник

v

vl_pvm in Android Developers
Ясно
источник

n

neikist in Android Developers
vl_pvm
В итоге все сделать простой разметкой xml
Ну способ не суть. Факт в том что вполне для джуна
источник

М

Мухаммад Безмолвный in Android Developers
Можно ли через технологию Flutter/Dart писать приложения, ни чем не уступающие тем, которые написаны посредством Java/Kotlin?
источник

М

Мухаммад Безмолвный in Android Developers
Или это будут относительно простыми приложениями?
источник

n

neikist in Android Developers
Мухаммад Безмолвный
Можно ли через технологию Flutter/Dart писать приложения, ни чем не уступающие тем, которые написаны посредством Java/Kotlin?
Натив все равно нужно будет знать для написания плагинов, не все библиотеками готовыми решается, да и в случае проблем придется разбираться.
источник

Н

Никита ✓ in Android Developers
Мухаммад Безмолвный
Можно ли через технологию Flutter/Dart писать приложения, ни чем не уступающие тем, которые написаны посредством Java/Kotlin?
На сегодняшний день - нельзя. Имхо. Видел проекты которые писались на флаттере по пол года, а на выходе - еле работающее, лагающее при простых проскроллах списков говно
источник

YK

Yuri Korshev in Android Developers
Народ, если при скролле recycler view тормозит на девайсе но не тормозит в эмуляторе, то проблемка в девайсе или в оптимизации кода? Inflate занимает 150 мс, байндинг вью 60-80. Лейаут сложный
источник

АС

Александр Сергеевич in Android Developers
Как сделать чтобы нижняя черта у EditText начиналась после drawable?
источник

❄S

❄️🎄 Artem Shirokov 🎄❄️ in Android Developers
Александр Сергеевич
Как сделать чтобы нижняя черта у EditText начиналась после drawable?
убрать стандартную и нарисовать самому?
источник