自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [译] Kotlin中关于Companion Object的那些事

companion object {@JvmStaticfun aStaticFunction() {}}}这是相应编译后的Java简化版代码:public class MyClass {public static final MyClass.Companion Companion = new MyClass.Companion();fun aStaticFunction() {//外层类中添加一个额外的静态方法Companion.aStaticFunction();//方法内部又委托给伴生对

2024-05-17 02:18:27 336

原创 UncaughtExceptionHandler 小结

点击按钮触发空指针异常后,程序没有立即退出,而是先打印了空指针的异常:D/com.lee.clientapplication.ClientApplication: thread=2,throwable=null但是我们点击屏幕并没有任何的反馈,最终还是抛出了应用出错的提醒。class ClientActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedIn

2024-05-17 00:39:34 300

原创 RecyclerView源码解析

Adapter:Adapter的基类。负责将ViewHolder中的数据和RecyclerView中的控件进行绑定处理。ViewHolder:视图和元数据类。它持有了要显示的数据信息,包括位置、View、ViewType等。

2024-05-16 21:42:39 612

原创 OO六大设计原则最全分析总结篇

public class BookStore {private final List mBookList = new ArrayList();public BookStore() {setBooks();}private void setBooks() {mBookList.add(new OffNovelBook(“天龙八部”, 3200, “金庸”));mBookList.add(new OffNovelBook(“巴黎圣母院”, 5600, “雨果”));mBookList.add(new Off

2024-05-16 18:46:15 242

原创 LeetCode题解(八)0700-0799

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2024-05-16 17:01:54 261

原创 Kotlin_Native 为 AppCode 开发了个插件,你可以用 Kotlin 写 iOS App了!(2)

Hi,大家好,我是承香墨影!自从去年 12 月份,Kotlin 团队宣布 Kotlin/Native 支持和 Objective-C/Swift 相互调用之后,等于是说,Kotlin 以后将可能支持和 Objective-C/Swift 项目进行混合开发。这说明以后,我们可以直接使用 Kotlin 来开发 iOS App了。关于 Kotlin/Native,不了解的可以先看看官方文档简述。简单来说,Kotlin/Native 是一种将 Kotlin 编译为没有任何虚拟机支持的原生二进制文件的技术。Java

2024-05-16 15:53:01 361

原创 Jetpack MVVM七宗罪 之三 :在 onViewCreated 中请求数据(1)

首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。下一步还是要查漏补缺,进行针对性复习。最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!希望大家不要犯和我一样的错误呀!!!一定要看完!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-16 14:24:19 341

原创 HashMap,ArrayMap,SparseArray 源码角度分析,Android中的数据结构你该如何去选择?

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2020年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我。

2024-05-16 12:53:28 277

原创 Git - 配置并使用多个SSH KEY(2)

这里我希望可以帮助到大家提升进阶。Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-16 11:12:49 282

原创 OkHttp3源码详解(四)缓存策略

OkHttp的缓存工作都是在CacheInterceptor中完成的,Cache部分有如下几个关键类:Cache:Cache管理器,其内部包含一个DiskLruCache将cache写入文件系统:To measure cache effectiveness, this class tracks three statistics:requests issued since this cache was created.requests that required network use.whose respo

2024-05-16 01:44:05 743

原创 Lambda 表达式详解

【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!【Android开发核心知识点笔记】[外链图片转存中…(img-YEo8i8vl-1715788880558)]【Android思维脑图(技能树)】[外链图片转存中…(img-APaZnNRv-1715788880561)]

2024-05-16 00:01:33 805

原创 Kotlin 宣布一个超级特性

是的子集,比会得到更多优化,现阶段和一样,只能在构造函数中传入一个参数,参数需要用val声明,将来可以在构造函数中添加多个参数,但是每个参数都需要用val声明,官方说明如下图所示。将来如果支持添加多个参数,那么它的使用范围会越来越广的。升级到 Kotlin 1.5 之后,将被弃用,如下图所示,编译器将会给出警告。根据提示目前唯一需要改变的是语法inline替换为value, 然后在添加@JvmInline注解即可。@JvmInline编译后的效果和是一样的,因此后面的案例将会使用。

2024-05-15 22:53:53 744

原创 HashMap 如何解决冲突?扩容机制?

在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。

2024-05-15 18:42:32 250

原创 Git - 配置并使用多个SSH KEY(2)

这里我希望可以帮助到大家提升进阶。Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-15 17:18:02 330

原创 Toolbar在Android中的使用

愿你有一天,真爱自己,善待自己。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-15 14:06:41 517

原创 Recylerview 删除头部分割线

其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。(以下体系的复习资料是我从各路大佬收集整理好的)《Android开发七大模块核心知识笔记》《960全网最全Android开发笔记》《379页Android开发面试宝典》历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。

2024-05-15 12:30:14 311

原创 onMeasure() 为什么会执行多次?Android 一个困惑很久的问题!

注意到:wm.addView(myFrameLayout, layoutParams);layoutParams 里重点关注宽、高字段的值,我们知道这是给Window的尺寸约束,以宽为例,设置不同的值,看看其效果:1、wrap_contentlayoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;[图片上传失败…(image-f8d0f

2024-05-15 07:19:14 869

原创 Leetcode面T8(1-9)树

知识点动态规划,跟青蛙跳台类似,坑点: 因为这能条三个台阶,所以我们的动态方程中,有三项d[i-1] + d[i-2] + d[i-3],前两项相加的时候,会存在溢出的情况,因此此时前两项也需要进行取模1000000007操作。class Solution {public int waysToStep(int n) {if(n

2024-05-15 05:36:40 661

原创 Kotlin-源码里成吨的-noinline-和-crossinline-是干嘛的?

上面这些公司都是时下最受欢迎的互联网大厂,他们的职级、薪资、福利也都讲的差不多了,相信大家都是有梦想和野心的人,心里多少应该都有些想法。也相信很多人也都在为即将到来的金九银十做准备,也有不少人的目标都是这些公司。我这边有不少朋友都在这些厂工作,其中也有很多人担任过面试官,上面的资料也差不多都是从朋友那边打探来的。除了上面的信息,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料。

2024-05-15 04:27:43 642

原创 Jetpack Compose 的Column , Row ,Box 的用法(1)

@Preview()@Composablefun columnTest(){Column(// 设置Column的宽度高200dpmodifier = Modifier.size(200.dp),// 设置居底部对齐verticalArrangement = Arrangement.Bottom){Text(text = “第一个文本控件ikkokokojih呼呼呼呼呼呼”)Text(text = “第二个文本控件”)}}举个例子说明,比如上面两个文本控件,一个比较长,一个比较短。如果horizontalA

2024-05-15 02:56:33 884

原创 HashMap 如何解决冲突?扩容机制?

在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。

2024-05-15 01:29:54 684

原创 Git - 配置并使用多个SSH KEY(2)

这里我希望可以帮助到大家提升进阶。Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-15 00:04:58 748

原创 XML中配置网易云歌手详情滑动效果

custom_transformation属性则是专为自定义Transformation而服务,其值为自己实现的Transformation类的全路径。自定义Transformation有两种方式,其一是实现Transformation接口,另一种方式是继承TransformationAdapter类,TransformationAdapter是Transformation是Transformation接口的空实现,继承于此则不需要实现所有的方法。/**

2024-05-14 21:59:42 571

原创 StateMachine使用及源码解读(2)

实现自己的状态只需要继承State类,实现processMessage方法即可public class State implements IState {protected State() {}@Overridepublic void enter() {}@Overridepublic void exit() {}@Overridepublic boolean processMessage(Message msg) {return false;}@Overridepublic String

2024-05-14 20:13:31 747

原创 React Native 与 嵌入Android原生与Activity页面互相跳转

return ll;

2024-05-14 18:39:19 981

原创 Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的JSON数据

import io.netty.handler.codec.json.JsonObjectDecoder;import io.netty.handler.codec.string.StringDecoder;import io.netty.handler.codec.string.StringEncoder;import io.netty.handler.logging.LogLevel;import io.netty.handler.logging.LoggingHandler;public class

2024-05-14 17:20:11 604

原创 Kotlin条件控制及循环(1)

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

2024-05-14 15:38:52 252

原创 Kotlin 切包适配实战(1)

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2024-05-14 14:30:14 769

原创 HashMap内部原理解析(1)

本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。

2024-05-14 03:11:13 610

原创 Git 工作流的一些经验分享

Gitflow工作流Forking工作流下面针对性说下每个工作流可能使用到的场景和适用性:集中式工作流集中式工作流 | center这种工作方式跟svn类似,它只有一个master分支,开发者会先把远程的仓库克隆到本地,之后的修改和提交都在本地操作,直到在某个合适的时间点将本地的代码合入到远程master。这种工作流比较适合小团队,因为小团队可能不会太多的协作和合流的动作。功能开发工作流这种工作流关注功能开发,不直接往master提交代码保证它是稳定并且干净的,而是从master拉取feature分支进行功

2024-05-14 01:46:14 529

原创 [译] Android 的多摄像头支持(1)

首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。下一步还是要查漏补缺,进行针对性复习。最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!希望大家不要犯和我一样的错误呀!!!一定要看完!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 20:45:09 614

原创 Ubuntu上搭建samba服务器

sudo apt-get install sambasudo apt-get install smbfs //旧版本ubuntu14.04 LST用下面命令安装:2. 创建共享目录:mkdir /home/lihacker/developsudo chmod 777 /home/lihacker/develop3 .创建Samba配置文件:a. 保存现有的配置文件sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bakb. 修改现配置文件sudo vi /et

2024-05-13 19:06:47 482

原创 Recylerview+BaseAdapter 完成下拉刷新与上拉加载

*一个零基础的新人,我认为坚持是最最重要的。**我的很多朋友都找我来学习过,我也很用心的教他们,可是不到一个月就坚持不下来了。我认为他们坚持不下来有两点主要原因:他们打算入行不是因为兴趣,而是因为所谓的IT行业工资高,或者说完全对未来没有任何规划。刚开始学的时候确实很枯燥,这确实对你是个考验,所以说坚持下来也很不容易,但是如果你有兴趣就不会认为这是累,不会认为这很枯燥,总之还是贵在坚持。技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备!

2024-05-13 17:31:20 802

原创 NestedScrollView嵌套滑动源码解读

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2024-05-13 15:00:54 692

原创 Kotlin开发效率提升技巧—扩展函数

就是说一个类中定义了一个函数,然后又定义了一个和这个成员函数一样结构的扩展函数,调用的时候将不会调用到扩展函数,举个例子// 调用方法这段代码执行结果会打印"Class method"

2024-05-13 13:23:02 698

原创 kotlin 入门到精通 单例模式(六)

}static {HungrySin var0 = new HungrySin();INSTANCE = var0;}}2.懒汉式 doubleCheck说到延迟加载就直接跳到线程安全且性能较好的doubleCheck吧,若是用java实现会用2层check,第一层判断减轻锁的负担直接判断是否创建过,第二层判断加锁保证线程安全,最后用volatile禁止重排序防止编译器优化导致的线程安全问题。在kotlin里面也无需这么复杂,直接使用by lazy代理即可实现class DoubleCheckSin pri

2024-05-13 12:15:08 878

原创 HashMap,ArrayMap,SparseArray 源码角度分析,Android中的数据结构你该如何去选择?(1)

e.value = value;afterNodeAccess(e);return oldValue;}}++modCount;if (++size > threshold)resize();afterNodeInsertion(evict);return null;}我们来分析一下上面的代码,当我们调用put方法的时候,实际上调用的是putVal()方法。在调用的putVal的时候我们调用了HashMap内部的hash方法来根据我们的key得到一个hash值。static final int hash(O

2024-05-13 09:17:45 393

原创 Git - 配置并使用多个SSH KEY(2)

这里我希望可以帮助到大家提升进阶。Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 07:52:10 698

原创 [译] Android 的多摄像头支持(1)

首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。下一步还是要查漏补缺,进行针对性复习。最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!希望大家不要犯和我一样的错误呀!!!一定要看完!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 03:50:12 893

原创 Ubuntu上搭建samba服务器

sudo apt-get install sambasudo apt-get install smbfs //旧版本ubuntu14.04 LST用下面命令安装:2. 创建共享目录:mkdir /home/lihacker/developsudo chmod 777 /home/lihacker/develop3 .创建Samba配置文件:a. 保存现有的配置文件sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bakb. 修改现配置文件sudo vi /et

2024-05-13 02:11:17 297

空空如也

空空如也

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

TA关注的人

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