
Android开发
文章平均质量分 83
stablediffusion知识库
这个作者很懒,什么都没留下…
展开
-
2023新鲜出炉的Android车载操作系统开发揭秘,走过路过不要错过
随着经济慢慢复苏和新能源的崛起,汽车用户需求已经从汽车代步转向了汽车智能化和汽车娱乐化,所以汽车在科技的支持下各方面硬件都在不断地升级,其中最突出的就是车载。Android车载将手机和传统车载结合起来,极大满足了汽车用户的需求,从而产生了,使得许多渴望、追求的Android开发人员的梦想得以实现。为了帮助大家更好的系统学习Android车载,这里分享一份《》,里面包含了等让你轻松上手车载!!!!!!!原创 2023-03-13 22:38:31 · 296 阅读 · 0 评论 -
Android事件从底层传递到Activity过程
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2023-03-10 17:16:55 · 777 阅读 · 0 评论 -
Android Studio 新特性详解
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2023-03-09 17:11:42 · 609 阅读 · 0 评论 -
手把手教你在Android项目中接入Flutter,在Flutter中使用Android布局
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2023-03-07 17:46:50 · 5119 阅读 · 0 评论 -
都2023了,还有人不知道Android Framework?
很多开发者对于现在内卷到飞起的环境叫苦连天,在突破内卷这件事上,有不少人把目光放在了车企:车载系统,智能座舱等,看起来是一个不错的方向选择。但是要成功转行,最需要掌握什么技术呢?很明显想要转行车企就必须掌握,但也有人就是想在App开发中卷到底,那看看App开发的招聘要求:没想到吧,不管是想转行还是继续在App开发,都逃不过的魔掌。很多人搞了很久的App开发,但始终停留在表面,技术含量不高,也不关注除了页面之外的技术,殊不知Android开发的核心是Framework。原创 2023-03-06 17:42:07 · 155 阅读 · 0 评论 -
Kotlin 协程 —— Flow 过渡操作符、限长操作符
过渡操作符用于将流中的每一个元素转换成另一个元素。原创 2023-02-21 15:00:23 · 364 阅读 · 0 评论 -
【Android】自定义View:属性动画
/注意这个自定义属性 private Paint paint = new Paint(Paint . ANTI_ALIAS_FLAG);//一定要给set方法,不然不生效 this . toX = toX;//没有invalidate也不生效 } @Override protected void onDraw(Canvas canvas) {//绘制的起点用自定义的属性toX } /*** 获取符合尺寸宽度的位图* @param width 位图的目标宽度。原创 2023-02-16 16:31:49 · 819 阅读 · 0 评论 -
Flutter插件开发之HmsScanKit
从事Flutter开发以来,一直都是使用已有的插件,没有自己开发过。最近同事推荐让我使用华为的扫码SDK(hms_scan_kit),正好借此机会来开发一个Flutter的原生插件。算是对最近的插件学习做一个简单的总结。// 创建插件 static const MethodChannel _channel = MethodChannel('hms_scan');// 定义调用方法 static Future < ScanBean > loadScanKit() async {} }原创 2023-02-15 15:21:41 · 785 阅读 · 0 评论 -
有了它,再也不用担心把Activity或Fragment返回数据回调到任意位置了
普通类使用,带接收回调数据和传递数据参数说明intent:类型Intent,必传activityResultCallback:类型ActivityResultCallback,可选,当需要回调时传递,当不需要回调时,可不传递Kotlin示例接收返回数据//回调 }不接收返回数据。原创 2023-02-13 16:54:00 · 628 阅读 · 0 评论 -
写给Android开发者的协程基本原理
函数跟匿名函数看起来没啥区别,但是反编译为java后还是能看出点差异如果只是用普通的函数,那么他跟普通java 函数没啥区别。比如fun a()就是对应java方法但是如果通过函数引用(:: a)来用这个函数,那么他并不是直接调用fun a()而是重新生成一个Function0最后,可以说开启一个协程,就是利用编译器生成一个状态机对象,帮我们把回调代码拍扁,成为同步代码。如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。原创 2023-02-08 14:45:01 · 229 阅读 · 0 评论 -
Android Framework之Zygote 进程的启动过程
在 Android 系统中,DVM(Dalvik 虚拟机)和 ART、应用程序进程以及运行系统的关键服务的 SystemServer 进程都是由 Zygote 进程来创建的,我们也将它称为孵化器。它通过fock的形式来创建应用程序进程和SystemServer 进程,下面我们就通过分析代码来看一下Zygote 进程是如何做这些事的。如果你想要深入系统的学习Android Framework框架,这里可以分享一份《Android Framework源码开发揭秘。原创 2023-02-06 14:24:54 · 242 阅读 · 0 评论 -
关于Android系统启动流程 攻略
Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层,如图所示。系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行直接交互,通常都是用Java进行开发的。应用框架层为开发人员提供了开发应用程序所需要的API,我们平常开发应用程序都是调用这一层所提供的API,当然也包括系统应用。这一层是由Java代码编写的,可以称为JavaFramework。这一层所提供的主要组件,如表所示。原创 2023-01-31 17:00:52 · 313 阅读 · 0 评论 -
【涨薪必看】2023最新最全Android面试题竟然在这!想要年后跳槽的别错过!
新的一年开始了,很多朋友应该都急切的找工作、忙着跳槽吧。不可否认,近两年由于疫情的冲击,经济不景气,各个行业都呈颓势,Android也不例外。但如今已经春暖花开,Android岗位应该会增多,这又意味着程序员们又会多许多面试机会。在我看来,有时候选择比能力更重要,俗话说:站在风口上,猪都能起飞。对于程序员来说,尽早地做好自己的职业规划,确立发展路线,是很有必要的。我认为,同样的实力,善于发现和判断机会的人,永远占据先机。架构师项目经理管理者。原创 2023-01-29 17:05:08 · 326 阅读 · 0 评论 -
Android UI 字体库(.ttf文件)的使用 -- xml方式
hl=zh-cn。原创 2023-01-23 09:00:00 · 1432 阅读 · 0 评论 -
Java 泛型之 RxJava中的使用实例代码
Java 泛型在RxJava 中的使用,网上有很多文章介绍,内容都差不多,不知道谁才是原创-_-关键是给出的实例代码,都是不完整的,对于不好理解。于是有了下文的自己写的完整代码。(RxJava 是 观察者模式 的更高级的应用, 通过以下自定义的Observable 及其 map/ doOnNext操作,可以更好的理解RxJava框架的实现方式 )原创 2023-01-17 11:40:04 · 184 阅读 · 0 评论 -
Android Socket(TCP/UDP通信) 学习笔记
(1) 英文原意“插座”(2) 套接字,用于描述 IP地址和端口(3) 应用程序 通过 “套接字” 向网络发出请求或应答网络请求如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记。原创 2023-01-16 20:09:32 · 1283 阅读 · 0 评论 -
腾讯内部Android面试笔记火爆IT圈,1932页完整版开放免费分享!
去年可谓是跌宕起伏的一年。Android就业环境艰难,有被公司裁员的程序员;也有想要跳槽更上一层楼的工程师们。在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和编程能力,还有设计能力。想要在年后找到满意的工作,自身能力是位于首位的,其次运气也占一部分。大家一起加油吧~原创 2023-01-12 11:43:00 · 110 阅读 · 0 评论 -
Android体系架构介绍
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2023-01-10 16:34:15 · 572 阅读 · 0 评论 -
只要《高级Kotlin强化实战》在手,offer就少不了~
大部分朋友在面试Android工程师的时候,可能都会被问到关于Kotlin方面的问题吧。毫无疑问Kotlin确实是Android开发工程师必不可少的技能。Kotlin 中的数据类是什么?Kotlin 中伴随对象的用途是什么?Kotlin 中的协程是什么?Kotlin中集合遍历有哪几种方式?原创 2023-01-05 15:08:34 · 221 阅读 · 0 评论 -
音视频学习之路--了解音视频基础
前面的文章学习了一些关于C/C++和NDK相关的知识点,那么现在就来简单的入门一些关于音视频的相关概念,万层高楼平地起,还是从最基础开始。这篇文章主要就是大概介绍一些关于音视频的基础和常见名称,有个印象即可,后面将更多的分析。链接:https://juejin.cn/post/7025527783996522503作者:元浩875。原创 2023-01-03 17:42:33 · 107 阅读 · 0 评论 -
RecyclerView 性能优化 | 是什么在破坏缓存机制?
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2022-12-30 16:11:00 · 228 阅读 · 0 评论 -
Android Framwork 之AMS源码解析
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2022-12-28 18:00:16 · 277 阅读 · 0 评论 -
Framework那么重要,拿着这份资料一起进大厂~
有面试过Android社招的朋友应该能够感受到,。由于业务需要,很多在做汽车、电视等其他智能硬件端的公司需要进行定制化的开发工作,这自然。在招聘网站上大家可以看到,Android framework岗位的薪资待遇真的不低:这里我们以Keep为例,他家开出了35-65K·14薪的条件,不过对Android应用层的技术有要求,。如果只是会Android本身那些知识,确实发展上限比较低,不过。原创 2022-12-14 16:30:32 · 96 阅读 · 0 评论 -
“一文读懂”系列:无处不在的WMS
前一篇文章介绍了关于Android中Window体系的介绍,主要介绍的是View层的Window体系概念,但是想要深入了解Window在系统中的机制,WMS是绕不过去的坎。AMS和WMS占据了Framework层的半壁江山,所以了解这两个概念对我们在日常开发中的性能优化或有想转Framework开发的都大有帮助。笔者花了几天时间对WMS相关知识进行了整理。首先我们来说下WMS在系统中的几大职责窗口管理使用到的DisplayContent,WindowToken和WindowState。原创 2022-12-08 16:58:46 · 313 阅读 · 1 评论 -
Android登录拦截场景-多种实现方式
登录拦截与放行是大部分App开发都会遇到的一个场景,如果你的App有游客模式,但是部分高级功能需要登录之后才能使用。那么我们就需要在用户点击这个操作的时候校验是否登录,当登录完成之后再跳转到指定的页面或弹窗。如果这些入口很多的话,那么我们就需要到处写这些逻辑。比较初级的用法是使用消息总线,当登录完成之后发送对应key消息,然后去完成对应key的事件。原创 2022-11-30 19:11:49 · 448 阅读 · 0 评论 -
我的flutter学习路线,带你一步步进阶成flutter开发工程师
Flutter是Google的UI工具包,可以用同一个代码为移动端、桌面端和嵌入式设备等来构建本机编译的应用程序,它使用dart作为编程语言,具有广泛的平台支持(Android、iOS、Windows、macOS、Linux、嵌入式等),还有热加载更新等其他功能等你挖掘!这里给大家分享一下我的学习路线:第1步:Flutter使用Dart语言,Dart使用的是OOP概念,要先对这方面有一个整体性认识。是个好的方法,可以帮助我们更容易地理解Flutter。步入正题,我们首先应该。原创 2022-11-29 21:48:48 · 1848 阅读 · 0 评论 -
Android软键盘高度控制的几种方案
要说获取软键盘的高度,那么肯定离不开getViewTreeObserver().addOnGlobalLayoutListener 的方式。只是使用起来又分不同的做法,最简单的是拿到Activity的ContentView,设置contentView.getViewTreeObserver() .addOnGlobalLayoutListener(onGlobalLayoutListener);然后在监听内部再通过 decorView.getWindowVisible转载 2022-11-26 21:47:13 · 3970 阅读 · 0 评论 -
Android View 绘制流程之DecorView与ViewRootImpl
可以看出,里面调用了mWindow的setContentView方法,那么这个"mWindow"是什么?再追踪,发现mWindow是Window类型的,但他是一个抽象类,setContentView也是抽象方法,所以我们要找到Window的实现类。发现在Activit的attach方法中原创 2022-11-24 17:03:10 · 565 阅读 · 0 评论 -
Android事件分发机制与核心用法
事件指的是屏幕触发事件——即Android中的TouchEvent/MotionEvent。每一次我们触摸屏幕,都会产生一连串的触摸事件,这些一连串的触摸事件合起来就是一个触摸事件序列。触摸事件在Android官方API中由类MotionEvent来描述,不同的触摸事件对应不同的事件类型。事件类型分别有ACTION_DOWN、ACTION_UP、ACTION_MOVE、ACTION_CANCEL。原创 2022-11-23 16:10:29 · 485 阅读 · 0 评论 -
Android程序员“越老越吃香”的背后,有这样一个先决条件
早在今年1024程序员节的时候,360的创始人周鸿祎就提到了“程序员越老越吃香”的话题。对于这个问题我们应该辩证来看待。对于一般的Android开发工作,年轻人有更多的时间和精力去学习,也有更多的发展可能性,不过对于更深入的技术架构等内容,有资深经验的程序员自然会做得更好,也就是上面所说的“越老越吃香”。目前国内大多数Android程序员还是倾向于去互联网公司,在这当中,。。原创 2022-11-22 17:51:04 · 477 阅读 · 0 评论 -
Android 之注解、APT技术
在编译期识别自定义的注解然后根据规则生成对应代码。生成代码其实是靠 Filer 这个类,但是代码里的方式不太灵活。可以使用 JavaPoet 库来帮助生成代码。● 创建一个 Java Module 名为 apt-test-annotation。● 创建一个 Java Module 名为 apt-test-processor。● 创建一个 Android Module 名为 apt-test-api。原创 2022-11-18 17:38:51 · 276 阅读 · 0 评论 -
Android插件化指南
插件化技术最初源于免安装运行 Apk的想法,这个免安装的 Apk 就可以理解为插件,而支持插件的 app 我们一般叫 宿主。在 Android 系统中,应用是以 Apk 的形式存在的,应用都需要安装才能使用。但实际上 Android 系统安装应用的方式相当简单,其实就是把应用 Apk 拷贝到系统不同的目录下、然后把 so 解压出来而已。常见的应用安装目录:/system/app:系统应用/system/priv-app:系统应用/data/app:用户应用。原创 2022-11-16 16:39:21 · 1475 阅读 · 0 评论 -
Android应用程序签名和Zipalign
Android应用程序可以使用各种编程语言和开发程序来创建。这些Android应用程序通过各种渠道发布,并安装在Android设备上。为了构建一个完整的Andrioid应用程序,需要一个签名过程来标识应用程序创建者。通常,开发程序会自动执行此操作,因此不需要额外的工作。但是,如果您将LIAPP等安全服务应用于应用程序,则应用程序包将更改,并且您必须手动对其进行签名。原创 2022-11-14 11:17:10 · 1241 阅读 · 0 评论 -
Android依赖导入全攻略
在我们开发安卓项目的时候,不会所有的功能都自己去造轮子,经常要使用到各种的其他包,其中有谷歌给我们提供的各种support包,也有各种第三方的功能库,有时候我们自己也会将一些功能封装成包。这些包存在和导入的形式也多种多样,有远程仓库的,有直接拷贝到本地的,jar包、aar包、so包等。所幸我们都可以在主工程和各个Module的里进行统一管理。本文将在Android Studio3.0环境下来汇总下这些用法。原创 2022-11-09 22:33:47 · 1954 阅读 · 0 评论 -
Android扫描多媒体文件剖析
这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。本人将通过对源代码的分析,一一解释这些问题。原创 2022-11-07 21:10:21 · 396 阅读 · 0 评论 -
InputManagerService: 创建与启动
IMS 的启动流程分为三步创建输入系统,建立上层与底层的映射关系。启动输入系统,其实就是启动底层输入系统的几个模块。输入系统就绪,上层会同步一些配置给底层输入系统。下面分三个模块,分别讲解这三步。原创 2022-11-06 23:27:58 · 285 阅读 · 0 评论 -
Android WorkManager定时任务
App有时可能需要定期运行某些工作。例如,可能要定期备份数据、上传信息到服务器,定期获取新的内容等等。在app运行期间,我们使用Handler也可以完成定期的功能。在这里我们介绍WorkManager使用定时任务的方法。前面我们介绍了WorkManager的使用方法,约束和延迟等。本文介绍WorkManager的定时任务。如何创建定时任务,查看任务状态,取消任务。本文使用kotlin注意:可以定义的最短重复间隔是 15 分钟(与 JobScheduler API 相同)。原创 2022-11-04 20:41:51 · 1346 阅读 · 1 评论 -
Android 应用换肤方案
实现方式是:用户提前自定义一些主题,然后当设置主题的时候将指定主题对应的 id 记录到本地文件中,当 Activity RESUME 的时候,判断 Activity 当前的主题是否和之前设置的主题一致,不一致的话就调用当前 Activity 的recreate()方法进行重建。这种引用方式的好处是只要切换了主题这些自定义属性可以动态发生变化。原创 2022-10-20 18:03:47 · 1566 阅读 · 0 评论 -
Android 虚拟机中的内存分配与 OOM
Android中每个App默认情况下是运行在一个独立进程中的, 而这个独立进程正是从Zygote孵化出来的VM进程, 也就是说, 也就是说每个Android APP在运行时会启动一个Java虚拟机,并且系统会给它分配固定的内存空间。原创 2022-10-19 21:15:02 · 1780 阅读 · 0 评论 -
Android中的启动屏幕
初始屏幕(也称为启动屏幕)在加载移动应用时提供简单的初始体验。它们为应用程序设置了舞台,同时为加载应用引擎和初始化应用留出了时间。例:当用户启动应用时,将发生以下事件:系统使用主题和您定义的任何动画显示初始屏幕。当应用准备就绪时,初始屏幕将关闭并显示应用。动画的元素由安卓清单中的 XML 资源文件定义。每种都有浅色和深色模式版本。默认情况下,初始屏幕使用主题的窗口背景(如果它是单一颜色)和启动器图标。初始屏幕的自定义是通过向应用主题添加属性来完成的。原创 2022-10-18 16:39:28 · 564 阅读 · 0 评论