安卓 KOTLIN - 技术教程文章

kotlin中的嵌套类与内部类【代码】

Java中的内部类和静态内部类在Java中内部类简言之就是在一个类的内部定义的另一个类。当然在如果这个内部类被static修饰符修饰,那就是一个静态内部类。关于内部类 和静态内部类除了修饰符的区别之外,最主要的是内部类会默认持有一个外部类的引用,也正是这个原因内部类可以直接引用外部类的属性和方法,而不受制于外部类中属性和方法的修饰符。而静态内部类不持有外部类的应用,所以基本跟一个外部类没有什么区别。下面用代码来说...

BuildSrc使用kotlin代码配置gradle内容

### 1. android{}对应的配置: ```gradle android{ } ``` [https://github.com/panyy/mvvm-jetpack-sample/blob/master/buildSrc/src/main/java/com/common/plugin/CommonAndroid.kt](https://github.com/panyy/mvvm-jetpack-sample/blob/master/buildSrc/src/main/java/com/common/plugin/CommonAndroid.kt) ----------------------------------------------------------------------------------------------- ### 2. dependenci...

kotlin面试题!轻松获得一线大厂面试offer,内含福利【图】

前言 这里是我整理的2019年至2021年期间通过各个渠道花时间专门整理的面试题,其中面试重点和难点都有详细解析,重点讲的是Android各方面的专题讲解包括Java小部分的技术讲解。这些题目有点技术含量,需要时间去研究一下的。 这里我不仅给大家整理了多套BAT面试题,还有小编一路收集到的面试方面的资料包及面试相关视频资料,这些在文末有提供免费领取方式的,其中包括初级,中级,高级不同水平以及不同专题所涉及到的常问范围,及...

初识Kotlin【代码】【图】

学习笔记 初学Kotlin,所以如果有哪里出现错误,希望各位大佬可以多多指导,谢谢。 Kotlin的语言特性 1:语法更加简洁,同样的功能,其代码量会比JAVA开发要少许多 2:语法更加高级,它增加了很多现代高级语言的语法特性,大大提高了开发效率 3:语言安全性 4:Kotlin和JAVA是100%兼容。Kotlin可以直接调用使用JAVA编写的代码,也可以无缝使用Java第三方开源库。 Kotlin在加入诸多特性的同时,还继承了Java的全部财富。 如何运行...

【Kotlin学习之旅】Kotlin使用writeText写文件,使用readText读取文件内容【代码】

