android butterknife框架的简单使用

固态变压器SST 1.1 课程整体框架与学习路径 本课程围绕固态变压器(SST)全生命周期工程化流程设计,构建"规范要求-理论基础-设计方法-仿真验证-工程落地"的闭环学习体系,完整覆盖GB/T 40429-2021标准要求。课程分为基础认知、核心设计、合规验证、工程落地和前沿拓展五大模块,采用理论讲解与工程实践深度融合的教学路径,通过规范条款拆解、仿真预验证、硬件实现、试验检测等环节,培养学员从设计到落地的完整能力。课程强调标准合规性,每个设计环节均有明确规范约束,并提供标准化工程模板,确保学习成果可直接应用于实际项目开发。 阅读详情

记得很早之前有个xutils框架,就有这个功能,但是它是通过反射和代理发生在运行时期,所以效率肯定没butterknife框架效率高,今天就简单入门,如何使用:github:https://github.com/JakeWharton/butterknife


使用三方框架看下它提供的步骤就行,然后按照说的步骤一步步来一般就ok,

第一步:

dependencies {
  compile 'com.jakewharton:butterknife:8.8.1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}


添加这二个,这是目前最新的

第二步:

To use Butter Knife in a library, add the plugin to your buildscript:

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
  }
}


看下我的配置:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

第三步:

and then apply it in your module:

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'

其实在第三步,我也是遇到了问题,看下我的配置


发现我注释了一行:

我studio是2.3.3,遇到了这些问题:

android Error:Could not download guava.jar (com.google.guava:guava:19.0): No cached version availabl

解决方法:

找到File - Other settings - Default settings  Build Tools - Gradle   ,去掉"offline work"选项勾,点击 "Ok"

 去到 "Build" - "clean Project"

这是好了.这个问题

第二个问题:


解决方案:

//apply plugin: 'com.android.library'
这个不能要

butterknife使用一般就是二种,一是findViewById  二是设置View的监听

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.simple.MainActivity"
    android:orientation="vertical"
    >
    <EditText
        android:id="@+id/et_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入用户名"
         />
    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入用户密码"
        />
    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录"
        />
</LinearLayout>

使用:

