- 博客(83)
- 收藏
- 关注
原创 [-综合篇-] 相机、OpenGL、视频、Flutter和SurfaceView
它实现了接口,需要传入一个接口public class TriangleGLView extends GLSurfaceView implements GLSurfaceView.Renderer {private Triangle mTriangle;public TriangleGLView(Context context) {this(context, null);}public TriangleGLView(Context context, AttributeSet attrs) {sup
2024-05-17 02:00:09 266
原创 TextView AutoLink, ClikSpan 与长按事件冲突的解决(1)
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?
2024-05-17 00:19:20 388
原创 React Native环境安装 、并启用真机调试
由于Android自带的AVD模拟器运行速度慢,使用genymotion模拟器还要安装其他软件并且可能出现一些未知的错误,所以建议采用Android真机运行。以下操作建立在搭建好ReactNactive环境的前提下。通过USB将手机和电脑连接,打开手机上的USB调试如何开启USB调试?(Android手机型号众多,可能方式不太一样,这里以小米手机为例)点击进入 设置->关于手机,连续点击几次MIUI版本,触发开发者模式。
2024-05-16 21:18:06 1100
原创 OkHttp初探2:如何使用OkHttp进行下载封装?带进度条?Kotlin+Flow版本。
println(“nowTime[nowTime [nowTime[{Thread.currentThread().name}] ${msg.joinToString(” “)}”)}/***/internal typealias ProgressBlock = (state: DownloadState) -> Unit/***/sealed class DownloadState {/***/object UnStart : DownloadState()/***/class Progress(var
2024-05-16 18:27:37 266
原创 Lambda表达式入门(上篇)
看到这里小伙伴们是不是感觉Lambda表达式的好处了,当然我们要经常写,才能熟练掌握。lambda还有一些高级用法,老顾下次再继续跟小伙伴们介绍。!!现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。如有需要获取资料文档的朋友,可以点击我的GitHub免费获取!如何做好面试突击,规划学习方向?
2024-05-16 16:43:49 350
原创 Kotlin 的语法和高级特性(1)
有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!an>?// 为什么可以添加进去呢?因为编译器会这么去存list.add((Man)Man1)// 小转大是隐性的,大转小强转才需要手动加类型。// 那这里为什么又不能存 Man 的父类呢?
2024-05-16 15:36:54 311
原创 iOS开发:图标生成器Prepo 的使用
(1)Prepo可以帮助设计师和iOS开发者快速生成各种尺寸的图标,只需将最大分辨率的图标(最大分辨率的图标尺寸为1024*1024)拖拽进来,其他的具体的icon处理交给Prepo做就好了,非常简单方便。(2)通过点击Prepo对话框顶部右上角的“copy plist”按钮,设计师和iOS开发者可以轻松的把导出的文件复制到Xcode中,节省了大量的工作时间。**要想成为高级安卓工程师,必须掌握许多基础的知识。
2024-05-16 13:57:48 336
原创 Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么(1)
在这里小编整理了一份Android大厂常见面试题,和一些Android架构视频解析,都已整理成文档,全部都已打包好了,希望能够对大家有所帮助,在面试中能顺利通过。喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者转发支持一下呗《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!ue.*/= null) {//一般情况走这里。
2024-05-16 12:33:14 361
原创 Fragment 可见性监听通过androidx 运行,多种 case 完美兼容!
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-16 10:48:00 399
原创 Native开发工具之CPU 和架构(三)(1)
通常,在编译时使用#ifdef及以下各项确定 ABI 最为方便:对于 32 位 ARM,使用__arm__对于 64 位 ARM,使用对于 32 位 X86,使用__i386__对于 64 位 X86,使用__x86_64__请注意:32 位 X86 称为__i386__,而不是__x86__,这可能与您预想的有所不同!本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
2024-05-16 01:19:51 414
原创 Kotlin学习(三):表达式
//javaswitch(a){case 0 : c = 5; break;case 1 : c = 4; break;default : c = 20 ;}//kotlinwhen(a){0 -> c = 51 -> c = 4else -> c = 20}when 多个值相同 可用,间隔 如下所示:when(a){0 , 2 -> c = 51 -> c = 4else -> c = 20}//也可写为c = when(a){0 , 2 -> 51 -> 4else -> 20}3.try…catcht
2024-05-15 23:45:31 1191
原创 Kotlin Flow 看这一篇 带你入门~
文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析资料展示:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!a,b -> “aa,ab”}.collect{文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,
2024-05-15 22:38:00 750
原创 IOS开发之——绘制基本形状(73)
感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。
2024-05-15 19:46:15 418
原创 Handler--更新UI的方法
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取![外链图片转存中…(img-CkQAH2PR-1715768505514)]
2024-05-15 18:21:57 326
原创 Fragment 可见性监听通过androidx 运行,多种 case 完美兼容!
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-15 16:53:27 261
原创 [译] 为什么 Flutter 能最好地改变移动开发(1)
这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容除了这份笔记,还给大家分享Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~
2024-05-15 15:59:09 254
原创 Studio-4-1-放了个大招,期待已久的动态数据库工具终于来了!
Sunflower 应用的 UI 包含两个标签页。先看一下植物目录标签页,里面列出了可以添加到我的花园的植物。在右上角有一个筛选按钮,点击该按钮会按生长区筛选植物,出现如下列表:可以很直观地看到,这个按钮会根据一些条件来筛选植物。假设我们对整个工程完全不了解,希望通过 Database Inspector 来搞清楚如何实现筛选功能。从菜单栏依次选择 View > Tool Windows > Database Inspector,就能在 Android Studio 里打开 Database Inspect
2024-05-15 13:40:11 846
原创 ReactNative 常用开源组件(1)
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-15 12:05:35 418
原创 OkHttp3源码解析--设计模式
看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
2024-05-15 07:00:20 317
原创 Kotlin:集合(一)
// 文章后面会讲解forEach高阶函数。比for循环简洁多了for (index in arr){print(“$index \t”)}输出结果:4 3 2 1中的集合和其他语言不同的是,集合可分为可变和不可变集合。由以上几点我们可出,在定义集合类型变量的时候如果使用、、声明的时候该集合则是不可变集合,而使用、、的时候该集合才是可变类型集合。这里我就不提供源码来分析了,有兴趣的可以看一看源码!源码在文件2.1、List类型我们知道,一个接口是不能直接实例化的,那我们要初始化一个怎
2024-05-15 05:18:23 672
原创 Kotlin 宣布一个超级特性
是的子集,比会得到更多优化,现阶段和一样,只能在构造函数中传入一个参数,参数需要用val声明,将来可以在构造函数中添加多个参数,但是每个参数都需要用val声明,官方说明如下图所示。将来如果支持添加多个参数,那么它的使用范围会越来越广的。升级到 Kotlin 1.5 之后,将被弃用,如下图所示,编译器将会给出警告。根据提示目前唯一需要改变的是语法inline替换为value, 然后在添加@JvmInline注解即可。@JvmInline编译后的效果和是一样的,因此后面的案例将会使用。
2024-05-15 04:10:51 970
原创 iOS开发:SQLite使用
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。* sqlite3_exec()可以执行任何SQL语句,比如创表、更新、插入和删除操作。
2024-05-15 02:34:23 814
原创 Handler--更新UI的方法
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取![外链图片转存中…(img-WxdEURoi-1715706529194)]
2024-05-15 01:09:01 770
原创 Fragment 可见性监听通过androidx 运行,多种 case 完美兼容!
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-14 23:40:25 724
原创 View和ViewGroup
看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
2024-05-14 21:29:12 621
原创 RXJava之扩展的观察者模式(二)(1)
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的最后,互联网不存在所谓的寒冬,只是你没有努力罢了!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!最后,互联网不存在所谓的寒冬,只是你没有努力罢了!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 19:43:05 650
原创 poi-tl—一个超级好用开源的Word模板引擎
在文档的任何地方做任何事情(Do Anything Anywhere)是poi-tl的星辰大海。2.1 poi-tl与其他word模板引擎的对比方案移植性功能性易用性Poi-tl| Java跨平台 | Word模板引擎 | 基于Apache POI,更友好的API |Apache POI Word快速入门| Freemarker | XML跨平台 | 仅支持文本,很大的局限性 | 不推荐,需要维护XML结构,代码后期不可维护 |
2024-05-14 18:19:20 608
原创 MPAndroidChart 教程:与图表进行手势交互 Interaction with the Chart(二)(1)
为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
2024-05-14 16:49:36 642
原创 Kotlin学习手记——协程初步
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
2024-05-14 15:21:27 819
原创 JVM-理解字节码执行引擎
相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!r,以思维脑图的方式展示在下图;[外链图片转存中…(img-JO5iY4my-1715667078626)]
2024-05-14 14:11:30 846
原创 Handler分析--①Message(2)
我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。
2024-05-14 02:50:57 916
原创 Fragment中调用startActivityForResult的那些坑
我这里整理了一份完整的学习思维以及Android开发知识大全PDF。当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 01:19:24 400
原创 zookeeper使用篇-Zookeeper系统核心模型
一般开发中,Zookeeper自带的权限操作已经满足日常使用,但是如果需要特殊的权限控制操作,Zookeeper同样支持自定义一个权限控制器,在Zookeeper中,权限主要在接口中定义,其代码定义如下:我们需要实现自定义的权限控制器只要实现当前接口,在实现完毕以后,我们将该自定义的权限控制器注册到Zookeeper服务中去,而注册的方式有两种:1.系统属性配置在Zookeeper启动的时候,在启动参数中指定:2.配置文件方式。
2024-05-13 20:26:28 1022
原创 svn和git 配置忽略文件(1)
Android Studio 配合SVN时,添加忽略文件相对简单,首先打开项目的Settings选项,切换到Version Control下的Ignored Files目录,如下图:ignore1.png点击右上角绿色加号,出现如下对话框:ignore2.png其中Ignore specified file选项是忽略指定的文件Ignore all files under选项是忽略指定文件夹下的文件Ignore all files matching选项是忽略匹配指定格式的文件一般需要忽略的文件如下:**1、.
2024-05-13 18:42:55 1218
原创 ReactNative 常用开源组件
以下是资料目录和内容部分截图里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!n]( )以下是资料目录和内容部分截图[外链图片转存中…(img-GT6nUffw-1715591161646)][外链图片转存中…(img-jXhL4UQW-1715591161650)]里面包括详细的知识点讲解分析,带你一个星期入门Flutter。
2024-05-13 17:06:13 944
原创 Monoio:基于 io-uring 的高性能 Rust Runtime(1)
但是开发这类组件对开发者的专业水平有较高的要求,编程范式上对开发者心智负担巨大,稍有不慎就会造成非预期的后果。举例来说,在 C++ 中要完成一次异步的网络请求,需要将整个流程按照异步点拆分成独立的纯同步函数,并以 callback 的形式将其串联——这一来大大降低了其可读性,二来状态转换和管理容易出错;并且对变量生命周期需要精细管理,否则就会出现悬垂指针等内存问题。为什么不试试神奇的 Rust 呢?Rust 语言通过引入所有权模型,在不引入垃圾回收的情况下保证了内存安全;
2024-05-13 14:30:52 357
原创 Kotlin学习手记——协程初步(1)
suspend fun getUserSuspend(name: String) = suspendCoroutine { continuation ->githubApi.getUserCallback(name).enqueue(object: Callback{override fun onFailure(call: Call, t: Throwable) =continuation.resumeWithException(t)override fun onResponse(call: Call, r
2024-05-13 13:06:58 606
原创 Js正则表达式
为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
2024-05-13 11:56:30 788
原创 Handler中Looper死循环为什么不会导致应用卡死?
为什么没有导致应用卡死?因为应用卡死压根与这个Looper没有关系,应用在没有消息需要处理的时候,它是在睡眠,释放线程;卡死是ANR,而Looper是睡眠。卡死是在主线程中执行一个耗时的操作,loop()会一直在处理一个消息,而for循环中有很多消息需要被处理,而这一个消息就要处理很久,这一个消息的处理时间,会转变成其他的点击事件没有响应。因为主线程在接受到其他消息的时候没有时间去响应,它的时间都在处理那一个耗时的操作,造成点击事件没有办法响应,点击事件没有办法响应就容易出现ANR。
2024-05-13 08:57:29 845
原创 Fragment 可见性监听通过androidx 运行,多种 case 完美兼容!
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-13 07:27:21 642
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人