因为不太熟悉kotlin 所以就想写一个混编的Android  的测试

既有kotlin 又有android 的原生

目的:想了解下Kotlin ,和使用下Kotin中传说中的语法糖,别以后遇到大神写项目用kotlin 我一脸懵逼

看下配置  :

1.Android  中使用ButterKnife

1.1 在Module的build.gradle中配置

//注解
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

1.2在Project(项目)的build.gradle中配置

   //插件
   classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'

2.Kotlin中使用ButterKnife

2.1在Module的build.gradle中配置

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
implementation 'com.jakewharton:butterknife:8.8.1'
kapt "com.jakewharton:butterknife-compiler:8.8.1"
api 'com.mapzen:on-the-road:0.8.1'

2.2在Project(项目)的build.gradle中配置

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.1.51"

3.Kotlin基本使用

3.1基类配置

abstract class Base1Aty : BaseActivity() {var unbinder: Unbinder? = null;
    override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)unbinder = ButterKnife.bind(this)initView()}protected abstract fun initView()override fun onDestroy() {super.onDestroy()unbinder!!.unbind()}
}

3.2控件使用

class KotlinAty : Base1Aty() {//使用ButterKnife查找控件
    @BindView(R.id.tv_test) lateinit var textView :TextViewoverride fun initView() {stopProgressDialog()}override fun getLayoutId(): Int {return R.layout.aty_kotlintest
    }override fun requestData() {startProgressDialog()}/**
     *  Kotlin 支持,高阶函数和Lambda表达式
     *  这里如果不熟悉的话,也可以进行百度一下,这里就不做太多是解释了
     */
    @OnClick(R.id.tv_test)fun onClick(view : View){when(view.id){R.id.tv_test ->{showTost("真没意思就这样玩么")}}}}

Kotlin 中Butterknife 和Android 中使用butterknife相关推荐

  1. ffmpeg android 中文文档,Android 中使用FFMPEG

    Android开发中引入FFMPEG需要先打包FFMPEG动态链接库(即.so文件),不清楚怎么编译获取的同学参看: Android FFMPEG Mac编译教程 接下来说说Android Studi ...

  2. android中px单位,android中像素单位dp、px、pt、sp的比较

    dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...

  3. android中内存泄露,Android中的内存泄露

    编辑推荐: 本文来自于csdn,本文主要从java的内存模型讲起,最终举出几个内存泄露的例子和解决方案. java运行时内存模型 具体信息:http://gityuan.com/2016/01/09/ ...

  4. Android中list常用方法,Android中的常用控件及其基本用法

    TextView的使用方法 布局文件中的配置: 在Activity类中的使用: TextView textView1 = (TextView)findViewById(R.id.textView1); ...

  5. android中的加密算法,Android中加密算法

    Android中的加密算法可以分为两类:对称加密 和 非对称加密 对称加密(DES.3DES.AES) 概念 对称加密算法中,发送方将明文和加密密匙经过特殊加密算法处理后,使其形成变成复杂的密文后发送 ...

  6. android中的单例模式,Android中的单例模式

    定义: 单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 使用场景: 确保某一个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一 ...

  7. android 中color目录,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

  8. android中图片圆角,Android中实现圆角图片的几种方法

    Android中实现圆角图片有多种姿势,不知你解锁了几种? 方法一:setXfermode法 此种方式就是再new一个相同尺寸的bitmap,然后使用paint.setXfermode(new Por ...

  9. Android中list常用方法,Android中ListActivity用法实例分析

    本文实例分析了Android中ListActivity用法.分享给大家供大家参考,具体如下: 程序如下: import android.app.ListActivity; import android ...

最新文章

  1. Web请求响应简单整理
  2. 1亿数据 redis 内存_redis 存1亿数据库
  3. 解决MYSQL大表问题-实战篇(二)
  4. ping的实现和代码分析
  5. Github 2020 年度报告:你以为新冠击溃了开发者?不!他们创造了更多代码...
  6. 微信公众平台JSSDK开发
  7. 使用Spring Data Cassandra缓存的预备语句
  8. AngularJS中ui-router全攻略
  9. CSDN 博客版块问题解决日志
  10. Drools规则引擎介绍及实践
  11. 计算机公式最小值,excel最小值函数
  12. matlab 矩阵 黑白,各位好 请问怎么用0 1矩阵画出黑白的矩阵如下图所示
  13. 电脑 清理android,怎样清除系统垃圾 手机电脑一举拿下【图文】
  14. 浙江大学求是科学班计算机,浙江大学“汉语言文学(求是科学班)”2020年招生简章...
  15. H3C模拟器如何连接SecureCRT8.7
  16. 高中计算机竞赛学什么,什么是高中数学竞赛,要怎么去做?
  17. 用python模拟一个文本浏览器来抓取网页
  18. 什么是苹果cms?苹果cms如何安装及使用?
  19. ASCII码直接16进制转换(16转换为0x16)
  20. rgb与16进制颜色是如何相互转换的?

热门文章

  1. linux字体怪异_Linux字体美化实战(Fontconfig配置)
  2. Java内存模型和Java内存结构精读
  3. 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境
  4. SEO vs. 付费广告:哪一个对企业更有利?
  5. c# 如何编写CRC校验算法
  6. 京东 你访问的页面需要验证证书_硬干货!京东云域名注册及备案操作指南
  7. Android如何获取第三方app的控件id
  8. raid5通常需要几块盘_raid5什么意思?怎样做raid5?raid5 几块硬盘?
  9. 常用算法——枚举算法
  10. IntelliJ IDEA的十个逼气十足的Idea插件,绝对让你阴吹丝婷