一、需求描述 需要使用kotlin来读写文件内容,下面写了一个工具类测试一下,如下所示: package com.oyp.kotlinimport org.junit.Test import java.io.*class FileTest {companion object {private const val TAG: String = "FileTest"}@Testfun testSave()

使用 Kotlin 协程 + Fuel 调用 REST API【代码】

JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站。 以下使用 RxJava2 + Retrofit2 调用该网站的 REST API,获取字符串以及 JSON 数据。GET /posts/1 GET /posts POST /posts PUT /posts/1 DELETE /posts/1所有 GET API 都返回JSON数据,格式(JSON-Schema)如下: {"type":"object","properties": {"userId": {"type" : "integer"},"id": {"type" : "integer"},"t...

基于GitHub App 深度讲解Kotlin高级特性与框架设计【代码】

点击下载:基于GitHub App 深度讲解Kotlin高级特性与框架设计 【Kotlin中文社区负责人亲授】本课程以GitHub APP业务为主线,将Kotlin高级特性与关键技术贯穿始末,让你更深入的掌握Kotlin特性,写出更具Kotlin风格的Android APP;同时结合真实场景,带你设计与实现高质量的通用框架,让你的编程思维得到充分的训练和质的提升。总之通过这门课程的学习,为你扫清Kotlin In Android开发障碍,快速完成Kotlin技能升级。 适合人群有1年...

Kotlin面向对象【代码】

引言 在Kotlin中,我可以声明普通类、数据类、静态类,它也有抽象类和接口,其中abstract关键字只能作用在普通类。 类和对象 普通类 Kotlin中的普通类通过class关键字定义,这种类默认都是final类型的,无法被继承。如果希望被继承,需要在前面增加open关键字 class Person(var id:Int?) { // id可为nullvar name:String? = nullconstructor():this(999) // 重载cosntructor(id:Int, name:String):this(id) { // 重载this.name ...

Kotlin的Lambda 表达式

Kotlin中的Lambda功能极为强大 一、集合的创建: listOf()函数用来创建一个不可变的list集合(只能用于读取,无法对集合进行添加、修改或删除操作),mutableListOf()函数用来创建一个可变的list集合; setOf()函数用来创建一个不可变的set集合,mutableSetOf()函数用来创建一个可变的set集合; mapOf()函数用来创建一个不可变的map集合,mutableMapOf()函数)函数用来创建一个可变的map集合; 在Kotlin中并不建议使用put()和get()方...

【面试必备】Android快速转战Kotlin教程,offer拿到手软【图】

前情 首先介绍一下自己的情况吧,由于当年高中年少轻狂,不努力,差二本线16分。我自己也没有意识到学历的区别,最终听了家里的安排上了一个专科,电气专业。 现在想想都很后悔,当年为什么没有自己的主见,如果复读或者读三本都比这个好很多。后来也算是意识到了自己学历的不足吧,先是专升本,然后就是考研。 也是自己的基础不行吧,最后调剂到一所双非的大学读计算机专业,基础不好,什么都是自学。 在学校,找了一个导师,接触...

android适配布局,该如何高效实用Kotlin?终获offer【图】

前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题。接下来分享一份我的字节跳动、阿里巴巴、百度、小米等大厂面试经验和总结。(文末附真题解析大全) 阿里(被拒)字节跳动(offer)小米(offer)手百 (offer)1.ListView 中图片错位的问题是如何产生的? 2.混合开发有...

【工程 - Kotlin】基本操作【代码】

https://codeforces.com/contest/1431 练习Kotlin的基本操作:输入输出、数组定义与遍历,数组排序,防止溢出 import java.util.* import kotlin.math.maxfun main() {val read = Scanner(System.`in`)var t = read.nextInt()while (t-- > 0) {var n = read.nextInt()var arr = Array(n) { 0L }for (index in arr.indices) {arr[index] = read.nextLong()}arr.sort()arr.reverse()var cnt = 0Lvar ans = 0Lfor (item in arr) {++cn...

使用kotlin开发手机应用

前几天,使用kotlin开发手机应用,出了很多问题。 由于使用的kotlin学习资料有些过时,而使用的编译器又是最新版的,所以导致按照学习资料的例程输入后,弹出很多的错误,在网上查询了很久,大多数也没有一个正确的处理结果。 包括去年有博主写的帖子,到现在已经不可执行了。最终费了很大的劲,才搞定。

Android快速转战Kotlin教程,面试真题解析【图】

前言 组件化是 保持整个 App 可持续地进行高质量开发的基础,近年来也是业界一直在积极探索和实践的方向,在深入理解组件化架构的过程中,将不断考验你的技术深度与广度;实践中我还参考了十几家技术团队的解决方案(例如:美团、有赞、阿里等等),在这个系列里,我将总结我对于组件化的思考和实践。 实习生: 对于实习生而言的话,可能对于android方面的要求并不是特别的高,比较注重基础,但是基本的得会,比如: 1.四大组件基本...

使用 Kotlin 协程 + Retrofit2 调用 REST API【代码】

JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站。 以下使用 RxJava2 + Retrofit2 调用该网站的 REST API,获取字符串以及 JSON 数据。GET /posts/1 GET /posts POST /posts PUT /posts/1 DELETE /posts/1所有 GET API 都返回JSON数据,格式(JSON-Schema)如下: {"type":"object","properties": {"userId": {"type" : "integer"},"id": {"type" : "integer"},"t...

kotlin协程,Android插件化主流框架和实现原理,架构师必备技能【图】

导语 本部分内容是关于Android进阶的一些知识总结,涉及到的知识点比较杂,不过都是面试中几乎常问的知识点,也是加分的点。 关于这部分内容,可能需要有一些具体的项目实践。在面试的过程中,结合具体自身实践经历,才能更加深入透彻的描绘出来。 接下来正面回答这个问题,从5个角度来展开对Binder的分析: (1)从性能的角度 **数据拷贝次数:**Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,但共享内存方式一次...

【Android】kotlin-android-extensions插件的使用

在xml中的控件设置了ID,导入kotlin-android-extensions插件后,可以在任意文件调用。 打开build.gradle app文件 添加 plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions' } 或者单独导入 apply plugin: 'kotlin-android-extensions' 导入之后 重新编译gradle即可。

Kotlin你不知道的秘密(一)【代码】【图】

本篇主要说一下Koltin分支中的秘密的第一个:Koltin关键字(final/if/for)、运算符(+/-/?:)是如何被识别的?陆续后面还有会3-4篇来介绍其他秘密,文章中提到的代码和其他资料已开源到Android知识体系& Android-Body 人与人之间主要通过语言来进行沟通,那程序之间可以沟通吗?是靠什么进行沟通的? 答案是肯定的,人与人之间的沟通主要是靠语言,程序之间也是可以靠语言沟通的。语言大致分为中文、英文、日文等其目的是统一不同...

kotlin实战!360°深入了解Flutter,附超全教程文档【图】

前文 本文希望通过揭开一些 React 隐藏的技术细节, 来辅助对官方文档中某些概念的理解 读者可以将本文看做对官方文档的补充行文方式我采用的是提问-解答的方式, 即先根据官方文档给出的使用规则, 提出Why, 然后我们根据实际的调试再来解答这些Why, 最后系统的整理这些 Why 变成 How, 如果你们有更好的行文方式, 也欢迎留言讨论另外为了阅读体验, 我不会粘贴过多的源码, 避免打断各位读者的思路.刷题 我刷题的方式都是老套路了,Lee...

kotlin实战!带你一起探究Android事件分发机制,知乎上转疯了!【代码】【图】

开头 金九银十就快到了,很多有求职、跳槽打算的人最近都在完善更新自己的简历,打算趁此机会换到心仪的环境。 程序员相较其它工作岗位略有不同,最注重的就是技术。所以很多程序员会产生一个误区,觉得自己技术强,自然能找到好工作,不太重视自己的简历。 结果简历发出去,面试邀请寥寥无几,只恨自己怀才不遇。 二.面试流程 自我介绍面试官根据你的介绍开始问你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,...

爱了爱了!该如何高效实用Kotlin?妈妈再也不用担心我找工作了!【图】

在面试程序员岗位时,我们往往需要经历一个编程面试过程,雇主会借此考验面试者的技术实力。然而,这些技术问题有时候却和我们的实际工作并无太大关系,也由此可能给我们的编程面试准备阶段带来很大的压力。我也因此写出这篇文章,相信能给即将进入职场的程序员带来帮助。由于涉及到的面试题较多导致篇幅较长,我根据这些面试题所涉及到的常问范围总结了并做出了一份学习进阶路线图???????及面试题答案免费分享给大家,文末有免费领...

kotlin教程!一线互联网移动架构师Android框架体系架构!手慢无

前言 这次去腾讯面试的是我大学同学,我们大学都是一学习,一起吃饭,一起洗脚,一起。。。 他们公司最近也裁员了,不过他是裁员前去的腾讯,不知道谁捞到他简历了,莫名就走了流程,他莫名的就面了6轮过了。 他想着行情这么不好,要不就去了,去了之后,他们公司就裁员了。。。 总之今年大环境真的很差,大家都时刻做好准备。 目录: 1.网络 2.Java 基础&容器&同步&设计模式 3.Java 虚拟机&内存结构&GC&类加载&四种引用&动态代理 ...

【Kotlin学习之旅】使用Kotlin实现常见的对称加密、非对称加密、消息摘要、数字签名的demo

文章目录 Demo 介绍一、对称加密二、非对称加密三、消息摘要四、数字签名五、Demo地址Demo 介绍 使用Kotlin实现常见的对称加密、非对称加密、消息摘要、数字签名的demo 一、对称加密算法 DESAES 特点 可逆、加密速度快,可以加密大文件 二、非对称加密算法 RSA 特点 可逆、加密速度慢公钥加密、私钥解密;私钥加密、公钥解密。公钥互换 三、消息摘要算法 MD5SHA1SHA256 特点 不可逆,加密后不可破解加密后秘文长度固定,和原始...

kotlin协程——>通道

通道:延期的值提供了?种便捷的?法使单个值在多个协程之间进?相互传输。通道提供了?种在流中传输 值的?法。 通道基础:?个 Channel 是?个和 BlockingQueue ?常相似的概念。其中?个不同是它代替了阻塞的 put 操 作并提供了挂起的 send,还替代了阻塞的 take 操作并提供了挂起的 receive。val channel = Channel<Int>() launch { // 这?可能是消耗?量 CPU 运算的异步逻辑,我们将仅仅做 5 次整数的平?并发送for (x in 1..5) channe...

【Android,Kotlin】singleLine被弃用的问题【代码】【图】

singleLine被弃用的问题singleLine被弃用了… 官方给出的解释 解决方案 android:maxLines="1"//最大行为1 android:ellipsize="end"//一行超出部分显示...如遇EditText,也可以加上 android:input="text"

新站长的第一个Kotlin教程

Kotlin 教程 Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。 Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。 在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。 我的第一个 Kotlin 程序 最简版 package hello // 可选的包头fun main(args: Array<String>) { // 包级...

基于C语言的kotlin的基础【代码】【图】

创建kotlin工程 create new project->nextpackage name :公司网址倒起来写再加上工程名称->finish连接手机(创建一个模拟器)(如果用kotlin的话可以跳过这个步骤,这里是Android开发才会用到) (1)模拟机:右上角myphone中点击AVD manger创建一个自己需求的模拟机 (2)连接手机:用数据线先连接手机会弹出一个USB用于,点击第二个传输文件。如果用数据线连接手机后没有弹出这里选项,那么则需要打开开发者选项,点击设置->关...

【Android+Kotlin】Leaks工具使用【代码】

扉: 根据No->Unknowd->Yes间仔细排查一般都能找出问题 导包:这种debug依赖 在正式release包当中会自动不运行debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4'传送门 优秀总结补充阅读设置了ClickableSpan导致内存泄漏文字换色方案文字换色方案2

kotlin的数组【代码】

package com.lee.navdemoimport kotlin.math.abs/**** @ProjectName: NavDemo* @Package: com.lee.navdemo* @ClassName: KotlinBase* @Description: java类作用描述* @Author: 李占伟* @CreateDate: 21/3/11 下午9:37* @UpdateUser: 更新者* @UpdateDate: 21/3/11 下午9:37* @UpdateRemark: 更新说明* @Version: 1.0*/fun main(){println("------main--------")baseType() }fun baseType() {val num1 = -1.69 // Doubleval num2 = ...

Android Kotlin基础学习 - 委托【代码】【图】

文章目录 背景内容类委托属性委托定义一个被委托的类 标准委托延迟属性 Lazy可观察属性 Observable把属性存储在映射中NOT NULL局部委托属性属性委托要求翻译规则背景 学习 记录分享 坚持开源!内容 委托模式是软件设计模式中的一项基本技巧。 在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。类委托 类的委托...