Anko Commons Tutorial — у разработчиков Kotlin есть один мало используемый, очень недооцененный проект. Он носит имя Anko и включает в себя множество подсобных утилит и функций, а в том числе превосходный DSL (язык в языке), позволяющий с комфортом описывать интерфейс без XML и ломания мозга (автор статьи с его помощью написал вполне успешное приложение).
Рекомендуем: Инструменты Android-разработчика
Эта небольшая статья посвящена только части Anko Commons, своего рода сборнику быстрых инструментов для Android-разработчиков. Ну и сразу несколько примеров.
Как запустить активность со сложным интентом? Так?
1 2 3 4 5 6 7 8 |
val intent = Intent(this, AnimeDetailActivity::class.java) intent.putExtra("TITLE_KEY", anime.name) intent.putExtra("DESCRIPTION_KEY", anime.description) intent.putExtra("IMDB_LINK_KEY", anime.imdbLink) intent.putExtra("IMAGE_KEY", anime.imageDrawable) startActivity(intent) |
Слишком увесисто, нам нужен Anko:
1 2 3 4 5 6 7 8 |
private fun openDetailActivity(anime: Anime) { startActivity<AnimeDetailActivity>( "TITLE_KEY" to anime.name, "DESCRIPTION_KEY" to anime.description, "IMDB_LINK_KEY" to anime.imdbLink, "IMAGE_KEY" to anime.imageDrawable ) } |
Да какое там, если весь интент состоит из имени класса, то можно вообще сделать так:
1 |
startActivity<AboutActivity>() |
А как насчет позвонить?
1 |
makeCall(002) |
Отправить СМС:
1 |
sendSMS(номер, текст) |
Ну и наши любимые сообщения:
1 |
toast("Я сообщение") |
Диалоговое окно?
1 |
alert("message", "title").show() |
Конечно же, его можно расширить, добавить кнопок и прочее.
То же самое с селекторами, прогресс-барами и много чем еще. Вообще, статья отлично иллюстрирует, как ужать код среднестатистического приложения раза этак в три.
Вам может быть интересно: Как устроена операционная система Андроид