package com.simple;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.Toast;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity {
    @BindView(R.id.et_username)
    EditText et_username;
    @BindView(R.id.et_password)
    EditText et_password;
    @OnClick(R.id.btn_login) void login() {
        String username = et_username.getText().toString();
        String password = et_password.getText().toString();
        if(!TextUtils.isEmpty(username)&&!TextUtils.isEmpty(password)){
            Toast.makeText(this,"用户"+username+"登录了",Toast.LENGTH_LONG).show();
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }
}

@BindView就是帮助我们把findViewById()操作实现了

@onClick就是帮助我们setOnClickListener()

上面都是通过注解的形式,如果想要知道还有其他什么注解使用呢?找到他的jar


其中On...什么的都是View的监听方法

Bind..都是什么绑定id或者资源相关的.





全球气候模式降尺度方法总结及其代码实现 简介总结各类型气候模式降尺度方法 阅读详情

相关推荐

Intel SGX Explained

计算机中最主要的资源是CPU和内存,由操作系统和虚拟管理系统等系统软件来管理这些资源。

hanqdi_的博客 3455

Android Butterknife使用方法总结

前言 ButterKnife 简介 ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。 项目github地址:https://github.com/JakeWharton/butterknife ButterKnife 优势 1、强大的

whj9073的专栏 1439

用面包板实测MOSFET:手把手教你测量跨导和开关时间

本文详细介绍了如何使用面包板、Arduino和示波器搭建测试平台,实测MOSFET的跨导和开关时间。通过分步测量流程和示波器技巧,帮助电子设计初学者深入理解MOSFET的动态特性,包括跨导计算、开关时间参数解析以及米勒平台现象分析。

beer8的博客 220

butterknife使用_Android注入框架ButterKnife使用解析

Android开发中使用注入框架,可减少findViewById的代码量,也能让我们的代码更加整洁,有许多著名的注入框架比如,ButterKnife,Annotation,XUtils,afinal等,最开始接触的是XUtils,后面开始接触到了ButterKnife; XUtils包含了许多模块,比如数据库操作orm,网络请求,图片及视图注入,而如果仅需要做视图注入的话BK更合适些。今天来看看B...

weixin_28783937的博客 299

华为数通---配置风暴控制案例

风暴控制可以通过阻塞报文或关闭端口来阻断广播、未知组播和未知单播报文的流量。

2301_77081516的博客 1624

零基础学会制作 基于STM32/51单片机的智能血压表设计/血压表/血压计

本系统是以单片机为主控,传感器模快、显示模块、人机交互、无线传输等组成的智能血压表设计。传感器用于测量血压和脉搏,主控电路板用于处理数据和控制设备,显示屏则用于显示测量结果。通过软件设计,完成测量数据的处理,其中血压和脉搏的测量、数据的分析和处理等。

weixin_55654459的博客 2473

android butterknife配置方法

butterknife 具体是什么做的我就废话了 有什么好处 我也不说了 我要去吃饭了 简单步骤如下 1. 配置project的build.gradle  添加         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'   如图所示 2. 配置moudle的gradle  添加 apply p

坚持学习 687

FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地

一、环境介绍 操作系统介绍:ubuntu 18.04 FFMPEG版本: 4.4.2 摄像头: USB摄像头、虚拟机挂载本机自带摄像头 二、FFMPEG与X264下载编译 X264下载地址: http://www.videolan.org/developers/x264.html FFMPEG下载地址:https://ffmpeg.org/download.html Yasm ...

8870

Android ButterKnife依赖注入框架的引入和使用

在Android开发中,需要大量的编写初始化布局、点击事件、监听事件等一些简单重复的代码,会无形中浪费时间和精力。而使用ButterKnife这个开源库可以让我们从大量的findViewById()和setOnclicktListener()中解放出来。 ButterKnife:是视图注入中相对简单易懂的开源框架,其优势在于:       1. 强大的View绑定和Click事件处理功能,简单代...

journeyIT的博客 2799

ESP32-C3蓝牙透传通信的BLE协议栈工程实践

蓝牙低功耗(BLE)透传是一种基于GATT服务模型的数据透明传输机制,其核心原理在于Peripheral设备通过广播建立连接,并在GATT Server层暴露可读写特征值实现双向数据通道。该技术具备低功耗、跨平台兼容性强、开发门槛适中等优势,广泛应用于智能硬件、工业传感器与嵌入式网关等场景。在实际工程中,透传稳定性高度依赖BLE协议栈的分层协同——Link Layer负责可靠连接建立,GATT Server则定义数据交互语义;而ESP32-C3的AT指令集正是对这两层能力的封装调度。本文聚焦BLE透传的关键

weixin_29859471的博客 122

无刷电机FOC硬件电路设计

本文先对MIT无刷电机FOC硬件电路分析做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章软件程序在我另外一个博客【嵌入式–伺服电机】MIT无刷电机FOC驱动程序分析。

qq_35635374的博客 574

Butterknife的BindView

引入: implementation 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' butterknife的工作原理是在编译器根据扫描的注解通过JavaPoet生成一个和target(activity,fragment)...

zhang___yong的博客 1070

PLC的自抗扰控制(ADRC)算法

1、自抗扰控制算法,网上很多文章有所讲解,大家也可以关注韩京清教授的论文和书籍,这里就不赘述了,下面给出梯形图+SCL代码。 1、跟踪微分器 2、线性控制率 3、博图SCL控制代码 4、ADRC控制算法的所有公式汇总 ......

RXXW_Dor的博客 3853

Android快速注解框架Butterknife简单使用

简介 Butterknife中文又名黄油刀,是 J神JakeWharton开源的一款Android视图的字段和方法绑定快速注解框架.也是Android开发中比较常用的一款快速注解框架了,避免了不断的重复findViewById,在各种场合下快速绑定view的多种事件,大大提高了开发的效率. 优点: 1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2、方便的处理Adapte...

1215ccc 300

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android注解框架(ButterKnife的简单使用)

ButterKnife框架可以把人们从繁琐的findViewById和setOnClickListener中解放出来,它采用依赖注入的方式,可以通过注解,使layout文件中的View和代码中的对象自动绑定。浅显的讲,就是我们不用再频繁的去写很多很多的findViewById和setOnClickListener等固定的语法,而是通过这个注解自动帮我们绑定生成. 我们可以看一下butterKni

yanxiaosa的博客 693

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android ButterKnife依赖注入框架简单使用

Butter KnifeGithub:https://github.com/JakeWharton/butterknife通过注解的方式,将Android View与成员变量和方法绑定起来,为你形成一种模板样式的代码。 在成员变量上使用@BindView替换掉 findViewById; 快速操作一组View(数组或list); 通过使用注解@OnClick消除匿名内部类的方法设置监听器; 通过使用

NoOneCode的博客 1145

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

关于Android依赖注入框架ButterKnife和Dagger的简单比较

最近调研了Android平台可以使用的依赖注入框架。发现现在常用的有四种。Dagger、Butter Knife、RoboGuice、Android Annotations。经过一系列的比较,最后我们的选择 的范围缩小到Dagger、Butter Knife这2个框架上。其实在国内外使用的比较多的应该是Dagger。但是我觉得还是有点复杂了,再看jakewharton的blog时,他也提到了da

极客公园 1万+

Android主流IOC框架浅析(注解反射,Annotations,ButterKnife的简单使用)

Android主流IOC框架浅析 字数3212 阅读1852 评论9 喜欢22 TextView mTextView; mTextView=(TextView) findViewById(R.id.mTextView); mTextView.setOnClickListener(new OnClickListener() { @Override public void onClick

年青小斗奋的博客 915

android butterknife 自定义view,ButterKnife简单使用(VIEW注入框架)

Butter Knife , Android 视图中field和方法的绑定带有“@Bind(R.id.xxx)” Butter Knife注解的域(或者叫字段),Butter Knife 会自动在布局中查找相应的视图。1.Activity中的绑定class ExampleActivity extends Activity {@Bind(R.id.title) TextView title;@Bin...

weixin_39631932的博客 324

(二)安卓框架搭建之项目Butterknife引入,Application的简单封装

先写Butterknife,Application,主要因为第三篇的MVP封装会用到,需要提前做些准备工作。再者是Butterknife的导入,有几点是需要强调的!ButterknifeButterknife人称黄油刀,强大之处无需多言,案例中使用Butterknife的版本为8.5.1。

arson663300的博客 1481

Android之---ButterKnife-View注入框架(简单介绍和在Studio中安装)

ButterKnife-View注入框架(简单介绍和在Studio中安装)

AM小可乐的博客 1479

Android 框架学习2:使用编译时注解简单实现类似 ButterKnife 的效果

这篇文章是学习鸿洋前辈的 Android 如何编写基于编译时注解的项目 的笔记,用于记录我的学习收获。 读完本文你将了解: 什么是编译时注解APT编译时注解如何使用与编写举个例子 思路创建注解创建运行时绑定的类创建注解处理器 完成编写使用一下遇到的坑代码地址总结 Thanks 什么是编译时注解 上篇文章 什么是注解以及运行时注解

u012426327的专栏 581

Android开源框架之ButterKnife

简介 ButterKnife是注解中相对简单易懂的很不错的开源框架 强大的View绑定和Click事件处理功能,简化代码,提升开发效率 方便的处理Adapter里的ViewHolder绑定问题 运行时不会影响APP效率,使用配置方便 代码清晰,可读性强 使用步骤 在Setting->Plugins中输入butterknife添加插件“Android ButterKnife Aelezn...

qq_36828822的博客 273

ButterKnife依赖注入框架的引入和使用

俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些臃肿的代码中解脱出来。首先看一下在Android Studio中引入ButterKnife步骤如下:在项目上右键,选择Open Module Se

张亚运的专栏 4489

android butterknife 自定义view,android框架之ButterKnife注解式框架

ButterKnife注解式框架简介所谓注解式顾名思义就是利用注解的方式将代码抽象化,每次使用只需要传递key和value值就行了,ButterKnife框架将View定义和点击事件很好的进行了注解式抽象,利用它我们不必使用findViewById和setOnClickListener,极大的简化了我们的代码,ButterKnife还对listView的ViewHolder提供了方便的绑定处理。B...

weixin_30811007的博客 244

ButterKnife注解框架详解

  Android 懒人注解框架 :https://github.com/JakeWharton/butterknife    前言:     注解,相信很多同学都用到了,对控件进行初始化的时候需要用到 findViewById() ,当一个activity 中控件用到的比较多的时候,会显得代码臃肿   比如:           那我们使用注解就很方便了,按下面的步骤来,学一下如何在项目中使用注...

weixin_34262482的博客 112
上一篇: Android view绘制流程
下一篇: android okhttp3框架使用
zhoushenxian
博客等级 码龄12年 453粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值