美文网首页
kotlin学习

kotlin学习

作者: Android戴勤学 | 来源:发表于2018-04-25 14:29 被阅读0次

    JetBrains,作为广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

    目前,Kotlin已正式成为Android官方支持开发语言,所以学习kotlin势在必行。


    辅助网站:

    kotlin官网

    他人学习笔记


    class MainActivity : BaseActivity(), View.OnClickListener {

        override fun onClick(p0: View?) {

            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

        }

        fun  onso(){

        }

        override fun onCreate(savedInstanceState: Bundle?) {

            super.onCreate(savedInstanceState)

            setContentView(R.layout.activity_main)

            initview()

        }

        private fun initview() {

            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

        }

    }


    一样米养百种人,每个人学习kotlin方法都不一样。而我学习的方法自然是敲,多敲。

    初学只能对比java来了解。

    var声明变量

    val声明常量

    fun声明方法

    protected 

    for循环

    for (i in 1..100) { …… } // 闭区间:包含 100

    for (i in 1 until 100) { …… } // 半开区间:不包含 100

    for (x in 2..10 step 2) { …… }

    for (x in 10 downTo 1) { …… }

    if (x in 1..10) { …… }

    集合list

    val list = listOf("a", "b", "c")


    遇到问题:

    1.butterknife和kotlin结合时候会找不到快捷生成findViewById的方法。不用管,kotlin可以直接使用。使用的时候直接打id就行。

    2.页面跳转

    startActivity(Intent(this, IpScript1Activity::class.java))一直没搞懂::这是什么符号。也没找到相关的,只能死记硬背了。

    3.适配器

    class BannerAdapter(val context: Context, datas: MutableList) :

    BaseQuickAdapter(R.layout.banner_item, datas) {

    override fun convert(helper: BaseViewHolder, item: BannerResponse.Data?) {

    item ?:return

            helper.setText(R.id.bannerTitle,item.title.trim())

    val imageView = helper.getView(R.id.bannerImage)

    Glide.with(context).load(item.imagePath).placeholder(R.drawable.logo).into(imageView)

    }

    }

    4.构造函数

    data class HotKeyResponse(

    var errorCode: Int,

    var errorMsg: String?,

    var data: List?

    ) {

    data class Data(

    var id: Int,

    var name: String,

    var link: Any,

    var visible: Int,

    var order: Int

    )

    }

    5.常量 const val 等同public final

    6.interface接口

    interface CollectArticleModel {

    /**

    * add or remove collect article

    */

        fun collectArticle(

    onCollectArticleListener: HomePresenter.OnCollectArticleListener,

    id: Int,

    isAdd: Boolean

    )

    /**

    * cancel collect article Request

    */

        fun cancelCollectRequest()

    }

    7.继承和实现

    class MainActivity : BaseActivity(),View.OnClickListener

    8.for 循环

    for (i  in 1..10){

    }


    多记录学起来会事半“弓背”

    相关文章

      网友评论

          本文标题:kotlin学习

          本文链接:https://www.haomeiwen.com/subject/oqdelftx.html