
使用Kotlin开发Android App的最大特点就在于简化代码,除此之外,跟Java开发App还是有很多不一样的地方
1 布局使用XML布局和Java开发完全一致
2 设置单击事件监听如果按照Java的方式,就需要设置onClickListener,然后重写onClick方法,在onClick方法中执行点击的 *** 作,而Kotlin,只需要一行代码 setOnClickListener{ },在花括号中执行单击事件即可
btn_login.setOnClickListener {
//获取用户名和密码
var username:String = et_username.text.toString()
var password:String = et_password.text.toString()
if (username.equals("小明") && password.equals("123456")){
Log.e("TAG","登录成功")
Toast.makeText(this,"登录成功",Toast.LENGTH_SHORT).show()
}
}
3 Toast
Toast的使用方式和Java基本一致,差别在于Java在单击事件中不能直接使用this,因为指向的是控件本身,但是Kotlin中,可以直接使用this
4 静态类和静态方法在Java中静态类和静态方法,使用static修饰,在Kotlin中,通常使用object关键字
class Note{
object StaticClass{
var name:String? = null;
var age:Int? = null;
}
companion object {
fun draw() {
println("静态方法")
}
}
}
使用object修饰的类是静态类,里面的 方法和变量都是静态的;companion object修饰的是伴生对象,类似于Java中的静态方法,在类中只能存在一个伴生对象。
5 Kotlin中使用Navigation组件使用方式和Java类似,具体的步骤为
(1)创建空白的Fragment
(2)创建Navigation xml文件,详情可查看之前的文章JectPack组件Navigation的用法
(3)在Activity中添加BottomNavigationView和FragmentContainerView
(4)获取NavController的方式,Kotlin和Java是不同的,在Java中是通过Navigation.findNavController,而Kotlin则是直接在Activity或者View中findNavController,但是如果报出下面的错误,就不能使用这种方式
TestActivity@e738195 does not have a NavController set on 2131231139
解决方式
var navHostFragment =
supportFragmentManager.findFragmentById(R.id.fragmentContainerView) as NavHostFragment
var navController = navHostFragment.navController
(5)界面导航跳转
这一部分跟Java相比,差别还是挺大的,先放上代码
var navHostFragment =
supportFragmentManager.findFragmentById(R.id.fragmentContainerView) as NavHostFragment
var navController = navHostFragment.navController
var appBarConfiguration = bnv_nav?.menu?.let { AppBarConfiguration(topLevelMenu = it) }
appBarConfiguration?.let { setupActionBarWithNavController(navController,appBarConfiguration) }
bnv_nav?.setupWithNavController(navController)
使用setupActionBarWithNavController和Java类似,但是不同界面之间导航,就需要使用BottomNavigationView的setupWithNavController来完成
个人淘宝店铺链接 有需要的伙伴点击这里
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)