Kotlin练手,以登录为例,Anko简单使用

简介: Kotlin练手,以登录为例,Anko简单使用

image.png


在Kotlin还不是正房的时候就听说过了,除了Java之外也能开发Android APP的一种语言,小众到鲜为人知,甚至介绍都不多。但是在谷歌大会宣布kotlin为官方语言之后,铺天盖地的都是关于kotlin的介绍和语法简介,出身豪门等等。

后来,J神也离开了Square去了Google,而且是Kotlin项目组。

到最近Kotlin1.2版本发布又是一波大范围的推送,而且在GitHub的排名也不断上升。

Google一系列的动作都在加快Kotlin在Android领域取代Java的速度。甚至还有跨平台的骚操作。。


Kotlin官方文档(英文版)

Kotlin官方文档(中文版)

Anko——JetBrains开发的一个强大的库


以登录为例,小小练手

package com.yechaoa.kotlinforlogin
import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import android.util.Log
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_login.*
import org.jetbrains.anko.*
// : 表示继承,类型声明等
class LoginActivity : AppCompatActivity(), AnkoLogger {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)
        //不需要分号
        //apply plugin: 'kotlin-android-extensions'
        //添加插件可以直接拿xml文件中的id
        btn_login.setOnClickListener {
            //字符串拼接
            Log.i("tag", "${getUsername()}+${getPassword()}")
            if ("123" == (getUsername()) && "123" == (getPassword()))
                showDialog()
            else
                Toast.makeText(this, "账号或密码错误", Toast.LENGTH_SHORT).show()
        }
    }
    private fun showDialog() {
        alert("登录成功", "提示") {
            yesButton {
                //this指向是谁, ::class.java加载java文件
                startActivity(Intent(this@LoginActivity, MainActivity::class.java))
            }
            noButton {}
        }.show()
    }
    //自定义函数
    private fun getUsername(): String {
        //定义变量,? 表示可空
        val username = til_username.editText?.text.toString().trim()
        return if (TextUtils.isEmpty(username))
            ""
        else
            username
    }
    private fun getPassword(): String {
        val password = til_password.editText?.text.toString().trim()
        return if (TextUtils.isEmpty(password))
            ""
        else
            password
    }
    override fun onDestroy() {
        super.onDestroy()
        //AnkoLogger
        info("onDestroy")
    }
}


另外,Anko支持动态生成视图,语法简单,结构清晰,但是不能预览,预览插件:

https://github.com/Kotlin/anko/wiki/Anko-Layouts#anko-support-plugin



Java 代码转换为 Kotlin


ctrl +alt + shift + k



GitHub:https://github.com/yechaoa/KotlinForLogin

目录
相关文章
|
Java 数据库 数据库管理
kotlin学习笔记——sqlite(anko)
Anko提供了很多强大的SQLiteOpenHelper来可以大量简化代码,首先需要依赖anko的sqlite模块: compile "org.jetbrains.anko:anko-sqlite:$anko_version"
573 0
|
存储 JSON 测试技术
kotlin框架Anko的使用及常用的项目配置
kotlin框架Anko的使用及常用的项目配置 之前的几篇文章重复的讲了一些项目的基础配置,这一节就让我们把之前的那些抽取出来,单独的写一篇短文,之后的文章我们就直接使用这个配置就可以啦 创建我们的项目,命名为BaseProject,勾选kotl...
1398 0
|
XML Java 数据库
《Kotin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发
第13章 使用 Kotlin 和 Anko 的Android 开发 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任何问题,欢迎随时与我交流~ 13.1 什么是 Anko? Anko (https://github.com/Kotlin/anko) 是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。
1436 0
|
XML Java Android开发
[Android]使用Kotlin+Anko开发Android(一)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4800656.html    Kotlin是由JetBrains开发并且开源的静态类型JVM语言。
975 0
|
4天前
|
Java 数据库 Android开发
【专栏】构建高效 Android 应用:探究 Kotlin 多线程优化策略
【4月更文挑战第27天】本文探讨了Kotlin在Android开发中的多线程优化,包括线程池、协程的使用,任务分解、避免阻塞操作以及资源管理。通过案例分析展示了网络请求、图像处理和数据库操作的优化实践。同时,文章指出并发编程的挑战,如性能评估、调试及兼容性问题,并强调了多线程优化对提升应用性能的重要性。开发者应持续学习和探索新的优化策略,以适应移动应用市场的竞争需求。
|
5天前
|
传感器 Android开发 开发者
构建高效Android应用:Kotlin的协程与Flow
【4月更文挑战第26天】随着移动应用开发的不断进步,开发者寻求更简洁高效的编码方式以应对复杂多变的业务需求。在众多技术方案中,Kotlin语言凭借其简洁性和强大的功能库逐渐成为Android开发的主流选择。特别是Kotlin的协程和Flow这两个特性,它们为处理异步任务和数据流提供了强大而灵活的工具。本文将深入探讨如何通过Kotlin协程和Flow来优化Android应用性能,实现更加流畅的用户体验,并展示在实际开发中的应用实例。
|
5天前
|
安全 数据处理 Android开发
构建高效Android应用:Kotlin协程的实践之路
【4月更文挑战第26天】 在面对现代Android开发时,性能优化和流畅的用户体验成为了开发者们追求的目标。Kotlin作为一种现代化的编程语言,通过其协程特性为Android应用带来了前所未有的并发处理能力。本文将深入探讨如何利用Kotlin协程提升Android应用的响应性和效率,同时保持代码的简洁性。我们将从协程的基础概念出发,逐步揭示如何在实际应用中运用这些强大的工具,以及它们如何改善应用架构和用户交互体验。
|
1天前
|
缓存 安全 Android开发
构建高效Android应用:采用Kotlin进行内存优化
【5月更文挑战第1天】随着移动设备的普及,用户对应用程序的性能要求越来越高。特别是对于Android开发者来说,理解并优化应用的内存使用是提升性能的关键。本文将探讨使用Kotlin语言在Android开发中实现内存优化的策略和技术。我们将深入分析Kotlin特有的语言特性和工具,以及它们如何帮助开发者减少内存消耗,避免常见的内存泄漏问题,并提高整体应用性能。
|
1天前
|
安全 Android开发 开发者
构建高效Android应用:采用Kotlin与Jetpack的实践指南
【4月更文挑战第30天】 在移动开发领域,随着技术的不断进步,为了提高应用的性能和用户体验,开发者们不断地探索新的工具和框架。对于Android平台而言,Kotlin语言以其简洁性和功能性成为了开发的首选。而Jetpack组件则提供了一套高质量的库、工具和指南,帮助开发者更轻松地构建高质量的应用程序。本文将探讨如何结合Kotlin语言和Jetpack组件来优化Android应用的开发流程,提升应用性能,并保证代码的可维护性和可扩展性。