欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-14 23:09:35
...

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<SecondActivity>("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()

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

参考: