自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

knight康康的博客

试一试,万一成功了呢

  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 kotlin 协程在 Android 中的使用——Jetpack 中的协程、Retofit中使用协程及源码分析

介绍kotlin协程在android的使用,介绍kotlin协程+retrofit+ViewModel+LiveData的组合使用,和一些源码分析

2019-11-01 10:21:33 3838 11

原创 Android Gradle flavor —— 打造不同风味的app

为什么使用flavor?一个产品,主体功能相同,但又存在差异。比如国内各个手机厂商众多。你的产品想使用各个厂商手机内置的钱包支付功能怎么办?本文将通过 flavor 的学习解决这个问题。flavor 如何使用,代码的合并规则,module 中的 flavor 和 app 有冲突或缺失该如何处理

2021-11-17 13:00:24 5138

原创 Jetpack Compose 测量流程源码分析

本文你将学到什么通过一段代码场景,以Layout 函数为入口分析源码,解答一些心中所惑,如通过 Modifier 设置大小是如果起作用的?MeasurePolicy 接口的 measure 方法是怎么调用的?布局中的测量流程是什么样的?控件是怎么确认大小的?.........

2021-07-07 12:26:14 784 3

原创 Modifier源码,Kotlin高阶函数用的真6

在 JetPack Compose 中, 经常会用到 Modifier,它可以控制组件的行为和外观 如大小,背景等,还可以添加一些交互,如点击、滑动等。Modifier 功能很强大。Modifier 核心代码不到100行,Modifier 中把 Kotlin 高级函数用的很 6,以至于初看代码有点懵 ???? 。所以打算写此文章来学习一下 Modifier 中代码是如何执行的。Modifier 核心源码如下 Modifier.ktinterface Modifier { fun <R>

2021-06-22 21:13:17 1288 4

原创 Gson 字段排除策略总结

本文叙述了几种Gson中如何排除字段参数序列化和反序列化的方法,分别时关键词排除、使用@Expose进行排除,自定义排除策略。

2021-05-24 00:24:31 1265

原创 JetPack Compose 手写一个 Row 布局 | 自定义布局

介绍 Jetpack compose 如何自定义布局,通过学习自定义布局实现自己的Row的布局

2021-05-19 22:13:35 1760 5

原创 Jetpack Compose 基础 | 布局

本文主要内容:1了解Modifier的作用。2.Box、Colum、Row、ConstraintLayout的使用。3.重点介绍了 Box 和 Column 参数的使用。4.搞懂 Column 中的 Arrangement和 Alignment 的区别。强大的Modifier说布局前,先来简单了解一下修饰符——Modifier修饰符可以控制 组件的行为和外观 如大小,背景等,还可以添加一些交互,如点击、滑动等。 Text( "Android", modi

2021-04-17 22:09:55 3656 1

原创 类比学习——java 泛型& kotlin 泛型中的 in out where

在学习 kotlin 泛型的时候,经常会遇到 in out 这两个词,一会用in 一会用out,为啥这里要用 out ?为啥哪里用 in ?啥什么用 out 啥时候用in ?对应上面问题以前我是晕乎乎的,不是很明白,于是打算写这篇文章梳理一下,搞清楚怎么回事。Java 泛型在学kotlin 泛型之前,先回顾一下Java中的泛型为了方便说明引入下面几个类具体代码public class Animal { }public class Dog extends Animal{ }public cl

2021-02-24 21:46:55 1971 2

原创 Jetpack Compose 基础 | 混个脸熟篇

环境搭建工具由于 Jetpack Compose 目前还没有出正式版,所以要想开发体验,需要下载 最新 Canary 版的 Android Studio 预览版。创建新项目打开最新 Canary 版的 Android studio 预览版,创建一个新项目,你会发现创建新项目模板有一个 Empty Compose Activity 的模板,选择它创建一个项目就可以体验 Jetpack Compose 了。在创建 Jetpack Compose 你会发现 _minimumSdkVersion _

2021-01-13 23:35:44 5012 10

原创 关于 kotlin 的 forEach 如何实现 break/continue 的思考

在 kotlin 的 forEach 如何实现 break/continue 的效果?我们如何以优雅的方式实现break/continue相同的效果,函数式编程是个不错的选择

2021-01-06 15:40:51 10398

原创 在codelabs上学习如何搭建自己的codelabs

搭建自己的codelabs什么是Codelabs相信很多人应该用过,特别是android开发者官方介绍Codelabs提供了一个指导、教程、实践的编码体验 ,特别喜欢它按步骤的交互方式,如下图所示需要安装的软件GO语言Node.js v10+和npmclaat(由谷歌维护的开源命令行工具)1和2 安装应该没啥大问题,claat有点麻烦,按文档说的只要执行安装就行了go get github.com/googlecodelabs/tools/claat由于网络原因,可能会

2020-12-20 15:18:25 3177 2

原创 MotionLayout 使用说明书(进阶+实战)

MotionLayout 使用说明书(进阶+实战)在上一篇MotionLayout 使用说明书(入门级详解)中 介绍了MotionLayout 简单实用,今天本文来一篇进阶+实战,再来领会一下MotionLayout 的???????? 之处。本文你将学到1. 使用代码操控2. 和其它组件配合使用3. 仿华为拨号界面动画效果4. Android 11 彩蛋制作1.使用代码操控为什么要用代码控制转场呢,xml 写着不香吗???? ?xml 写着很方便,但是有时我们需要动态的改变转场的效果,就需

2020-11-14 10:08:01 4147 3

原创 MotionLayout 使用说明书(入门级详解)

准备工作把大象????关进冰箱需要三步,让项目中用上MotionLayout只需两步第一步:升级constraintlayout 至2.0及以上 implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'写此文时最新版本为 2.0.0-rc1 (话说 这个2.0.0 开发有点长呀,现在稳定版还是1.1.3)第二步:将布局转换为MotionLayoutMotionLayout 是ConstraintLayout 的子

2020-08-14 23:28:33 8622 9

原创 一个关于Dart错误提示的思考

前情提要引发我思考的就是下面这个错误提示 Only static members can be accessed in initalizers什么 ??????? double number=this.generateData(); dart 类可不可以这样写☕ java 可以呀,what???? ,为啥java可以呢?正片 ????java 类声明public class Test { //调用成员方法,并把返回值返回赋给成员变量num public double nu

2020-07-17 21:59:09 588

原创 Palette咋取不了黑白色?

1.来个需求最近有个需求,根据用户设置的个人主页背景改变字体颜色,想想这个比根据手机壳改变主题的需求相比还算合理。那就想想怎么做吧。我想Android 中有个Palette库(implementation ``**'androidx.palette:palette:1.0.0'**)应该可以做。我的思路大致如下 1 .利用Palette 获取图片的主色调 Palette.from(bitmap) .generate { palette -> .

2020-06-22 09:29:44 537

原创 Retrofit使用说明书

本文主要介绍 Retrofit 的使用,表单上传,文件上传,Retrofit是目前比较流行的Android 网络请求框架Retrofit主页,他是基于OkHttp进行了进一步封装,真正进行网络请求工作的是OKHttp,但是Retrofit 利用动态代理等处理,让开发者使用一些注解、很简单的代码就实现网络请求。(用了都说好,哈哈????),关于Retrofit的是如何工作的可以看看我上一篇写的源码面前无秘密之——Retrofit 源码分析,本文主要探讨Retrofit的使用。

2020-06-13 14:52:11 570 1

原创 源码面前无秘密之——Retrofit 源码分析

本文主要通过Retrofit的简单使用,来分析使用Retrofit的大致过程,通过分析分析源码来了解一下它的秘密。一.Retrofit 简单使用1. 导入依赖implementation 'com.squareup.retrofit2:retrofit:2.8.1'下面分析的Retrofit版本也是2.8.12.创建API方法接口interface ApiService { //普通版 @GET("article/list/{page}/json") fun get

2020-05-13 22:37:05 416

原创 重新认识一下Android 的Theme与Style

如何正确开发外观样式 | ADS 中文字幕视频 Theme (主题) 与Style(样式)的区别Android 中的Theme 和 style都是使用 style tag 标签来表示,如下所示 <style name="name"> &lt...

2020-04-01 22:06:25 799

原创 NDK 基础知识–JNI java与c++

NDK 基础知识–JNI开发环境: Android studio v3.6.1(3.6.0都支持kotlin与c/c++互相调用,是该学学NDK了,不能再找理由了)NDK 可以让我们Android 应用中使用C、C++代码。以前Android 都是使用java,NDK中包含JNI (java本地接口)可以使用java 调用c、c++等。如今kotlin被Android 官方宣布第一开发语言...

2020-03-24 22:42:38 394 1

原创 android studio 打release包报错:Lint found fatal errors while assembling a release target.

今天升级了一下android studio 发现代码可以运行,但是打release 包出错了,错误提示如下Lint found fatal errors while assembling a release target.To proceed, either fix the issues identified by lint, or modify your build script as fo...

2019-07-13 13:23:55 2903

原创 kotlin中有趣的用法,函数式编程

1.扩展函数2.kotlin Lambda3.集合处理4.闭包

2019-07-09 20:10:58 1324

原创 使用新版的BottomNavigationView当Item大于3时,去除动画很简单

BottomNavigationView 是用来实现底部导航的功能,是在api 26的推出的,是兼容的,而且在android Studio有模板代码,用起来很方便,item可以添加1-5个,但是当item超过3是就会有偏移动画,如下效果但在新版的BottomNavigationView 两个属性就可以解决这个问题 (网上通过反射的解决方案在这个新版本无效,因为此版本BottomNavigati...

2018-10-10 22:27:33 3552 6

原创 RecyclerView配合ItemTouchHelper的使用

temTouchHelper,可以很好的处理RecyclerView的item的滑动拖拽功能。ItemTouchHelper是android.support.v7.widget.helper包中的一个类,但现在android官方文档搜索,你会发现有两个ItemTouchHelper,其中是这个包下,另一个是androidx.recyclerview.widget包下的,根据官网说法android...

2018-09-27 13:35:25 2407

原创 向ConstraintLayout迁移

哎,前几天写的关于ConstraintLayout不小心写删掉了,今天重新写一篇。ConstraintLayout是现在google力推的一种布局,它的特点就是可以做到几乎没有嵌套,提高UI渲染速度。从 RelativeLayout向ConstraintLayout迁移网上有人说ConstraintLayout是RelativeLayout增强版,确实RelativeLayout能做到的Co...

2018-09-23 16:36:35 168

原创 Android顶部导航之TabLayout和ViewPager的组合,setupWithViewPager有点坑

TabLayout是Android Design Support Library的组件,可以很方便的写出顶部导航栏比以前那个什么TabHost好用多了,因为是Design Support Library下的控件,所以使用它要引入相关依赖 implementation 'com.android.support:design:26.1.0'**注意**Android studio 3.

2018-01-09 22:02:57 8505 3

原创 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

数据库执行遇到的错误[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column'information_schema.PROFILING.SEQ' which is not functionally dependent

2017-12-22 11:34:23 1392

原创 OKHTTP3的简单使用,表单提交,json传递

OKHTTP3的简单使用使用okhttp3需引入以下依赖 compile 'com.squareup.okio:okio:1.13.0' compile 'com.squareup.okhttp3:okhttp:3.9.0'1.okhttp GET方式请求 //创建OkHttpClient对象 OkHttpClient

2017-09-15 20:43:12 37265 11

原创 TextInputLayout+EditText在注册界面的使用(密码的的隐藏和可见,imeOptions的使用)

本文主要利用注册界面的例子介绍TextInputLayout和EditText一些属性的使用TextInputLayout是Design Support Library中的一个控件,使用的时候需要添加下面这个依赖 compile 'com.android.support:design:25.3.1'先看看运行效果吧

2017-05-18 13:40:37 6587 3

Android顶部导航之TabLayout和ViewPager的组合

http://blog.csdn.net/knight1996/article/details/79018054博客的参考代码

2018-01-13

简单的注册界面——TextInputLayout

一个简单的Android注册界面,运用了TextInputLayout控件,压缩包是一个Android studio 的Module文件

2017-05-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除