![](https://img-blog.csdnimg.cn/20190917110052182.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin
文章平均质量分 67
杨天福911
一个沪漂奋斗中的码农……
展开
-
Binder机制和AIDL通信示例
文章目录介绍Binder工作流程AIDL通信实例介绍 Binder由四部分组成:Binder客户端、Binder服务端、Binder驱动、服务登记查询模块。Binder客户端是想要使用服务的进程。Binder服务端是实际提供服务的进程。Binder驱动:1.客户端先通过Binder拿到一个服务端进程中的一个对象的引用,2.通过这个引用,直接调用对象的方法获取结果。3.在这个引用对象执行方法时,它是先将客户端方法调用的请求传给Binder驱动;4.然后Binder驱动再将客户端请求传给服原创 2021-04-01 18:46:17 · 4685 阅读 · 0 评论 -
MultiTypeAdapter在recycleView中的使用和点击
文章目录概述一个itemViewBinder多种item数据类型多类型item数据注册显示效果图概述RecycleView中多种数据结构的item进行解耦,单一职责显示多种类型的item布局MultiTypeAdapter会给items中每一种类型的itemData找到对应的itemViewBinder进行数据绑定一个itemViewBinder/*** Author: yangtianfu* Date: 2021/1/28 20:13* Describe:每一种itemViewBind原创 2021-01-28 21:15:46 · 7924 阅读 · 1 评论 -
kotlin中自定义TextView之drawableLeft与文本一起居中显示
import android.annotation.SuppressLintimport android.content.Contextimport android.graphics.Canvasimport android.util.AttributeSetimport android.widget.TextView/*** Author: yangtianfu* Date: 2021/1/25 18:08* Describe:drawableLeft与文本一起居中显示*/@Su.原创 2021-01-25 18:32:51 · 7465 阅读 · 0 评论 -
使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout打造折叠状态栏
文章目录布局监听CoordinatorLayout 属性AppbarLayoutCollapsingToolbarLayout效果图布局<?xml version="1.0" encoding="utf-8"?><layout xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" tools:ignore="ResourceN原创 2020-11-26 16:25:16 · 6766 阅读 · 0 评论 -
kotlin中TabLayout和ViewPager2自定义tabview
文章目录xmltabview自定义item布局(tabIndicator底部指示器)动态tab数据ViewPager2适配器FragmentStateAdapterUI调用xml <com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout_tips" android:layout_width="match_parent" andr原创 2020-09-17 16:14:36 · 7583 阅读 · 0 评论 -
自定义Switch备份
<Switch android:id="@+id/switch_bluetooth" android:layout_width="wrap_content" android:layout_height="31dp" android:switchMinWidth="51dp" app:layout_constraintRight_toRightOf="parent"...原创 2020-08-26 14:27:26 · 5583 阅读 · 0 评论 -
ViewPager2画廊效果
fun Int.dpToPx(displayMetrics: DisplayMetrics): Int = (this * displayMetrics.density).toInt()fun Int.pxToDp(displayMetrics: DisplayMetrics): Int = (this / displayMetrics.density).toInt()使用10.dpToPx(context.resources.displayMetrics)原创 2020-07-02 16:30:46 · 7418 阅读 · 1 评论 -
腾讯Matrix应用性能接入框架使用
文章目录Matrix Android ApkChecker创建的文件生成的文件Matrix Android ApkCheckerhttps://github.com/Tencent/matrix/wiki/Matrix-Android-ApkChecker jar包下载地址:https://jcenter.bintray.com/com/tencent/matrix/matrix-apk-canary/0.6.5/matrix-apk-canary-0.6.5.jar 创建检测报告原创 2020-06-30 19:29:00 · 8824 阅读 · 0 评论 -
kotlin新建项目的报错和自定义kotlin中的loge的live template
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveEproject项目下的build.gralde使用阿里镜像buildscript { ext.kotlin_version = '1.3.60' repositories { maven { url 'http://maven.aliyun.com/nexus/con.原创 2020-05-22 17:10:59 · 7451 阅读 · 0 评论 -
ExpandableListView展示二级列表(Kotlin)
文章目录ExpandableListView使用BaseExpandableListAdapter展示二级列表ExpandableListView使用 <ExpandableListView android:id="@+id/exp_list_view" android:layout_width="match_parent" android:layout_height="wrap_content"原创 2020-05-16 17:09:56 · 8737 阅读 · 0 评论 -
RecyclerView滚动到指定位置(Kotlin)
/** * RecyclerView滚动到指定位置 */var mToPosition:Int = 0 // 记录目标项位置var mShouldScroll:Boolean = false // 目标项是否在最后一个可见项之后fun smoothMoveToPosition(mRecyclerView: RecyclerView,position:Int){ // 第一个可见位置 var firstItem = mRecyclerView.getChildLayoutPosit.原创 2020-05-11 23:22:15 · 7986 阅读 · 0 评论 -
kotlin 基础API(中缀表达式,委托,伴生对象,数据类)
data class SendCmdBaseDto ( val vin: String, val remoteType: String, val commandType: String, val type: Int, val seqNo: String, val securityPassword: String?, val temp:Stri...原创 2020-05-04 21:25:57 · 7781 阅读 · 0 评论 -
Android 10 本地PDF文件写入和打开方式适配
文章目录下载PDF后的responseBody写入本地Android10以下写入android 10 以上写入使用腾讯tbs内核在webview中直接打开本地PDF文件直接打开本地PDF文件隐式调用第三方应用打开PDF下载PDF后的responseBody写入本地 val responseBody = downLoadResponseBodyBean.respone ...原创 2020-04-28 23:22:54 · 8057 阅读 · 3 评论 -
kotlin代码格式化设置优化
去掉下方方框内的勾选将下方三个参数值改为 2 2 4原创 2020-04-26 14:31:56 · 8980 阅读 · 0 评论 -
android自定义形状的双正弦曲线(充电电池浮动电量),自定义View的getWidth()为0的问题
文章目录自定义viewattrs下resources相关styleablexml 引用动态设置自定义viewimport android.animation.Animator;import android.animation.AnimatorSet;import android.animation.ObjectAnimator;import android.animation.Val...原创 2020-03-31 16:07:12 · 7292 阅读 · 0 评论 -
kotlin中关于下载查看PDF并更新下载进度问题
文章目录定义接口发起请求将PDF写入本地并更新进度基于腾讯内核自定义webview进度条weiview打开本地PDF文件定义接口 @Streaming @GET fun downLoadPDF(@Url url: String):Call<ResponseBody>发起请求 getService(ServerApi::class.java).downLo...原创 2020-04-15 21:43:37 · 6352 阅读 · 0 评论 -
ARouter 传自定义对象获取值为null
传参 ARouter.getInstance() .build(RouterConstant.SERVER_TION_INDICATOR_LAMP) .withObject("ownerDashBoard",object) .navigation() 参数类不能...原创 2020-04-14 18:19:10 · 7239 阅读 · 2 评论 -
Kotlin中自定义dialog
文章目录效果dialog样式dialog 背景 common_dialog_bgdialog布局 base_common_dialog_layout全局工具类 CommonDialog(建造者模式)使用效果dialog样式 <style name="custom_dialog2" parent="@android:style/Theme.Dialog"> &...原创 2020-04-07 14:00:36 · 8846 阅读 · 1 评论 -
RecycleView的MergeAdapter
文章目录实现效果使用版本RecyclerView.Adapter获取本地数据recycleview合并显示多个adapter通过协程显示请求网络数据retrofit封装类实现效果目的就是方便的将多种格式的列表在一个adapter中使用使用版本androidx扩展包下的recyclerview 1.2以上版本新增了一个MergeAdapter的api,An RecyclerView......原创 2020-04-06 18:59:50 · 8627 阅读 · 4 评论 -
ProgressBar自定义样式(仿应用宝下载样式)
<RelativeLayout android:id="@+id/rl_progress" android:layout_width="match_parent" android:layout_height="0dp" android:gravity="center_horizontal"...原创 2020-04-05 16:11:50 · 6017 阅读 · 0 评论 -
kotlin中RecyclerView.Adapter通用适配器
文章目录结合databinding,livedataBaseViewHolderBaseAdapterrecycleView通用adapter使用数据beanViewModel绑定item_layout布局activity中使用结合databinding,livedata 相关依赖 implementation "androidx.lifecycle:lifecycle-extensi...原创 2020-04-03 11:17:55 · 8921 阅读 · 0 评论 -
kotlin自定义公共标题栏(通用item组件)
文章目录公共item布局resources自定义公共标题栏使用公共item布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi...原创 2020-04-03 11:16:48 · 7886 阅读 · 0 评论 -
kotlin中使用协程Coroutines和retrofit2.6以上搭建MVVM架构
文章目录效果图使用的依赖版本retrofit封装类网络相关数据结构定义协程apiViewModel层UI层调用效果图全文链接使用的依赖版本同时启用databinding dataBinding { enabled true } implementation 'androidx.core:core-ktx:1.1.0' imple...原创 2020-04-01 21:30:06 · 10388 阅读 · 1 评论 -
Kotlin中androidx..RecyclerView的BaseQuickAdapter给子item添加点击事件
文章目录相关依赖BaseQuickAdapteradapter初始化给子item添加点击事件相关依赖allprojects { repositories { ... maven { url 'https://jitpack.io' } }}dependencies { implementation 'com.github.CymCh...原创 2020-03-25 21:57:28 · 12396 阅读 · 2 评论 -
Kotlin中Tablayout的用法
文章目录xml获取item的viewitem的xmlkotlin中tablayout渲染和点击xml <com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" ...原创 2020-03-21 13:54:43 · 9652 阅读 · 2 评论 -
Idea下kotlin的抽象类和继承,多态
/** * 抽象的类 */abstract class Human(var name:String) { abstract fun eat() abstract fun read()}/** * 实现的类 */ class Man(name:String):Human(name) { override fun read() { println原创 2017-12-01 11:42:41 · 5681 阅读 · 0 评论 -
idea环境下基于Gradle的Kotlin/Java的工程和代码互转
创建工程目录java目录代码示例kotlin工程代码示例java中嵌套kotlin代码示例默认args传参打印PS代码互转创建工程目录java目录代码示例package net.println.ktdemo;import net.println.kedemo.User;public class HelloJava { public static void main(String[]原创 2017-12-04 18:04:25 · 7002 阅读 · 0 评论 -
idea下Kotlin的扁平化集合flatMap
java代码的实现方式kotlin代码的实现方式配置和java一样 示例需求:(以默认参数args作为参数) 参数:a_b_c_d_e_f_g_h 结果:a b c d e f gjava代码的实现方式: 1.配置默认参数args java代码实现package net.println.ktdemo;import net.println.kedemo原创 2017-12-04 18:56:33 · 5616 阅读 · 0 评论 -
idea中依赖RxJava的Lambda表达式,线程池的创建
需求示例添加RxJava的依赖kotlin代码需求示例: 将字符串jfkdjfiejfijslafjljf jsdfjweipakkgo greogk lkll xmldmg 放入本地Resources文件目录下,打印出重复字符的个数,去掉空格添加RxJava的依赖: compile “io.reactivex:rxjava:1.2.1”kotlin代码:package net原创 2017-12-05 17:13:20 · 6578 阅读 · 0 评论 -
Kotlin使用Retrofit进行get请求的方法(懒加载机制)
添加依赖创建kotlin数据实体类网络请求方法和数据解析文件运行结果添加依赖: 网络请求框架retrofit2和json解析框架converter-gson compile ‘com.squareup.retrofit2:retrofit:2.1.0’ compile ‘com.squareup.retrofit2:converter-gson:2.1.0’创建kot原创 2017-12-06 11:39:14 · 7586 阅读 · 0 评论 -
Kotlin与Java的共存-Java中调用kotlin代码
kotlin数据类的调用Kotlin中object单利模式类的调用Kotlin中file类的调用jvm注解的调用灵活传参String字符串判空的调用kotlin数据类的调用 kotlin代码:package com.tianfu.kotlin/** * age成员使用注解不能有get和set方法,只能直接赋值,不能声明private */data class Person(var原创 2017-12-06 18:34:01 · 9992 阅读 · 0 评论 -
Idea下kotlin的枚举,伴生对象companion和扩展方法的使用
用法都在代码中注释package net.println.kedemoimport net.println.kedemo.Lang.*/** * 枚举,when,构造方法,扩展方法 * 伴生对象 */enum class Lang(val hello: String, test: String) { //val,var是属性 ENGLISH("HELLO", "1"), C原创 2017-12-05 11:54:03 · 6516 阅读 · 0 评论 -
Kotlin与Java的共存-kotlin调用java代码
kotlin调用javabean数据实体类kotlin的空安全问题空安全限定不能为NULLkotlin和java中泛型的差异问题SAMConversion在kotlin中调用java的坑kotlin调用javabean数据实体类 javabean实体类public class DataClass { private int id; public int getId() {原创 2017-12-07 14:22:09 · 10713 阅读 · 0 评论 -
Kotlin基础语法
1list 和map集合的实例化可变变量var和不可变变量val2字符串和数字3计算器4函数和函数表达式5递归调用6尾递归优化解决计算次数过多堆栈溢出7idea下kotlin的面向对象思想8枚举基本用法声明一个带属性的枚举类使用when来处理使用when合并枚举的元素导入枚举常量后不用限定词就可以访问9印章类sealed密封类10委托和代理单例模式11kotlin原创 2017-11-30 17:47:15 · 5220 阅读 · 0 评论 -
Idea下Kotlin的封装和继承
/** * 父类 */ open class Father { var chactor:String="性格内向" open fun action(){//允许子类重写改方法 println("天下黑白可争,世间义理难料,唯留君之明月空悬") }}/** * 子类继承父类 */class Son :Father(){ override fu原创 2017-12-01 10:54:15 · 5338 阅读 · 0 评论