ankoの使い方
Androidのアプリ開発で、記述を簡素にできるankoというライブラリがあります。
今回は、そのankoについて書いていきます。
ankoのGitHubは
github.com
ankoとは
ankoは、Kotlinを作っているJetBrain社が開発しているAndroid開発をより簡単に行えるようにするためのライブラリです。
開発がJetBrain社なので、使うことの安心感は多少あると思います。
ankoの導入方法
Project Gradleに以下を追記 (バージョンは、Githubを参照)
buildscript { ext.anko_version='0.10.8' }
app Gradleに以下を追記
dependencies { implementation "org.jetbrains.anko:anko-commons:$anko_version" }
startActivity
Activityを始める時、intentを用意して、データをputして、startActivityを呼び出して、めんどくさいですよね。
そういう時はankoを使いましょう。
ankoを使えば、楽にActivityを始められます。
まずはankoなし
val intent = Intent(this,OtherActivity::class.java) startActivity(intent)
これが
ankoありだと
startActivity<OtherActivity>()
こうなる。
データを渡すとなると
ankoなしだと
val intent = Intent(this,OtherActivity::class.java) intent.putExtra("item_name","item") startActivity(intent)
これが
ankoありだと
startActivity<OtherActivity>("item" to "item_name")
これだけ。
データを渡し、さらに、flagを立てるとなると、
ankoなしだと
val intent = Intent(this,OtherActivity::class.java) intent.putExtra("item_name","item") intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP startActivity(intent)
これが
ankoありだと
startActivity(intentFor<OtherActivity>("item" to "item_name").singleTop())
ここまで簡単になる。
データを複数渡す場合も、「,」で区切ればOK。
Toast
開発をしているとよく使う機能の一つがToastだろう。
しかし、この機能の最大の落とし穴が
.show()
をつけ忘れることだと思う。
(この前あった、モバイルアプリ開発者あるあるLTでもあった)
なんと、ankoを使うと、Toastを簡単に記述できる上に、show()つけ忘れ問題も解決する。
まずはankoなし
Toast.makeText(this,"Text",Toast.LENGTH_SHORT).show()
これが
ankoあり
toast("text")
これだけになる
長い表示時間の場合は
longToast("text")
でOK。
これで、show()をつけ忘れることもなく、contextをいちいち渡す必要もなくなった。
おわりに
ankoとても便利だと思います。
他にもまだまだ便利に使えることもあります。
次回、共有周りのめんどくさい記述をめちゃくちゃ簡単にできる方法をまとめます。