利用Kotlin中的Anko简化Android开发(一)

Anko是一个方便你用Kotlin时简化Android开发的一个库,分为4个部分:

  • Commons
  • Layouts
  • SQLite
  • Coroutines

今天就来了解下第一个常规部分的,首先在项目中添加必要的依赖

compile "org.jetbrains.anko:anko:$anko_version"

或者你可以针对第一个添加单独的依赖

compile "org.jetbrains.anko:anko-commons:$anko_version"

点击事件

java中的写法

button.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        ...
      }
    });

Kotlin中的基本写法

button.setOnClickListener(object :View.OnClickListener{
            override fun onClick(v: View?) {
                ...
            }
        })

但是可以转化为lambda表达

button.setOnClickListener { ... }

利用Anko可以达到

button.onClick { ... }

Intent

    //java
    Intent intent=new Intent(this,SecondActivity.class);
    //kotlin
    val intent=Intent(this,SecondActivity::class.java)
    //下面没什么区别
    intent.putExtra("id",666);
    intent.putExtra("name","John");
    startActivity(intent);

利用Anko

startActivity("id" to 666, "name" to "John")

当然,打开浏览器,分享,发邮件的intent也为我们准备好了

browse("https://makery.co")
share("share", "subject")
email("[email protected]", "Great app idea", "potato")

Toast

java/kotlin

Toast.makeText(this,"这是一个比较长的toast",Toast.LENGTH_SHORT).show();

anko

toast("Hi there!")
toast(R.string.message)
longToast("Wow, such a duration")

对话框

kotlin

val builder = AlertDialog.Builder(this)
builder.setTitle("Warning")
builder.setMessage("Kotlin is so fresh!")
builder.setPositiveButton("OK") { dialog, which -> toast("Yay!") }
builder.setNegativeButton("Cancel") { dialog, which -> toast("What?") }
builder.show()

anko

alert("Kotlin is so fresh!", "Warning") {
    positiveButton("确定") { toast("点击了确定") }
   negativeButton("取消") { toast("点击了取消") }
}.show()

第一篇大概就说到这吧,下一篇我们...不好意思,没有了。

参考:
  • Why every Android developer should use Anko
  • Kotlin/anko wiki

你可能感兴趣的:(利用Kotlin中的Anko简化Android开发(一))