- 博客(200)
- 收藏
- 关注
原创 小程序发布流程(1)
(一)调整好心态心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。(二)时间挤一挤,制定好计划一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。
2024-05-09 20:35:58
450
原创 字节跳动:必面题说一下Android消息机制(1)
我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!@Override// 执行消息,更新主线程中的控件。= null) {@Override// 退出时情况消息队列中的消息。
2024-05-09 19:15:39
448
原创 字节Android高工面试:Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么
我们知道;里面维护了一个死循环方法,所以按照理论,上述代码执行的应该是 step 0 –>step 1 也就是说循环在;与;之间。执行结果也正如我们所说,这时候如果了解了,并且在main方法中我们会看到主线程也是通过Looper方式来维持一个消息循环public static void main(String[] args) {Looper.prepareMainLooper();//创建Looper和MessageQueue对象,用于处理主线程的消息ActivityThread thread = new
2024-05-09 17:59:36
357
原创 在线等!阿里、百度一面就惨遭吊打,做了八年Android是否应该弃坑转行?
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
2024-05-09 15:43:27
382
原创 厉害了,这竟然是毕业一年萌新的Android大厂面筋,赶紧来看看!(B站、京东、携程、腾讯---)(1)
1. 基础基本上都大差不差,Activity 和 Fragment 的数据传递,生命周期、启动模式;动画的使用,估值器、插值器(其实就是三角函数)都比较简单。View 的绘制流程(从 Activity 的 attach 到 onResume),然后延伸到如何自定义 View,为什么要重写 onMeasure、MeasureSpec 的理解?View 事件分发,需要注意 onCancel 的触发时机(典型的就是 RecyclerView 的点击滑动)?除了一般博客上面写的 Activity -> ViewG
2024-05-09 13:42:29
362
原创 使用proguard混淆android代码(1)
}如上面代码所示,我们可以使用runProguard true开启,并且对其配置混淆配置,可以配置多个文件或单个文件。android的sdk中已经为我们提供了两个默认的配置文件,我们可以拿过来进行使用,proguard-android.txt和proguard-android-optimize.txt。上面说到android为我们提供了两个默认的配置文件,在其中,我们可以看到他的一些语法。本节进行描述。保留选项(配置不进行处理的内容)-keep {Modifier} {class_specification
2024-05-09 00:44:06
560
原创 今日份分享:Flutter自定义之旋转木马
又因为sin(k*360+a)=sin(a),所以②方式可以修改为:又又因为 sin(180+a)=-sin(a),cos(180+a)=-cosa 带入③方程式得:由上面2点计算得,每个子布局的中心点坐标公式统一为:以上所用三角函数公式表:通过上面计算得出子控件的位置公式后,开始我们的代码。实现子控件按照圆形布局及平分角度代码如下://所有子控件的位置数据//count:子控件数量;//startAngle:开始角度默认为0;//rotateAngle:偏转角度默认为0;
2024-05-08 22:27:57
674
原创 三面阿里被挂,内推历经5面终获offer,我总结出了这些Android常用面试题和常见问题!(1)
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-08 20:10:27
811
原创 【阿里P8大牛教你Android入门之路(java篇)】Java集合——HashMap(系列篇4)
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
2024-05-08 18:11:13
654
原创 【android】Socket简单用法
String str;world!!" + str);break;}).start();SocketClient类,客户端实现:try {try {return “”;try {接下来就是来测试Socket通信了!先运行TestSocketServer类,打开服务端,在12345端口处监听!
2024-05-08 16:23:11
599
原创 [译] Kotlin Clean 架构
在不同层级中分离具有特定职责的代码,让其更容易做进一步修改。高度的抽象代码解耦轻松的代码测试“整洁的代码总是看起来像是由在意它的人来写的。这将是三个层级中最通用的一个。它将 Presentation 层和 Data 层连接起来,并执行应用相关的业务逻辑。该层级负责提供应用所需的数据。Data 层应该设计任何应用都可以重复使用而无需在其展示逻辑中进行修改的数据。API提供远程网络实现。任何网络库都可以集成到这里,如 retrofit、volley 等。同样,DB提供本地数据库实现。
2024-05-08 14:32:45
893
原创 Shadow解决Activity等组件生命周期的方法解析
分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升**全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记有任何问题,欢迎广大网友一起来交流《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!何问题,欢迎广大网友一起来交流。
2024-05-08 12:09:21
966
原创 Netty客户端发送数据给服务器的两个通道(1)
import io.netty.channel.Channel;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelFutureListener;import io.netty.channel.ChannelHandlerAdapter;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.ChannelInitializer;impor
2024-05-08 03:04:59
639
原创 Glide源码难看懂?用这个角度让你事半功倍!
那么一个简单的图片框架就这样实现了,相较于之前的框架,多了缓存机制,对于图片的利用有了很大的提升;如果我告诉你,恭喜你,你已经成功掌握了Glide源码的实现,我想我可能会被一巴掌拍扁了;但是我想要告诉你的是,上面的原理,就是一个Glide源码的简化,看懂了上面那个逻辑,基本上Glide源码的基本流程,你就已经搞懂了;剩下的基本上就是更加细节的实现;事实上,一个图片框架的实现基本上离不开这几步,更细节的实现,无非就是基于这几步来进行扩展,封装;基础的原理搞明白了,再去深入研究源码,才会有意义;
2024-05-07 14:02:07
547
原创 Flutter 玩转微信——闪屏页妙用
我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。
2024-05-06 10:10:51
912
原创 BATJ大厂资深APP性能优化系列(一)卡顿定位
本篇文章是该系列文章中的第一篇,主要介绍的是在一些一线大厂的实际项目中,如果APP发生卡顿是如何进行定位问题的。主要介绍 程序的耗费时间希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer!如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。
2024-05-06 02:34:02
991
原创 Android面试主题整理合集(三)(1)
看起来MVVM很好地解决了MVC和MVP的不足,但是由于数据和视图的双向绑定,导致出现问题时不太好定位来源,有可能数据问题导致,也有可能业务逻辑中对视图属性的修改导致MVC中,需要先找到输入框,再从输入框中拿到用户名和密码,再进行登录操作MVP中,通过Presenter拿到用户名和密码,进行登录。相当于通过引入了Presenter将M层和V层分离,降低耦合MVVM中,用户在输入框输入完用户名和密码后,这种UI的变化直接同步到数据,直接登录3.策略设计模式========适用场景: 某些业务中,某一个行为,会
2024-05-05 10:44:05
991
原创 Android网络优化攻略,简单了解一下?(2)
mutableListOf(*InetAddress.getAllByName(hostname))} catch (e: NullPointerException) {val unknownHostException =UnknownHostException(“Broken system behaviour for dns lookup of $hostname”)unknownHostException.initCause(e)throw unknownHostException}}}这里可以稍微给大
2024-05-04 23:35:53
621
原创 Android模块化设计之组件开发规范
目前只能想起这么多,以后有新增的会继续补充。规范好定制,落实起来却难,路漫漫其修远兮,加油吧,打工人!复习笔记这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。【附】相关架构及资料往期Android高级架构资料、源码、笔记、视频。
2024-05-04 14:45:58
914
原创 Android快速入门-----数据存储(一)SharedPreferences存储,手机内部file存储,手机外部file存储:SD卡外部file存储
给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!@Override//得到了当前显示文本名称//为dialog准备输入框对象//显示AlertDialog.setTitle(“修改名称”)
2024-05-04 13:14:32
648
原创 Android应用ViewDragHelper详解及部分源码浅析
if (mDrawerView == null) return 0;return (mDrawerView == child) ? mDrawerView.getHeight() : 0;}@Overridepublic void onViewDragStateChanged(int state) {super.onViewDragStateChanged(state);if (state == ViewDragHelper.STATE_IDLE) {mIsOpen = (mDrawerView.getTo
2024-05-04 02:19:27
543
原创 Android减少开发过程中Drawable xml文件的数量
其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。(以下体系的复习资料是我从各路大佬收集整理好的)《Android开发七大模块核心知识笔记》《960全网最全Android开发笔记》《379页Android开发面试宝典》历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。
2024-05-03 13:20:37
942
原创 android中ListView异步加载图片时的图片错位问题解决方案(1)
看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
2024-05-03 11:38:01
12
原创 Android-怎么就不卡了呢之Choreographer(1)
case MSG_DO_SCHEDULE_VSYNC:doScheduleVsync();break;case MSG_DO_SCHEDULE_CALLBACK://postCallbackDelayedInternal()方法中当未到期的时候发送过来的doScheduleCallback(msg.arg1);break;}}}以上代码我们可以看出这个,FramHandler拿到 whate属性值为MSG_DO_SCHEDULE_CALLBACK的时候会去执行 doScheduleCall
2024-05-03 09:54:58
856
原创 Android 高德地图(带有定位和点击显示经度纬度)
5.strings.xml高德定位SDK示例高德定位SDK功能展示获取定位数据获取定位数据调用定位接口获取定位数据地理围栏地理围栏展示地理围栏功能圆形地理围栏展示圆形地理围栏多边形地理围栏展示多边形地理围栏关键字地理围栏展示关键字地理围栏周边地理围栏展示周边地理围栏行政区划地理围栏展示行政区划地理围栏综合展示综合展示地理围栏的功能旧版地理围栏旧版地理围栏,不建议使用H5辅助定位H5辅助定位展示H5辅助定位功能地图计算工具地图计算工具坐标转换等功能演示获取最后一次位置获取最后一次位置获取最后一次定位的位置,此
2024-05-03 08:22:56
910
原创 Android 绘图和shape圆形(1)
UI控件不满足我们的需求的时候,就需要自定义View。自定义view的一个重点就是实现就是去重写他的绘制过程,也就是View.onDraw(Canvas canvas)方法,它里面就是绘制图形的过程了,比如说一个Button,绘制按钮和按钮上的文字都是在它自己的onDraw方法中完成的。如果你想给Ima
2024-05-03 06:52:33
837
原创 Android 垃圾分类APP(五)垃圾分类新闻展示
*/public class TrashNewsResponse {/**code : 200msg : successnewslist : [{“id”:“60bc69482712658255dcef1551721cec”,“ctime”:“2021-04-15 14:25”,“title”:“小区垃圾成山?垃圾分类,咱可不能松劲儿”,“description”:“再过半个月,《北京市生活垃圾管理条例》实施就将迎来一周年。在将近一年的时间里,北京生活垃圾分类进行得如火如荼,成效有目共睹。但是,根据1234
2024-05-03 03:48:38
577
原创 Android Virtualview:淘宝、天猫 又一个动态化、高性能的UI框架力作
简介特点从上可知,通过XML模板实现组件的动态性通过虚拟化技术(本质 =Canvas)开发组件,提升了组件的渲染性能根据上述方案,的工作流程分为3大部分:创建UI组件、创建界面模板 & 客户端加载界面具体如下创建UI直接使用框架内置的UI组件自定义组件:通过封装好的Canvas流程,按照指定接口协议实现绘制逻辑 / 封装原生组件根据上述方案 & 工作流程,的整体框架分为2部分:核心功能模块(5个模块) + 配套工具 & 服务。具体如下:下面,我将对每部分进行详细分析。
2024-05-03 02:16:05
816
原创 Android MVVM框架使用(十一)(功能开发)记事本
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。
2024-05-02 20:52:21
610
原创 网传天猫双十一数据造假?利用Python对其进行预测分析
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。天猫官方公布了今年的双11成交额为2684亿元,成功刷新了自己创下的商业纪录。一些人提出了相反意见:如大V@阑夕表示天猫双11数据是精确地控制了交易额,从而形成了理想的曲线。plot2=plt.plot(x, yvals, ‘r’,label=‘拟合销售额’)plot1=plt.plot(x, y, ‘*’,label=‘实际销售额’)plt.ylabel(‘销售额(亿)’)
2024-04-23 01:49:58
435
原创 用 Python 给程序加个进度条,让你的程序看起来更炫酷
有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
2024-04-23 00:02:14
722
原创 机器学习小概论
90年代,统计学习方法开始占据主流舞台,代表性方法有支持向量机(Support Vector Machine),进入21世纪,深度神经网络被提出,连接主义卷土从来,随着数据量和计算能力的不断提升,以深度学习(Deep Learning)为基础的诸多AI应用逐渐成熟。机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达。
2024-04-22 22:30:43
397
原创 搭建云平台 2 Day (下)
-l 127.0.0.1,::1,controller” ,进入/etc/sysconfig/memcached,找到options,就是在第四行,options的引号内是空的,将-l 127.0.0.1,::1,controller复制进去,,次数controller为自己ip的地址,例如,此处我的虚拟机ip地址为 192.168.253.134,则我需要在网站中搜索http://192.168.253.134:15672,出现下图所示桌面。当然我们也可以自己修改账号的密码,也可以重新 新建一个账号。
2024-04-22 20:40:12
369
原创 开始读 Go 源码了
在写项目的过程中,发现一个问题。实现功能是没问题的,但不知道自己写的代码是不是符合 Go 的风格,是不是够优雅。而标准库就不一样了,有一部分代码根本不涉及底层原理,实现也相对简单,同时又能对 Go 的理念加深理解,作为入门再好不过了。所以,我决定开始读 Go 标准库源码,Go 一共有 150+ 标准库,想要全部读完的话不是不可能,但绝对是一项大工程,希望自己能坚持下去。:提供给我们一个平台无关性的操作系统功能接口,采用类 Unix 设计,隐藏了不同操作系统间差异,让不同的文件系统和操作系统对象表现一致。
2024-04-22 18:54:31
227
原创 如何使用Python脚本分析CPU使用情况的?(1)
这是一个确定性的分析器,意味着在运行程序时会收集一组统计数据,例如我们代码的各个部分的执行次数或执行时间。此外,cProfile在系统上的开销比其他内置的分析器(配置文件)要低。例如,在顶部的第三个红色方块中,方法primes占用了98.28%的时间,其中65.44%的内容在其中进行,调用了40次。在我们的例子中,您需要在03.primes-v1.py中定义我们的primes函数之前添加@profile。与cProfile相比,它具有一样的开销,不过却要花费12倍的时间来获取配置文件。这样更容易看到一切。
2024-04-22 17:21:09
438
原创 利用Python使图片完美去除水印,我想试试马赛克的效果∧v∧(2)
PDF 去水印的原理和图片去水印的原理大致相同,用 PyMuPDF 打开 pdf 文件后,将 pdf 的每一页都转换为图片 pixmap,pixmap 有它自己的 RGB,只需要将 pdf 水印中的 RGB 改为(255, 255, 255) 最后保存为图片。图片转 pdf 需要注意的是图片的排序,数字文件名必须先转换为 int 类型后排序。插入到新的 pdf 文件中。可以看到水印的 RGB 是 (210, 210, 210),这里用 RGB 的和超过 620 就判定是水印点,此时将像素颜色替换为白色。
2024-04-22 12:41:50
315
原创 使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)(1)
如果你看到我们的播放器结构,你会注意到我们有很多hide元素的类。我们为所有元素提供了相同的类,因此我们可以轻松地在 CSS 中设置它们的样式。记得data.js在app.js. 否则我们将无法访问数据。让我们创建播放列表部分。但是我们的旋转木马还不起作用,所以让我们使用 js 让它工作。你可以看到我们有一个data.js文件,该文件包含我们的音乐相关数据。您可以看到我们在这里使用了 CSS 变量,因此我们将来可以轻松更改此音乐播放器主题。现在让我们制作我们的播放器部分。现在让我们创建最大化视图的样式。
2024-04-22 11:05:56
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人