自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Handler - 线程间通信机制

一个线程内部只有一个 MessageQueue。

2021-02-02 23:17:07 581 4

原创 Kotlin协程介绍

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例...

2020-12-12 23:34:42 1317 1

原创 使用 ArrayList.add() 方法,添加的数据为什么会被覆盖?

示例public class test1 { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); List<List<Integer>> res = new ArrayList<>(); list.add(1); res.add(list); System.out.println(res); list.

2020-11-11 20:09:16 1381

原创 Android事件分发机制简单理解

参考链接https://blog.csdn.net/caifengyao/article/details/65437695?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai

2020-11-08 15:15:42 2280 4

原创 自定义Navigator切换fragment

使用场景:使用Navigation完成fragment间的跳转操作。问题描述:Navigation 实现 fragment 间的跳转用的是replace()方法,此方法会移除原来的fragment,再添加新的fragment,所以回到上一个fragment时就需要重新走一遍生命周期流程,重新加载数据。解决方案:分析 NavController类 中的navigate 源码private void navigate(@NonNull NavDestination node, @Nullabl

2020-10-18 14:15:56 3036 3

原创 Recyclerview 上拉加载更多

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录效果如下主要步骤封装前代码1.adapter中2.定义一个抽象类3.MainActivity中封装后代码1. LoadMoreWrapper2. Adapter3.Activity中效果如下主要步骤实现上拉加载更多主要有3步定义两个 item , 第一个是正常显示内容的 item ,第二个是显示正在加载视图的 item 。如果 Adapter 中(position + 1 == itemCount),则说明滑到了最下面

2020-10-11 15:42:08 4202 5

原创 Retrofit2 使用总结

0.首先导入相关的库implementation 'com.squareup.retrofit2:retrofit:2.9.0'implementation 'com.squareup.retrofit2:converter-gson:2.9.0'implementation 'com.squareup.okhttp3:okhttp:4.8.0' // 导入第一行之后如果未成功导入okhttp库,手动导入。1.定义一个 Service 接口interface PlaceService {//发

2020-10-05 14:14:46 441

原创 Navigation + MotionLayout 实现动态底部导航栏

参考链接: 底部导航栏的实现文章目录效果如下一、MotionLayout1.创建矢量图2.创建MotionLayoutactivity_main.xml二、NavigationMainActivity总结效果如下一、MotionLayout1.创建矢量图在drawable目录下创建矢量图,每个矢量图都创建 fill(填充) 以及 stroke(无填充,边框) 版本,用于实现点击切换按钮状态。矢量图可以使用AS自带的,快捷创建如下图。创建完成后会自动 fill 状态代码,可以修改相关属性。

2020-09-23 12:14:23 524

原创 为什么要使用getters and setters?

问题:为什么定义实体类的时候要定义getters and setters函数呢?为什么不能直接调用对象.属性修改呢?个人理解如下:可以在函数里面定义一些逻辑,比如满足条件才能 set ,或者在 返回值的时候对值做一些其他处理。setters and getters 可以有不同的访问级别,比如某个属性只能 get 而不能 set 时, 可以只将 getters 设置为 public ,setters 设置为private。便于维护,例如对于现在的需求而言,设置属性 value 可以简单利用..

2020-08-25 13:26:15 1118

原创 自定义View——可横向滑动的折线图

问题:如何画一个显示一天中24h气温变化的折线图,要求折线图能横向滚动。思路: 先自定义一个View,这个View中只包含两个控件,一个圆,和一个显示温度的TextView。代码如下package com.example.viewtest.linechartimport android.content.Contextimport android.graphics.Canvasimport android.graphics.Colorimport android.graphics...

2020-08-14 10:39:57 314

原创 对getWidth()/getHeight() 与 getMeasuredWidth()/getMeasuredHeight() 方法的理解

问题1:getWidth() & getMeasuredWidth() 方法返回的值是什么?问题2: getWidth() & getMeasuredWidth() 方法分别什么时候调用?这些方法都是在View类中的,首先看各自的源码:int mMeasuredWidth;//mMeasuredWidth是View类中的全局变量...public final int getMeasuredWidth() { return mMeasuredWidt..

2020-08-10 17:09:14 1086

原创 对Kotlin中as关键字的理解

Kotlin中as关键字可以用于对象的类型转换先看下列代码fun main() { val any: Any = "abc" print(any.length)}此时会报错,因为Any类中没有length()方法,但是打印一下any对象的类型就会发现,any对象的类型是class java.lang.String,说明any对象实际上是个String类型的变量,但是kotlin在编译时会认为any对象是指定的Any类型的对象,所以就不能调用length()方法。fun mai.

2020-07-28 11:00:11 9544

原创 两种转化LiveData对象的方法:map()和switchMap()

Map()方法public static LiveData<Y> map (LiveData<X> source, Function<X, Y> mapFunction)此函数接收两个参数,第一个参数是用于转换的LiveData原始对象,第二个参数是转换函数。举例如下:假设现在有一个User类,属性包括firstName,lastName,age。data class User(var firstName: String, v

2020-07-19 14:23:29 3658

原创 接口回调机制在网络请求中的应用

1.为什么要使用回调机制object HttpUtil { fun sendRequest(address: String) { thread { try { val client = OkHttpClient() val request = Request.Builder() .url(address) .buil

2020-06-12 17:48:01 354

原创 为什么要使用匿名内部类?

**1.为什么要使用匿名内部类**package com.example.testapp;interface HelloWorld{ public void print();}public class NimingTest { public static void main(String args[]){ PrintHelloWorld(new Weneed()); } public static void PrintHelloWorld(

2020-06-12 11:38:28 929

空空如也

空空如也

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

TA关注的人

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