- 博客(87)
- 收藏
- 关注
原创 zookeeper使用篇-Zookeeper Api实践(1)
zookeeper中对节点的操作全部提供了同步和异步两种操作方式,并且有多种不同情况下的方法重载1.原生Api的创建节点,必须按照层级创建,因此建议创建之前我们也要检查该节点是否存在2.Zookeeper中节点的删除操作也必须按照层级进行删除,即当前节点下存在子节点,必须优先删除子节点,再去删除当前节点,建议删除之前优先检查一下是否存在子节点除此之外,如果我们对某个节点进行监听,如果细心的话也会发现,原生的Api实现中,监听触发一次以后就不会再触发了。
2024-05-17 01:52:13
426
原创 Struts 学习笔记1 -Struts Framework 概览
其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:架构师筑基必备技能Android框架体系架构(高级UI+FrameWork源码)360°Androidapp全方位性能调优设计思想解读开源框架NDK模块开发移动架构师专题项目实战环节移动架构师不可不学习微信小程序混合开发的flutterAndroid学习的资料我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。
2024-05-17 00:06:12
897
原创 React Native Android 从学车到补胎和成功发车经历(1)
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!}).get();
2024-05-16 21:10:51
1044
原创 offer求比较+部分大厂Android面经+真题解析
7.哔哩哔哩,应该是b站客户端方向(正常薪资,方向还行)8.腾讯 CSIG 智慧出行事业部 客户端开发(都还可以吧,但是也没特别的感觉,福利方面有喜欢的游戏方面?)9.华为 消费者BG事业部 安卓开发(这个还算是比较喜欢吧,虽然薪资方面不是最高的,关键是逼得比较急,可以下决定的时间不多了,大概率是一直等到offer失效吧)10.浦发银行(这个和华为差不多)就行业大环境来说的话,感觉应届应该去大厂。感觉面试才是第一步,完了收到一堆offer还要进行选择。主要疑问有:大厂镀金真的非常重要吗?但部门是否也
2024-05-16 18:18:26
374
原创 Kotlin:你必须要知道的-inline-noinline-crossinline
lambda.invoke®return r}fun main(args: Array) {sum(1, 2) { println(“Result is: $it”) }}反编译为 Java:public static final int sum(int a, int b, @NotNull Function1 lambda) {//…int r = a + b;lambda.invoke®;return r;}public static final void main(@NotNull
2024-05-16 16:36:36
429
原创 Kotlin 协程总结
不过,我们学习 Kotlin 中的协程,一开始确实可以从线程控制的角度来切入。因为在 Kotlin 中,协程的一个典型的使用场景就是线程控制。就像 Java 中的 和 Android 中的,Kotlin 中的协程也有对 Thread API 的封装,让我们可以在写代码时,不用关注多线程就能够很方便地写出并发操作。下面的例子是使用协程进行网络请求获取用户信息并显示到 UI 控件上:launch({val user = api.getUser() // 👈 网络请求(IO 线程)nameTv.text = u
2024-05-16 15:27:41
426
原创 IOS开发之——事件处理-View拖动(67)(1)
当用户用一根手指触摸屏幕时,会创建一个与手指相关联的UITouch对象一根手指对应一个UITouch对象在此为大家准备了四节优质的Android高级进阶视频:架构师项目实战——全球首批Android开发者对Android架构的见解。
2024-05-16 13:50:39
329
原创 Flutter项目实战之Flutter_Gank
终于说了一点和标题相关的了,不然有人要说我标题党了,其实做完之后感觉也没什么特色,就列一些用到了哪些知识点吧还有一些基础控件ListView,TabBar,TabBarView,Button,Text,TextField,SnakeBar……的使用开过过程中还遇到了一些小坑,比如,侧滑抽屉Drawer可以通过 _globalKey.currentState.openDrawer()打开却没有提供Close,或者Hide之类的方法关闭,需要通过Navigator.pop(context)来隐藏菜单。
2024-05-16 10:38:50
299
原创 MVC MVP与MVVM对比分析
在标准的MVC架构中,Controller和View都依赖于Model。MVC架构通过Controller来更新数据,通过View展示数据。根据Model(模型)层的被动与主动,可将MVC分为被动模式和主动模式。被动模式下,Model不会主动将变化通知到View进行更新,而是由Controller通知View,Model变化了需要进行更新,而且只有Controller可以对Model进行更新。主动模式下,Model的修改会通知View更新,主动模式利用了观察者模式,View作为观察者,Model为被观察者。
2024-05-16 01:07:54
452
原创 Kotlin学习日志(三)控制语句
var is_odd:Boolean = truetv_puzzle.text = “随心所欲,为所欲为,二选一”btn_if_else.setOnClickListener {if(is_odd == true){tv_puzzle.text = “随心所欲”}else{tv_puzzle.text = “为所欲为”}is_odd = !is_odd}运行效果图点一下按钮:再点一下:点击次数为奇数时显示 随心所欲,为偶数时显示 为所欲为,但是上面的代码和Java不是一毛一样吗?特养特僧破,我们注意到无论是
2024-05-15 23:38:17
758
1
原创 JWT在Java和Android中的使用(1)
String keyId = jwt.getKeyId();//Private ClaimsClaim claim = jwt.getHeaderClaim(“owner”);/***///Returns the Issuer value or null if it’s not defined in the Payload.String issuer = jwt.getIssuer();//Returns the Subject value or null if it’s not defined in th
2024-05-15 22:28:09
919
原创 IOS开发之——QQ主流框架(64)
点击消息(Navigation Controller),在右侧设置显示的问题和图片同理,设置其他三个Navigation Controller三 界面详情。
2024-05-15 19:39:06
385
原创 Gradle系列(一) Groovy 基础
groovy中不用写分号变量类型可以省略方法返回类型可以省略,上面test方法中的return也可以省略变量类型比较弱,可以推断出来字符串可以用双引号或者单引号包起来def name = “zhangsan”def b = 2def test(a, b) {println(“a=ab={a} b=ab={b}”)}test(name, b)//输出a=zhangsan b=2String中如果需要使用到变量,则需要使用$和{}关键字,并且需要使用双引号的时候才能这样用可以看到方法的入参那里也可以省略类型Ja
2024-05-15 18:10:05
398
原创 Flutter项目实战之Flutter_Gank
终于说了一点和标题相关的了,不然有人要说我标题党了,其实做完之后感觉也没什么特色,就列一些用到了哪些知识点吧还有一些基础控件ListView,TabBar,TabBarView,Button,Text,TextField,SnakeBar……的使用开过过程中还遇到了一些小坑,比如,侧滑抽屉Drawer可以通过 _globalKey.currentState.openDrawer()打开却没有提供Close,或者Hide之类的方法关闭,需要通过Navigator.pop(context)来隐藏菜单。
2024-05-15 16:44:06
267
原创 [译] Awesome Flutter:带你从入门到进阶的 Flutter 指南
当你打算跳槽的时候,应该把“跳槽成功后,我能学到什么东西?对我的未来发展有什么好处”放在第一位。这些东西才是真正引导你的关键。在跳槽之前尽量“物尽其用”,把手头上的工作做好,最好是完成了某个项目或是得到提升之后再走。跳槽不是目的,而是为了达到最终职业目标的手段最后祝大家工作升职加薪,面试拿到心仪Offer《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!到最终职业目标的手段**最后祝大家工作升职加薪,面试拿到心仪Offer[外链图片转存中…(img-amm
2024-05-15 15:48:28
563
原创 SQLite高级语句查询
(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,
2024-05-15 13:30:18
329
原创 React Native 与 嵌入Android原生与Activity页面互相跳转(1)
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。
2024-05-15 11:56:44
321
原创 NotePad功能扩展
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。NotePad源码中的应用,只有简单的笔记黑色主题。
2024-05-15 06:51:50
1076
原创 Kotlin简介及配置
首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。
2024-05-15 05:11:10
1075
原创 kotlin 协程基础
CoroutineContext是一系列元素的集合,主要的元素是代表协程的Job,此外还有协程的dispatcher等(Job、Dispatchers与CoroutineName都实现了Element接口)。
2024-05-15 04:03:38
1185
原创 IOS开发之——UITabBarController空项目(61)
简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。面试过程一定要有礼貌!
2024-05-15 02:27:11
200
原创 Gradle脚本基础全攻略(3)
加入上面插件以后Gradle默认希望能在src/main/java路径下找到源代码,在 src/test/java路径下找到测试代码,任何src/main/resources路径的文件都会被包含在JAR文件里,任何src/test/resources路径的文件都会被加入到classpath中以运行测试代码,所有的输出文件将会被创建在构建目录里,JAR文件存放在 build/libs文件夹里。**任何市场都是优胜略汰适者生存,只要你技术过硬,到哪里都不存在饱和不饱和的问题,所以重要的还是提升自己。
2024-05-15 01:01:06
396
原创 Flutter项目实战之Flutter_Gank
终于说了一点和标题相关的了,不然有人要说我标题党了,其实做完之后感觉也没什么特色,就列一些用到了哪些知识点吧还有一些基础控件ListView,TabBar,TabBarView,Button,Text,TextField,SnakeBar……的使用开过过程中还遇到了一些小坑,比如,侧滑抽屉Drawer可以通过 _globalKey.currentState.openDrawer()打开却没有提供Close,或者Hide之类的方法关闭,需要通过Navigator.pop(context)来隐藏菜单。
2024-05-14 23:31:16
391
原创 [译] 思考实践:用 Go 实现 Flutter(1)
‘You have pushed the button this many times:’,),Text(‘$_counter’,style: Theme.of(context).textTheme.display1,),],),),floatingActionButton: FloatingActionButton(onPressed: _incrementCounter,tooltip: ‘Increment’,child: Icon(Icons.add),),);}}我
2024-05-14 22:51:31
790
原创 valgrind内存泄露和线程竞态检测(2)
Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。资源持续更新中,欢迎大家一起学习和探讨。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 21:09:27
1109
原创 Router_一款单品、组件化、插件化全支持的路由框架
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 19:34:30
716
原创 phonegap导入工程报错解决办法 错误解析android(1)
2 没有选择android最新的API (非google APIs )3 没有改成UTF-8 格式最后clean一下就好---------------------解决办法-------------------先看正确的工程 直接上图第一章、 热修复设计第一节、 AOT/JIT & dexopt 与 dex2oat第二节、 热修复设计之 CLASS_ISPREVERIFIED 问题第三节、热修复设计之热修复原理第四节、Tinker 的集成与使用(自动补丁包生成)第二章、 插件化框架设计第一节、
2024-05-14 18:12:08
744
原创 Material Design
CardView是用于实现卡片式布局效果的重要控件,由appcompat-v7库提供.实际上,CardView就是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的效果. 下面就将使用CardView作为Recycler的子项来使用,达到下面图片上的效果.网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
2024-05-14 16:35:03
319
原创 Kotlin协程实现原理概述
sum(a, b) { sum ->// 加完执行乘法double(sum) { double ->// 乘完就加2add2(double) { result ->// 最后打印println(result)}}}}这就是CPS的代码风格:通过接口回调的方式来实现的。假设: 我们上述的几个方法: sum()/double()/add2()都是挂起函数,那么最终也会编译为CPS风格的回调函数方式,也就是:原来看起来同步的代码,经过编译器的"修改",变成了异步的方法,也就是:CPS化了,这就是kotlin协程的
2024-05-14 15:14:12
850
原创 Jetpack:Room数据库升级详解实战!(1)
一线互联网Android面试题含详解(初级到高级专题)这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率如果设置门槛,很多开发者朋友会因此错过这套高级架构资料,错过提升成为架构师的可能。这就失去了我们的初衷;让更多人都能通过高效高质量的学习,提升自己的技术和格局,升职加薪。最后送给大家一句话,望共勉,永远不要放弃自己的梦想和追求;
2024-05-14 14:01:40
1114
原创 Gson的解析复杂数据
“temperature”: “21 ~ 14℃”}]}]}2.在定义bean数据类的时候,最好定义如下格式的数据。Status.javapublic class Status {private String error;private String status;private String date;private List results;public String getError() {return error;}public void setError(String error) {this.e
2024-05-14 02:42:22
908
原创 Flutter(九)-实现抽屉动画(1)
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
2024-05-14 01:10:14
419
原创 XML中配置网易云歌手详情滑动效果
custom_transformation属性则是专为自定义Transformation而服务,其值为自己实现的Transformation类的全路径。自定义Transformation有两种方式,其一是实现Transformation接口,另一种方式是继承TransformationAdapter类,TransformationAdapter是Transformation是Transformation接口的空实现,继承于此则不需要实现所有的方法。/**
2024-05-13 20:18:36
684
原创 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-13 18:32:27
924
原创 Mac电脑使用:Mac电脑一键智能清理神器CleanMyMac X
CleanMyMac X软件的第一个模块:清理模块,包含的有:系统垃圾、照片垃圾、邮件附件、iTunes垃圾、废纸篓等5个部分,清理模块也是常用的模块,只要涉及到清理电脑的磁盘存储空间,就要用到这个模块,而且使用起来非常的方便,只用点击主菜单里面“扫描”按钮,然后等待扫描结束之后,根据实际情况进行选择性的自定义清理。举个简单的实例,比如Mac电脑的Xcode编辑器,如果经常使用的话,会有很多缓存文件,而且随着时间的推移缓存会越来越多,到最后有可能会变成10个多G的都有,所以必须把这些缓存清理掉,把电脑存储空
2024-05-13 14:16:58
305
原创 Kotlin协程它不香吗?
【Android 详细知识点思维脑图(技能树)】我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。
2024-05-13 12:59:45
673
原创 JetPack(二)ViewModel小试牛刀
android:text=“Hello World!”android:textSize=“30sp”app:layout_constraintBottom_toBottomOf=“parent”app:layout_constraintEnd_toEndOf=“parent”app:layout_constraintHorizontal_bias=“0.498”app:layout_constraintLeft_toLeftOf=“parent”app:layout_constraintRight_toRi
2024-05-13 11:46:40
701
原创 IOS开发之——事件处理-View拖动(67)(1)
三 UIResponder-(void)touchBegan:(NSSet *)touches withEvent:(UIEvent *)event;-(void)touchMoved:(NSSet *)touches withEvent:(UIEvent *)event;-(void)touchEnded:(NSSet *)touches withEvent:(UIEvent *)event;-(void)touchCancelled:(NSSet *)touches withEvent:(UIEvent
2024-05-13 10:31:34
1002
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