全程对照教程 *** 作,写下部分对照java语言的体会
学习了kotlin语言中Activity的创建,布局的创建
TextView, Button的显示和响应
Activity的跳转
with方法的使用
静态方法的创建
单例的创建
顶层方法的创建(Kotlin特有)
//继承和接口不再使用extends和implement,统一使用:比较简洁 class CreateNewActivity : Activity() { //方法统一使用fun为关键字 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //与原android相同的布局加载方式 setContentView(R.layout.kotlin_test_activity) //可直接调用button的id,无需再findViewById //可直接写执行逻辑,无需再new onClickListener tran_test_btn.setonClickListener { ToastUtils.toast(this, "This is a test") } tran_click_jump.setonClickListener { //无需new Intent //TestActivity.java写成TestActivity::class.java val intent = Intent(this, TestActivity::class.java) startActivityForResult(intent, 1) } val list = listOf("apple", "orange", "banana") //遇到集中重复的变量调用时,可使用with,run,apply val text = with(StringBuilder()) { append("this start n") for (str in list) { append(str).append("n") } append("this end n") toString() } tran_test_with_tv.setText(text) testStaticFun(this) testTopFuns(this) } //static方法使用companion object包裹 companion object { fun testStaticFun(context: Context) { ToastUtils.toast(context, "test static") } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when(requestCode) { //when结合1->表达原来的requestCode==1的写法 1 -> if(resultCode == RESULT_OK) { ToastUtils.toast(this, "it is ok") } } } }
TestToTopFuns.kt
fun testTopFuns(context:Context) { ToastUtils.toast(context, "this is a top funs") }
ToastUtils.kt object ToastUtils { fun toast(content: Context, text:String) { Toast.makeText(content, text, Toast.LENGTH_LONG).show() } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)