zoukankan      html  css  js  c++  java
  • Android开发——Kotlin开发APP使用笔记

    之前一直使用java来开发Android项目,学了新的kotlin语言,前来试一试,并说一下kotlin对Android的一些功能增强

    创建项目

    我使用的是Android Studio3.0+,所以默认就支持kotlin

    创建项目的时候记得勾选kotlin支持

    找到实例与设置监听器

    以往我们是通过findviewbyid来找到实例,而kotlin中提供了一种更为快捷的方式,只需要一行代码,之后我们就可以直接使用布局里面的定义的各种实例了

    像平常一样,我们可以使用实例来更改控件的内容,同时,这个按钮也可以作为监听器的判断。

    以往我们的点击监听器,使用switch或者if语句来判断点击的控件,从而执行不同的操作。而kotlin中,直接使用实例判断,具体的代码在下面的MainActivity.java中

    switch(v.getId){
    	case R.id.btn:
    		//逻辑操作
    		break;
    }
    if(v.getId == R.id.btn){
    	//逻辑操作
    }
    

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.wan.noveldownloader.activity.MainActivity">
    
    <Button
        android:id="@+id/btn_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="测试"  />
    </android.support.constraint.ConstraintLayout>
    

    MainActivity.java

    package com.wan.noveldownloader.activity
    
    import android.os.Bundle
    import android.view.View
    import com.wan.noveldownloader.R
    import kotlinx.android.synthetic.main.activity_main.*
    
    class MainActivity : BaseActivity(),View.OnClickListener {
        override fun onClick(v: View?) {
            when (v) {
    			//操作
                btn_test -> showToast("htllo")
            }
        }
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    		//这里的btn_test就是布局文件的按钮实例
    		//输入btn_test会自动增加一行import kotlinx.android.synthetic.main.activity_main.*
            btn_test.setOnClickListener(this)
        }
    }
    

    跳转

    val intent = Intent(this, SettingActivity::class.java)
    startActivity(intent)
    

    直接实现抽象类中接口方法

    使用object来实现抽象类接口方法

    val rvAdapter = object : RVAdapter<DownloadingItem>(lists) {
    
                override fun bindDataToView(holder: RVAdapter.RVViewHolder, position: Int, bean: DownloadingItem, isSelected: Boolean) {
    
                }
    
                override fun getItemLayoutID(position: Int, bean: DownloadingItem): Int {
                    return 0
                }
    
                override fun onItemClick(position: Int, bean: DownloadingItem) {
    
                }
            }
    
  • 相关阅读:
    web2.0网站如何设计UE/UI
    SQL查询入门(中篇)
    跟我学做c#皮肤美化(三)
    王通:SEO成功的秘密
    26个Jquery使用小技巧(jQuery tips, tricks & solutions)
    跟我学做c#皮肤美化(五)
    js iframe子父页面读取方式
    我的新网站上线了历史五千年www.lswqn.com在诵读经典中传承中华文明
    jQuery获取Radio,CheckBox选择的Value值
    C#仿QQ皮肤-主窗体MainForm和Main的实现
  • 原文地址:https://www.cnblogs.com/stars-one/p/11620091.html
Copyright © 2011-2022 走看看