Anko Commons Tutorial - у разработчиков Kotlin есь один мало используемый, но очень недооцененный проект. Он носит имя Anko и в ключает в себя множество различных подсобных утилит и функций, а в том числе превосходный DSL (язык в языке), позволяющий с комфортом описывать интерфейс без XML и ломания мозга (я с его помощью написал вполне успешное приложение).
Эта часть статьи посвящена только части Anko Commons, своего рода сборнику быстрых инструментов для Android-разработчиков. Ну и сразу несколько примеров:
Как запустить активность со сложным интентом? Так?
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:
private fun openDetailActivity(anime: Anime) {
startActivity(
"TITLE_KEY" to anime.name,
"DESCRIPTION_KEY" to anime.description,
"IMDB_LINK_KEY" to anime.imdbLink,
"IMAGE_KEY" to anime.imageDrawable
)
}
Да какой там, если весь интент состоит из имени класса то можно вообще сделать так:
startActivity()
А как насчет позвонить?
makeCall(002)
Отправить СМС:
sendSMS(номер, текст)
Ну и наши любимые сообщения:
toast("Я сообщение")
Диалоговое окно?
alert("message", "title").show()
Конечно же его можно расширить, добавить кнопок и т.д.
То же самое с селектороами, прогрессбарами и много чем еще. Вообще, статья отлично иллюстрирует как ужать код среднестатистического приложения раза этак в три.
Эта часть статьи посвящена только части Anko Commons, своего рода сборнику быстрых инструментов для Android-разработчиков. Ну и сразу несколько примеров:
Как запустить активность со сложным интентом? Так?
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:
private fun openDetailActivity(anime: Anime) {
startActivity(
"TITLE_KEY" to anime.name,
"DESCRIPTION_KEY" to anime.description,
"IMDB_LINK_KEY" to anime.imdbLink,
"IMAGE_KEY" to anime.imageDrawable
)
}
Да какой там, если весь интент состоит из имени класса то можно вообще сделать так:
startActivity()
А как насчет позвонить?
makeCall(002)
Отправить СМС:
sendSMS(номер, текст)
Ну и наши любимые сообщения:
toast("Я сообщение")
Диалоговое окно?
alert("message", "title").show()
Конечно же его можно расширить, добавить кнопок и т.д.
То же самое с селектороами, прогрессбарами и много чем еще. Вообще, статья отлично иллюстрирует как ужать код среднестатистического приложения раза этак в три.