程序员
文章平均质量分 90
Android Developer
这个作者很懒,什么都没留下…
展开
-
ASM插桩--多线程运行监测
最近需要优化App启动的时间,现有代码存在以下问题:线程未复用(使用new Thread\HandlerThread),创建线程数过多使用HandlerThread,使用后未销毁(Looper一直等待),占用内存提早start线程,却未使用部分业务方过早初始化业务代码(虽然是异步),影响启动时间由于存在上述问题,需要扫描App从冷启动开始到首页展示出来,中间执行的子线程和主线程执行的情况。需要监测的数据如下:创建的线程情况,包括数量和使用情况执行的runnable.run、AsyncT原创 2021-07-12 17:21:54 · 907 阅读 · 2 评论 -
在 Android 中使用生物识别
为了保护隐私和敏感数据,应用往往会增加用户登录功能。如果您的应用使用了传统的登录方式,那么它的授权过程可能类似如图 1 中所示: 用户输入用户名和密码,应用会根据输入的数据生成设备凭据,然后将其发送到远端服务器进行验证,通过验证后会返回给应用一个 userToken,随后应用便可使用该 token 去服务器查询受限的用户数据。无论是要求用户每次打开应用都需要登录,还是只要求在安装启动后进行仅此一次的登录,图 1 所示的流程都适用。△ 图 1: 未使用生物识别的授权流程然而,图 1 这种授权方式有一些弊原创 2021-06-09 21:13:14 · 604 阅读 · 0 评论 -
Handler机制与原理
为什么会出现内存泄漏问题呢?分析Handler使用是用来进行线程间通信的,所以新开启的线程是会持有Handler引用的,如果在Activity等中创建Handler,并且是非静态内部类的形式,就有可能造成内存泄漏非静态内部类是会隐式持有外部类的引用,所以当其他线程持有了该Handler,线程没有被销毁,则意味着Activity会一直被Handler持有引用而无法导致回收MessageQueue中如果存在未处理完的Message,Message的target也是对Activity等的持原创 2021-06-01 13:45:59 · 411 阅读 · 1 评论 -
Android Studio 自定义快捷键调用外部程序
工作效率还能再提升记得刚工作的时候,同事教了我一些做事的方式和方法,至今印象深刻,“当一件事情重复做三次,就要尝试开发一个工具提升去效率”、“当一个错误出现三次时,必须要设法解决它,因为它可能伴随整个软件的使用周期”。我后面工作中一直谨记,少做重复劳动,多做提升工作效率的事情,不能把一年的工作经验用五年。提升工作效率,除了开发新工具,另外学会使用 IDE 的快捷键也很重要,很多人忽略了这一点。快捷键,学习一次,后面次次受益,使用过快捷键的朋友,肯定知道快捷键的效率远高于鼠标点击,还有一点是,敲击键盘明原创 2021-05-20 16:30:31 · 373 阅读 · 0 评论 -
NestedScrollView嵌套滑动源码解读
1、前言滑动对于android来说,是一个必不可少;它不复杂,大家都知道在onTouchEvent中,让它滑动就完事了,说它复杂,其嵌套处理复杂;在本系列文章,最终是为了熟悉嵌套滑动机制;对于滑动,分为下面几篇文章来完成解读:滑动基础ScrollView滑动源码解读NestedScrollView嵌套滑动源码解读CoordinatorLayout-AppBarLayout-CollapsingToolbarLayout复杂滑动逻辑源码解读在本章内,本章从两个嵌套的两个视角来分析子滑动视图原创 2021-05-19 22:16:00 · 518 阅读 · 0 评论 -
Jetpack Compose 自定义布局以及固有特性测量
这篇文章我们会讲解下,Compose中如何去自定义布局,以及Intrinsic Measurement(官方翻译为固有特性测量)的理解跟使用。一:自定义布局自定义布局可以通过两种方式去处理,一种是使用布局修饰符Modifier.layout,一种是使用Layout去创建自定义布局。我们先来讲下Modifier.layout的方式1.1 使用布局修饰符来实现自定义布局我们自定义一个Modifier的扩展函数,Modifier.customCornerPosLayout。该方法的作用就是可以按我们传入的原创 2021-05-18 11:09:51 · 618 阅读 · 1 评论 -
Android 图像处理入门(上)——图像色彩变换
我会将这个系列分为两个部分,分别讲解Android中图像的色彩变换及图像的形状变换两个方面的入门知识。RGBA模型RGBA是一种缩写,其含义分别是Red、Green、Blue、Aplha。即红、绿、蓝三原色以及透明度四个选项。我们平时所见到的各种颜色不过是这三原色通过不同的比例混合所得,而alpha则可以控制图片的透明度。下面介绍一些图像处理中重要的三个概念:色调/色相:物体传递的颜色饱和度:颜色的纯度,从0%(灰)到100%(饱和)来进行描述亮度/明度:颜色的相对明暗程度Android原创 2021-02-26 11:11:22 · 776 阅读 · 0 评论 -
“新常态”下的Android程序员要面对哪些压力?如何破局?
导语最初所谓的互联网“寒冬”还要从 17 年开始说起。17 年之前,互联网行业一片欣欣向荣,各种新的理念和玩法层出不穷。然而,如果你之前留意过业内新闻的话,一些融资新闻能让你瞠目结舌。一个 APP 再加 PPT 就可以融百万甚至千万。但我觉得那并非正常的状态,而 17 年之后,当互联网热度降下来之后才是比较正常的状态,我们也不妨称之为“新常态”。之所以叫做新的常态也意味着,我认为这个行业很难再回到当年的荣光。如果从职业发展的角度来看,程序员这个职业存在一些缺点。1.程序员更多地和代码打交道,综合能力原创 2021-02-24 10:43:11 · 356 阅读 · 1 评论 -
在 View 上使用挂起函数 | 实战
遇到的问题我们有一个示例应用: Tivi,它可以展示 TV 节目的详细信息。关于节目信息,应用内罗列了每一季和每一集。当用户点击其中的某一集时,该集的详细信息将以点击处展开的动画来展示 (0.2 倍速展示):Tivihttps://tivi.app/应用中采用 InboxRecyclerView 库来处理图中的展开动画:fun onEpisodeItemClicked(view: View, episode: Episode) {InboxRecyclerV原创 2021-02-23 17:37:15 · 164 阅读 · 0 评论 -
京东APP收银台Kotlin化实践
我们把移动端App分为四大类React/Flutter AppWeb App(纯网页)Native App(纯原生App)Hybrid app (混合App)o 多View混合型:Native View与WebView交替出现的场景o 单View混合型:在同一个View内,同时包括Native View和Web Viewo Web主体型:移动应用的主体是WebView过去收银台模块采用单View混合型,我们称之为H5收银台。H5收银台开发快,一次开发,iOS和Androi原创 2021-02-21 19:13:19 · 632 阅读 · 0 评论 -
Java单例7种测试实践
单例:一个进程中只能存在唯一一个对象。1.饿汉模式。 主动型太粗暴。/** * @author :jiaolian * @date :Created in 2021-01-10 21:25 * @description:饿汉单例测试 * @modified By: * 公众号:叫练 */public class HungerSignletonTest { //类初始化会创建单例对象 private static HungerSignletonTest signleton原创 2021-02-20 17:56:38 · 345 阅读 · 1 评论 -
面挂了腾讯、阿里巴巴、美团Android客户端,我有一份避坑指南分享给你!
一、学习经历比较菜,辣鸡本科生,去年十一月份开始全面一些的接触安卓,学了第一行代码,面试后厂村某公司某部门,正好比较缺人给我这零基础的人过了,十二月份去实习,断断续续中间回学校考试有请假,大概有效实习时间是6个月吧,边学边做的需求,到7月底学校有事离开的。后来回来又干到9月。对于安卓的学习主要经历就是在公司学的这半年多,感谢能有这样的机会,leader和周围同事都特别好,手把手教学,虽然只学了半年多安卓,但是真实的项目也写过,完整的开发经历也有,有一个组件就是完全自己单人负责的五六千行的代码,还做了很多原创 2021-02-18 10:15:53 · 569 阅读 · 3 评论 -
App怎么做才能永不崩溃
你们项目中怎么处理程序崩溃?当然是try住了那异常日志怎么收集呢?一般会手写一个工具类,然后在可能出问题的地方通过特殊的方法进行记录日志,然后找时机上传这位同学,你是不是没有睡醒,我问的是异常日志,是你未知状态的异常,难道你要把整个项目try住?这样啊,那可以写一个CrashHandler : Thread.UncaughtExceptionHandler,在Application中注册。然后在重写的uncaughtException(t: Thread, e: Throwable.原创 2021-02-07 09:18:29 · 760 阅读 · 1 评论 -
做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了!
我上月被裁现在找工作,准备面试的时候看了好多技术文章越看感觉自己掌握的东西越少。马上要去面试了感觉心好虚。事情经过是的 我的主管也觉得自己是猪…(主管原话)我去年招了 2 个安卓开发,其中一个同事面试上机布局还能布,结果第一周发现他大部分事给他表弟远程桌面在给他搞,这种工作能力、工作态度、还有职业操守如何能在公司立足!还有一个就是你, 本来我觉得你是可以培养下的,结果过年疫情期间 2 个月你在家根本没什么都没学。年后复工我一直在忙自己的事根本没关注进度,只看到每天有 commit,但后来我发.原创 2021-02-06 11:01:45 · 6014 阅读 · 9 评论 -
App开屏页如何设计?来看这五个常用的方法
今天为大家带来的文章是「开屏页」设计。用户只需要50毫秒(0.05秒)就能对网站/App做出评价,从而决定是留下还是离开。开屏页设计的合理性很大程度上影响了用户的初体验。第一印象很重要!很多用户会根据App/网站的初始形象来判断是否能信任这家公司或产品。那么如何解决快速感知的问题呢?首先将关注点放在App带给我们的第一印象上。合理的启动页能激发用户的潜意识,有助于吸引和留存合适的用户。在深入研究设计策略之前,先来了解一下启动画面的基本知识。一、什么是启动画面?启动画面指一系列连续的使用体验——从原创 2021-02-05 21:36:55 · 2678 阅读 · 0 评论 -
Android 如何优雅的实现控件计时功能
废话不多说,今天给大家推荐一个 Android 多组件同步计时的开源工具类 TimingX。TimingX 是一个用于 Android 多组件同步计时的一个工具类,使用 Handler 实现。在项目中我们经常有计时的需求,具体表现为从00:00开始计时,即分秒的格式。TimingX 是 用于计时的,它目前不支持倒计时,不过如果你有这个需求也可以很容易的实现。项目地址Gitee:Timingx , 觉得用起来很爽的,请不要吝啬你的 Start 哦!同样欢迎大家访问我的个人博客:Thatcher原创 2021-02-04 08:50:59 · 323 阅读 · 0 评论 -
程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了!
现在的人自我意识越来越强,专注做自己的事不太会在意别人的眼光,不管别人如何评价路,毕竟脚下的路是自己在走。最近有位网友在职场论坛上发帖,说看见地铁上有一程序员大哥在写代码,并且配上了一张照片。从照片中可以看出,一位男子坐在靠地铁栏杆的地方,把包放在腿上,垫着电脑,噼噼啪啪的在工作,地铁上人不多,显然不是高峰期,他工作的状态很专注。没想到程序员的这个举动却被路人吐槽说:“有什么好装的”,地铁里手机信号都不好,如果遇到紧急的bug,早就下车找地方去修改了,还用在地铁里干。但这个网友的帖子立刻引来其他原创 2021-02-03 09:47:33 · 3513 阅读 · 6 评论 -
国内互联网公司为什么加班这么狠?
为了赶上去往北京东北角亦庄的公司班车,实习生王可每天早上 6 点 40 分起床。如果赶不上,她要面对非常煎熬的 1 小时 10 分钟,代价是从东三环 2 次换乘 21 站地铁。互联网人似乎越来越忙了。就在最近,快手宣布展开全员大小周(一种加班制度,大周工作六天、小周五天);为鼓励加班,字节跳动也表示要给周末加班的员工开出两倍薪水。但加班带来的劳累,有时候会成压死骆驼的最后一根稻草。1 月 3 日晚,职场社交 App 脉脉上有人透露,拼多多的一位年轻女员工在凌晨 1 点半回家的路上不幸猝死。随后有人.原创 2021-01-30 20:30:09 · 600 阅读 · 0 评论 -
疫情让“灵活用工”浮出水面,作为Android开发的你“灵活用工”了吗?
缘起2020年,许多企业在接受业绩严重受损的同时,还要承受巨大的人力成本压力。正当所有企业主们焦虑和恐慌的时候,因疫情下多企业探索的灵活用工却有“逆势增长”的趋向。首先是选择灵活用工的企业越来越多了,特别是软件开发、创意设计、文案策划、新媒体运营等需求量。##【移动开发灵活用工适应的场合】共享新经济模式下:音视频直播、微信小程序、跨平台开发、App外包、等。这里我归类了如下几类:1、应用层开发,不限于各种产品,主要还是Android原生开发,主要是各种性能优化。2、嵌入式开发,不限于各种开发原创 2021-01-28 09:53:34 · 2223 阅读 · 6 评论 -
字节跳动面试官亲述:Android开发学会了这些技术,你离大厂不远了
01面试=做匹配面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。针对一些面试题做了总结:1.请简单进行一下自我介绍首先请报出自己的姓名和身份。可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及。这是礼貌的需要,还可以加深考官对你的印象。其次,你可以简单地介绍一下你的学历、工作经历等基本个人情况。请提供给考官关于你个人情况的基本的、完整的信息原创 2021-01-23 09:22:39 · 1369 阅读 · 1 评论 -
可能是目前最全的《Android面试题大全》(中高级)
前言最近在准备面试,然后复习下之前写过的项目,书籍,笔记,文章。一看很多知识点都没有印象,最可拍的是连自己为了防止忘记写的文章竟然都感觉不是自己写的。有些开始怀疑人生了。好了,废话少说,现在是求职高峰期,我把我收集到的资料分享给大家。也祝到家有个好工作。(本文资料 适合1-3年)从基础到架构进阶,包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。文章中所列主要为大纲部分,详细内容可以在文末自行获取哈!如果你熟练原创 2021-01-21 14:20:34 · 9678 阅读 · 2 评论 -
用Java实现JVM第八章《数组和字符串》
案例介绍本章主要介绍如何实现让虚拟机处理数组和字符串,在虚拟机功能增强后,我们可以执行数组类型计算和输出字符串。本章需要新增实现数组指令;newarray、anewarray、arraylength、aload、astore、multianewarray、ldc,同时需要需要开发字符串池方法等。数组在Java虚拟机中是给比较特殊的概念,主要有以下原因;首先,数组类和普通的类是不同的。普通的类从class文件中加载,但是数组类由Java虚拟机在运行时生成。数组的类名是左括号([)+数组元素的类型描原创 2021-01-17 21:00:33 · 171 阅读 · 0 评论 -
Android开发已过时,转行风险大,Android原生开发出路在哪?
Android开发现状移动端开发的现状是什么?我们可以从自己写的代码中寻找线索。以 Android 为例,很多大公司的移动端开发者写的最多的代码是这样的:LinearLayout layout = new LinearLayout();layout.addView(xxxx);...或者也许是这样的:public class XXXView extends RelativeLayout { public XXXView(Context context) { this(原创 2020-12-28 13:32:24 · 1202 阅读 · 0 评论 -
“你有什么要问我的吗?”面试最后千万别说这句蠢话,高情商都这么说
一般面试到最后,面试官都会问,“你有什么要问我的吗?”而很多伙伴,其实不大理解为什么面试官要问这个问题,意识不到它的重要性。实际上,在面试的最后,面试官特意留下时间让你提问,目的有两个:想知道你如果进了公司,最关心和重视哪些事情,这些会影响到你对工作的投入,对公司的贡献;给你一个机会,通过提问来突显你的专业能力或态度。企业和面试官需要的,不只是一个很会回答问题的“好学生”,更需要那些善于思考、能发现问题、对工作有热情、有期待的职场人。所以呢,这是一个很重要的机会哦。能提出好问题,不仅可以帮助你了原创 2020-12-25 10:11:06 · 560 阅读 · 0 评论 -
【建议收藏】2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
一眨眼又到年底了,每到这个时候,我们都会慢慢反思,这一年都做了什么?有什么进步?年初的计划都实现了吗?明年年初有跳槽的底气了吗?况且2020年我们经历了新冠疫情的洗礼,很多程序员都经历了失业,找工作的恐慌。导致今年的互联网环境太差,需要自己有足够的知识储备,才能够应对这凌冽的寒风。本文主要是整理了中高级Android需要会的(或者说面试被频繁问到的内容),主要作为参考大纲,之后会陆续更新每个详细部分,供大家参考,互相学习。一、计算机网络部分1.网页中输入url,到渲染整个界面的整个过程,以及中间用了原创 2020-12-23 17:01:54 · 2837 阅读 · 4 评论 -
Java线程池相关知识点总结
Android中常见到的很多通用组件一般都离不开”池”的概念,如各种图片加载库,网络请求库,即使Android的消息传递机制中的Meaasge当使用Meaasge.obtain()就是使用的Meaasge池中的对象,因此这个概念很重要。本文将介绍的线程池技术同样符合这一思想。线程池的优点:重用线程池中的线程,减少因对象创建,销毁所带来的性能开销;能有效的控制线程的最大并发数,提高系统资源利用率,同时避免过多的资源竞争,避免堵塞;能够多线程进行简单的管理,使线程的使用简单、高效。线程池框架E原创 2020-12-21 11:06:24 · 219 阅读 · 0 评论 -
拿到腾讯Android面试offer,我是如何准备技术面试的!
腾讯的面试经历腾讯的面试就是自己经历了腾讯的笔试,然后一面,二面,三面,最后HR面,然后等消息,最后得到offer。笔试的话基本上就是一些基础知识,像数据结构,计算机组成原理,操作系统,计算机网络这些。上课认真听听,笔试前刷一些题目问题还是不大的。腾讯一面,主要就是聊一些基础,我是去面移动客户端,但是整个面试移动相关的问题很少,主要还是在围绕着一些基础再聊。如果你想拿到腾讯的 offer,我觉得基础是非常重要的。面试题的话,我觉得这个其实没什么可提的,因为这些题目都是不固定的,面试官主要还是在围原创 2020-12-17 10:54:35 · 491 阅读 · 0 评论 -
出身985,工作996,劝退35:37岁迟来的醒悟,扎心了
文|赵晓璃一、“现在想来,在我们这个行业被淘汰,也不是多新鲜的事儿了,要怪就怪我自己,这些年来没有提高自己,还是技术不过硬啊!”来访者周平(化名)在咨询进行到一半的时候,深深地叹息道。周平,15年前毕业于国内一所985高校,计算机专业。刚毕业那会儿,周平在一家大厂做程序员,加班加点几乎是常态,有那么一次,周平加班到早上六点,他去开水间接水,窗外的一抹阳光照在他的玻璃杯上,那一刻,周平有些恍惚,他抬起头来,看着镜子里疲惫的自己,不禁在心里质疑道:“该不会这辈子都这样了吧?这真的是我想要的生活吗?原创 2020-12-08 09:33:48 · 684 阅读 · 1 评论 -
专科毕业,Android不好找工作的同学,你的问题在这里!
本人今年专科毕业了,本想毕业之后做个简单完整的APP会好找工作一些,现在已经做好并且上架到了百度手机助手上面,如果有兴趣的朋友可以去搜索晓天天气就可以去查到,不过做好之后才发现找工作还是很难啊…都好几天了投出去好几份简历,一点反应没有…看到网上都是找好几年经历的高级工程师…心累啊…有小伙伴发帖感慨工作不好找,该如何准备Android面试的,我也想谈谈我最近的一些想法和计划,大家一起讨论。整体分为以下两个方面:自我介绍 & 项目经验知识储备正文自我介绍 & 项目经验.原创 2020-11-06 20:07:29 · 590 阅读 · 1 评论 -
Android 干了几年想转前端,求大佬指一条明路
本人之前做安卓客户端,做了几年,但是现在看起来大环境安卓的地位肯定是越来越低,所以想转前端,前端相对来说业务场景和安卓客户端比较接近,同时也可以利用我会安卓的部分做一些半原生的 APP 什么的。所以想咨询各位大佬,求一条比较明朗的转行线路,需要学哪些东西。估计死磕一阵应该能转成吧……感谢各位,因为本人之前在初创公司呆的比较久,所以技术栈比较混乱,啥都会点(目前准备先去啃一下 Vue 全家桶了。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-omQyMc.原创 2020-11-04 10:35:14 · 2958 阅读 · 11 评论 -
我是双非/三本/专科学校的Android开发,我有机会进入大厂吗?
我是双非/三本/专科学校的Android开发,我有机会进入大厂吗?我自己也是非985非211学校的,结合自己的经历以及一些朋友的经历,我觉得让我回答这个问题再好不过。首先,我觉得学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。企业HR肯定是更喜欢高学历的人,毕竟985,211优秀人才比例肯定比普通学校原创 2020-09-23 08:58:57 · 870 阅读 · 0 评论 -
该如何高效实用Kotlin?
通过本文可了解以下Kotlin技巧如何使用 plus 操作符对集合进行操作?当获取 Map 值为空时,如何设置默认值?require 或者 check 函数做什么用的?如何区分 run, with, let, also and apply 以及如何使用?如何巧妙的使用 in 和 when 关键字?Kotlin 的单例有那种三种写法?为什么 by lazy 声明的变量只能用 val?1. plus 操作符在 Java 中算术运算符只能用于基本数据类型,+ 运算符可以与 String 值一起使原创 2020-09-18 21:10:44 · 209 阅读 · 0 评论 -
Android Studio 教程:入门开发第一个程序
开发第一应用想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击Start a new Android Studio Project创建工程:接下来需要输入应用名称(第一个字母要大写)、公司域以及指定应用存放目录,点击Next按钮进入下一步:如果第一个字母不是大写,会提示:The application name for most app begins with a原创 2020-09-16 15:25:44 · 3113 阅读 · 0 评论 -
Flutter与Android通信开发指南
想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。在做Flutter开发的时候通常离不了Flutter和Native之间的通信,比如:初始化Flutter时Native向Dart传递数据,Dart调用Native的相册选择图片,Dart调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,陀螺仪,传感器等)主动传递给Dart等。在这本篇文章中我将向大家分享在Flutter中Dart和Native之间通信的几种.原创 2020-09-15 15:46:19 · 586 阅读 · 0 评论 -
深入解析:Android热修复技术选择和原理
背景想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。热修复就是通过下发补丁包,让已安装的客户端动态更新,用户不用重新安装APP,就能够修复软件缺陷。热修复技术对比1.公司角度大致可以分为阿里系和腾讯系和其他,如下:阿里系Dexposed 开源,实时修复AndFix 开源,实时生效HotFix 阿里百川,未开源,免费、实时修复Sophix 未开源,商业收费,实时生效/冷启动修复HotFix是AndFix的优化版本,S原创 2020-09-11 15:04:29 · 489 阅读 · 0 评论 -
Android应用架构的发展和实践
前言架构是我们组织程序,各个项目组件的一种机制。好的架构兼顾了易用性,灵活性,扩展性和复用性。现代Andorid架构已经不限于单体或者单Module了,逐渐在向着多Module和插件化动态化进行发展。这里主要围绕项目单体应用时的架构,单Module到多Module的演变,以及插件化的未来来说。单体应用架构单体应用架构是指我们的项目在单Module时的架构,此时项目一般会划分一些层级,比如UI层,网络层,逻辑层。这些层级怎么进行组织呢?最开始,大家刚接触Android开发,统统是MVC。MVC的问题原创 2020-07-14 20:23:22 · 279 阅读 · 0 评论 -
Flutter Candies 一桶天下
Flutter Candies 介绍这是一个集合了Flutter开发中常用的组件/插件????的全家桶,大家可以很方便的集成到自己的项目当中,下面我按照作者来介绍Flutter Candies 的各个项目。篇幅会有点长,请准备好瓜子汽水坐好,开车了,滴滴滴滴滴。AlexV525从开始在群里提需求,到可以在群里解答问题 ;从一个养鱼专业的学生,到入行Flutter岗位工作。4月份入群到现在,看到了他的变化,也看到????组织的意义。入坑之后就住在了Github上面。OpenJMU校园应用精美的校园原创 2020-07-10 17:00:31 · 628 阅读 · 0 评论 -
Android HTTPS 自制证书实现双向认证(OkHttp + Retrofit + Rxjava)
由于最近要做一个安全性比较高的项目,因此需要用到HTTPS进行双向认证。由于设计项目架构的时候,客户端是采用MVVM架构,基于DataBinding + Retrofit + Rxjava来实现Android端。查阅很多资料,基于原生HttpClient实现双向认证的例子很多,但对于Retrofit的资料网上还是比较少,官方文档也是一句带过,没有具体的介绍。看了 《Android中https请求的单向认证和双向认证》,给了我很大的启发,于是尝试着博主的方式制作证书,再次尝试的时候果然成功了。科普一下,原创 2020-05-21 11:50:26 · 387 阅读 · 0 评论 -
深入理解协程、LiveData 和 Flow
从 API 1 开始,处理 Activity 的生命周期 (lifecycle) 就是个老大难的问题,基本上开发者们都看过这两张生命周期流程图:随着 Fragment 的加入,这个问题也变得更加复杂:而开发者们面对这个挑战,给出了非常稳健的解决方案: 分层架构。分层架构如上图所示,通过将应用分为三层,现在只有最上面的 Presentation 层 (以前叫 UI 层) 才知道生命周期的细节,而应用的其他部分则可以安全地忽略掉它。而在 Presentation 层内部也有进一步的解原创 2020-05-20 13:32:50 · 1485 阅读 · 0 评论 -
Android Jetpack从入门到精通(深度好文,值得收藏)
前言即学即用Android Jetpack系列Blog的目的是通过学习Android Jetpack完成一个简单的Demo,本文是即学即用Android Jetpack系列Blog的第一篇。记得去年第一次参加谷歌开发者大会的时候,就被Navigation的图形导航界面给迷住了,一句卧槽就代表了小王的全部心情~,我们可以看一下来自网络的一张图片:所以,Android Jetpack学习之旅就开始了。本人打算每周学习一个组件(上图的左上区域),最后将所学的组件组成一个简单的Demo。同时,刚刚过去的原创 2020-05-11 16:54:30 · 31621 阅读 · 1 评论