Android开发
文章平均质量分 88
Misdirection_XG
与代码为伴
展开
-
Flutter是否是跨平台移动开发最好的框架?是否值得学习?
Flutter是否是跨平台移动开发最好的框架?是否值得学习?原创 2023-03-08 16:53:49 · 1672 阅读 · 0 评论 -
轻轻松松Kotlin快速入门(一)
轻轻松松Kotlin快速入门(一)转载 2023-03-07 17:27:30 · 284 阅读 · 0 评论 -
这么详细的AndroidService生命周期解析你确定不看吗
这么详细的AndroidService生命周期解析你确定不看吗原创 2023-03-06 17:20:20 · 2221 阅读 · 0 评论 -
Android之okHttp攻略
最终获取response方法 httpCodec.openResponseBody(response)。httpCodec的实现有两个,Http1Codec 和 Http2Codec。Http1Codec,Http2Codec原理一样,内部就是通过Okio.buffer去请求网络。从以上代码可以看到,不管是同步请求还是异步请求,都涉及了拦截器链的处理,最终返回Response。链接:https://juejin.cn/post/7064596735795920904。作者:复制粘贴改改改。原创 2023-01-31 16:49:12 · 522 阅读 · 0 评论 -
Android 性能优化之启动优化解析
冷启动:耗时最多、衡量标准。热启动:最快,后台->前台温启动:较快冷启动之前:启动App -> 加载空白Window-> 创建进程随后任务:创建Application -> 启动主线程 -> 创建入口Acitivity -> 加载布局 -> 布置屏幕 -> 首帧绘制Application和Activity生命周期。原创 2023-01-29 16:35:45 · 1391 阅读 · 3 评论 -
详细讲解:Android Room+架构组件(LiveData/ViewModel) - Demo(词典)
Android Room +架构组件 架构图>:02_Android Room+架构组件 体系图.JPG各部分作用后续会逐一介绍.在完成Demo后理解会更深刻,值得反复研究这个架构图!源码GitHub 地址会在文章的最后附上.(JAVA)实现功能(1). 词典(2). 使用RecyclerView 显示(3). 显示所有词(4). 提供添加入口,保存在数据库01_应用效果图.JPG03_Word Sample 架构图.JPG。原创 2023-01-23 12:00:00 · 1652 阅读 · 0 评论 -
Android 获取 应用列表 方法记录
有时,我们需要获取设备上的 应用列表,例如获取 所有已安装的 或者 能够显示在 桌面上的APK.基于这些列表,我们可以做一些管理功能, 例如权限展示等的.如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记。原创 2023-01-17 11:02:10 · 8689 阅读 · 1 评论 -
Android 热修复入门-Demo实例
一个类Cat, 里面仅实现了 say方法,仅返回一个 “汪汪汪”的String, 显然这是个bug.我们需要做的就是在不重新安装apk的情况下(当然这里也是模拟),达到修复的效果.这里使用的开发环境是:Win10如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《原创 2023-01-16 19:48:34 · 236 阅读 · 0 评论 -
Android事件分发机制详解
事件分发有多种类型, 本文主要介绍Touch相关的事件分发.整个事件分发流程中,会有大量MotionEvent对象,该对象用于记录所有与移动相关的事件,比如手指触摸屏幕事件。一次完整的MotionEvent事件,是从用户触摸屏幕到离开屏幕。整个过程的动作序列:ACTION_DOWN(1次) -> ACTION_MOVE(N次) -> ACTION_UP(1次),多点触摸,每一个触摸点Pointer会有一个id和index。对于多指操作,通过pointerindex来获取指定Pointer的触屏位置。原创 2023-01-10 16:17:06 · 823 阅读 · 0 评论 -
Kotlin的集合是什么样的?一文就懂
Kotlin 标准库提供了一整套用于管理集合的工具,集合是可变数量(可能为零)的一组条目,各种集合对于解决问题都具有重要意义,并且经常用到。List是一个有序集合,可通过索引访问元素。元素可以在 list 中出现多次。List 列表的顺序很重要并且元素可以重复。Set是唯一元素的集合。一般来说 set 中元素的顺序并不重要。Map是一组键值对。键是唯一的,每个键都刚好映射到一个值,值可以重复。原创 2023-01-05 16:24:15 · 116 阅读 · 0 评论 -
使用 Kotlin Flow 优化你的网络请求框架,减少模板代码
加上这篇的 flow 网络请求封装,一共是三种对Retrofit+协程的网络封装方式。对比下三种封装方式:封装一 (对应分支oneWay) 传递ui引用,可按照项目进行深度ui定制,方便快速,但是耦合高封装二 (对应分支master) 耦合低,依赖的东西很少,但是写起来模板代码偏多封装三 (对应分支dev) 引入了新的flow流式编程(虽然出来很久,但是大部分人应该还没用到),链式调用,loading 和网络请求以及结果处理都在一起,很多时候甚至都不要声明 LiveData 对象。原创 2023-01-03 17:12:48 · 1648 阅读 · 0 评论 -
Android性能启动优化——IO优化进阶
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2022-12-30 15:50:34 · 880 阅读 · 0 评论 -
Android自定义View的交互,往往都是从星星开始
到此效果的实现算是结束了,但是我们还有一些收尾工作没做,如何监听进度的回调,如何控制整数与浮点数的显示,是否支持触摸等等。然后对其做一些自定义属性的抽取,就可以在应用中比较广泛的使用了。//每一个星星的宽度和高度是一致的//当前的评分值//已经评分的星星图片//还未评分的星星图片//默认显示小数类型//默认支持控件的点击}原创 2022-12-28 17:03:12 · 129 阅读 · 0 评论 -
还不知道如何入手Flutter?拿着这份资料手把手教会你!
Flutter是Google开发的一个跨平台框架,可以用来为移动端、桌面端等平台构建应用程序。在和Android同行人员交流Flutter时,他们通常会我为什么不用React Native或其他一些SDK呢?其实理由很简单,Flutter是值得大家去学习的,这个时候的解释也是有必要的。因为我们总是在学习了一门工具之后就很难再花时间去学其他的了,先入为主的观念会让我们很难放弃“老办法”,只是不断地找补和适应。那Flutter到底有什么优势呢?1、Dart有一个干净而强大的语法,它。原创 2022-12-26 16:02:23 · 212 阅读 · 0 评论 -
Cocos热更新的非官方解决方案
Cocos 官方提供了一套热更新的解决方案,但我们认为这套方案在以下方面不能完全适合我们的需求:基于这些问题,我们给出了自己的 Cocos 热更新解决方案 TinyCocosFix。 TinyCocosFix 是基于 native 端实现,因此能够在 Cocos 引擎未启动时就开始热更新流程;我们将文件 diff 的逻辑放在服务端,服务端直接将两个版本的 diff 文件压缩成 zip 包返回给客户端,然后客户端再针对 zip 包做校验,整个 diff 的过程比官方的方案更加高效;另外,我们还在本地做了历史版原创 2022-12-07 16:19:39 · 551 阅读 · 0 评论 -
5年开发经验,看完这份37W字Android Framework源码解读,终于拿到架构师薪资
其实现在很多的开发人员并不能解决从架构的角度全方位地了解在App开发过程中各阶段会出现的典型问题,更没办法深入到底层原理了解问题出现的原因!且随着当下面试越来越深入到底层,如果大家对于底层的原理不了解的话,是很难做出一个很好的解答的,比如说面试常问的AMS,Bindler知识,WindowManagerService(WMS) 怎么实现的啊,有些什么细节需要注意啊,View被加入到ViewRoot的流程…这就有点扯远了,今天主要来学习的就是Android Framework底层框架,主要的分享目的还是说大家原创 2022-12-06 16:17:58 · 112 阅读 · 0 评论 -
Android学而有道,学会这些“学以致用”的方法,让技术更上一层楼
在Android学习体系中,等都是需要认知学习的板块,除了基础Android知识以外,我们还需要去与时俱进的学习一些新的技术,比如近些年来热门的等内容,此外也成了各Android开发工程师深入学习的方向。实践是认识的基础,只有学以致用才能更好地获取和掌握知识,对于深入理解Android,最好的办法就是。原创 2022-11-30 18:59:40 · 115 阅读 · 0 评论 -
沙特赢了阿根廷,Android程序员们如何稳步立“足”?
就在这两天,沙特VS阿根廷2:1惊现大冷门,日本VS德国2:1局势逆转,不少网友表示大变天了,而国足也在被反复鞭尸,大家都在强烈要求国足队伍能力居上。此前,新华社发文直指国足原创 2022-11-24 11:34:36 · 158 阅读 · 0 评论 -
实战:去除未加固 Android App强制升级提醒
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2022-11-22 17:31:20 · 7515 阅读 · 1 评论 -
2022最新Android面试题解题思路,带你迎合面试官心中的高标准
一家公司在招聘前,首先就已经有了自己的人才理念,知道自己想要什么样的人才。,今年的行情下,华为的情况也不是很好,就像任正非说的:让寒气传给每一个人。不过相对其他公司,华为开出的条件还是很不错的,这也是成千上万的人在等华为开奖的原因了。作为靠技术而活的程序员,如果没有一个好的技术,拿什么和“千军万马”去竞争呢?秋招进行到这个阶段了,还在招人面试的Android岗位真的很少了,因此。在众多的面试流程里,,不管是笔试还是面试都是如此,机会只留给有准备的人,所以大家一定不能忽视能力这块。原创 2022-11-18 18:08:25 · 130 阅读 · 0 评论 -
Android OkHttp拦截器
OkHttp可以说是Android开发中最常见的网络请求框架,OkHttp使用方便,扩展性强,功能强大,OKHttp源码与原理也是面试中的常客。但是OKHttp的源码内容非常多,源码千头万绪,用只需要一行设计却极其复杂。首先来看一个最简单的Http请求是如何发送的。这段代码看起来比较简单,OkHttp请求过程中最少只需要接触OkHttpClient、Request、Call、 Response,但是框架内部会进行大量的逻辑处理。所有网络请求的逻辑大部分集中在拦截器中,但是在进入拦截器之前还需要依靠分发原创 2022-11-16 18:01:40 · 1120 阅读 · 0 评论 -
2022最新字节、大疆、滴滴Android面试题,告诉你社招如何准备
作为一名有着将近4年Android开发经验的程序员来说,在今年这个环境下还是选择了裸辞。一方面是对自己目前所在部门的发展前景表示担忧,按照以往这家公司的脾性,软件赚不了太多的钱就会被砍掉,还不如另寻去路。另一方面是对自身的技术水平还是比较自信的,因为平时会花时间折腾些新的工具,不至于换家公司就落伍的那种,然后也有去做自己的应用程序,在自己的小圈子里也推广开了,有了大几百的注册用户,对我已经很满足了。在这三次的面试经历里,我发现社招对基础这块也不会忽视,但会要求你对这块有更深一点的认识,如果还是简单按部就班原创 2022-11-14 17:13:32 · 1120 阅读 · 0 评论 -
如何在Android中避免创建不必要的对象
在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用。这其中避免创建不必要的对象是一项重要的方面。Android设备不像PC那样有着足够大的内存,而且单个App占用的内存实际上是比较小的。所以避免创建不必要的对象对于Android开发尤为重要。本文会介绍一些常见的避免创建对象的场景和方法,其中有些属于微优化,有的属于编码技巧,当然也有确实能够起到显著效果的方法。原创 2022-11-09 22:32:57 · 168 阅读 · 0 评论 -
系统剖析Android中的内存泄漏
作为Android开发人员,我们或多或少都听说过内存泄漏。那么何为内存泄漏,Android中的内存泄漏又是什么样子的呢,本文将简单概括的进行一些总结。如果程序发生了内存泄露,则会带来如下的问题:应用可用的内存减少,增加了堆内存的压力;降低了应用的性能,比如会触犯更频繁的GC;严重的时候可能会导致内存溢出错误,即OOM Error。在正式介绍内存泄露之前,我们有必要介绍一些必要的预备知识。原创 2022-11-07 20:54:02 · 303 阅读 · 0 评论 -
你会kotlin吗?找工作时才知道面试官喜欢这么问
为什么要学kotlin,Java学得好好的它不香吗?的确,如果是在前几年,我不会给大家推荐kotlin,甚至我也没有去了解过。但是在了解了kotlin后,我有点感兴趣了,但还没到想去学的地步。直到年初找工作的时候,我很想去的那家公司,Android开发工程师岗位明确表示要会kotlin基础,看来只能认真去学习kotlin了。我在招聘网站上搜索,结果发现很多岗位都表示要会kotlin,就连腾讯在某个Android开发工程师岗位中,也把kotlin提到了和Java同等位置来看待。原创 2022-11-06 23:44:34 · 288 阅读 · 0 评论 -
2023秋招Android开发面试小能手就是我了吧
临近毕业,我们都在忙着秋招找工作了,同学都转向了java前后端,而我仍坚定的选择Android,原因很简单。我记得大学开了一门Android开发课程,我真的很喜欢那个老师,他让我对Android产生的很大的兴趣,记得我问过老师。他说近年来Android开发有了很多的新语言和新工具,不可能什么都讲到,这些只能靠你们自己去学习了,我这门课只是讲的Android本身,因为有一点要明白,,这样学什么就都轻松了。我觉得老师说的很有道理。不过在找工作时,我也经常听到安卓凉了,学它没有意义这样的话。原创 2022-11-04 22:29:47 · 123 阅读 · 0 评论 -
Android面试真经:Android百题,道道是重点
我已经工作两年了,前段时间部门认识的小学妹找到我,问我Android面试怎么准备,她觉得好难,有Android岗位的本身就不算多,而且Android涵盖的范围还很大,已经面了几个,有一部分都在问源码,自己这方面又很薄弱,明明自己花了两个月去自学Android,为什么还是觉得自己很多都答不上来。我很快就定位到了她的主要原因,对Android的整体思路不清晰,Android知识的运用不够灵活,想要在一个多月的时间去自学Android,效果怎么样只有自己才清楚。我带她把Android各版块可能问到的内容都顺了一遍原创 2022-11-03 22:32:59 · 103 阅读 · 0 评论 -
Android实现倒计时的几种方案
这样的线程并不是我们想要的,我们通常并不会直接new Thread 来进行一些逻辑操作,比如我们可能使用RxJava框架,通过操作符的方式来进行倒计时。以上是Android的倒计时方案,其实Java的Api也是支持倒计时实现的,比如 Timer 配合 TimerTask 就可以实现简单的倒计时。无需onDestory中销毁资源,如果想自由手动的控制倒计时,我们在start的高阶函数中接收父协程的上下文对象即可自动控制。关于倒计时的实现方式,大家可能有不同的做法,这里做一下总结看看你使用的是哪一种呢?原创 2022-11-02 22:13:00 · 10105 阅读 · 3 评论 -
在大厂做Android开发的应届毕业生们现在怎么样了?
在拿到offer时,可以先看看避雷贴,有的公司在试用期的时候会卡你,如果你适应不了高强度的工作就会主动劝退你。不过,我们仍然需要掌握Android学习的方法论,在实际工作项目中总结所遇到的问题,提高自己的应变能力和技术水平。这里给大家分享两种方法:第一种方式是。也就是主动向身边的同事组长学习,但是需要注意:一定要自己先积极的去思考问题,如果从一开始就询问的话,自己不能很好的消化吸收。第二种方式是。原创 2022-10-31 22:46:27 · 190 阅读 · 0 评论 -
Kotlin 中的 Age In Minutes 应用程序
为了设计应用程序的 UI,我们将使用线性布局线性布局的方向将是垂直的。原创 2022-09-12 09:00:00 · 142 阅读 · 0 评论 -
如何在 Android 模拟器中禁用自动关闭?
由于我已将 Android Studio 版本更新为 Bumblebee 版本,因此我的 Android 模拟器会在几秒钟后自动关闭。屏幕全黑。我需要不时重新打开它。原创 2022-08-15 09:12:25 · 588 阅读 · 0 评论 -
在几分钟内将您的网站变成一个 android 应用程序并发布到 google play
URLgApp是将网站转换为 Android 应用程序的在线工具。它从您那里获取一个网站的 URL 以及该应用程序的一些其他详细信息,然后生成一个 APK 文件。不仅如此,如果您打算在 Google Play Store 上部署该应用程序,那么您可以这样做。在这种情况下,您可以指定 Google Play 密钥、应用程序徽标和包名称,然后您的应用程序将准备好在 Play 商店上发布。您可以使用它来将任何网站转换为 Android 应用程序。无需注册或注册流程即可开始使用。...原创 2022-08-11 11:00:52 · 655 阅读 · 1 评论 -
Android 中使用华为机器学习套件从摄像头流中检测和翻译设备文本 [导航组件,MVVM]
在本文中,我们将学习如何在Android应用程序KnowMyBoard中集成华为ML套件相机流。AccountKit为拥有庞大用户群的应用程序提供无缝登录功能。文本识别服务可以从收据、名片和文档的图像中提取文本。该服务适用于印刷、教育和物流等行业。您可以使用它来创建处理数据输入和检查任务的应用程序。文本识别服务能够通过大量API识别静态图像和动态摄像头流中的文本,您可以同步或异步调用这些API来构建支持文本识别的应用程序。设备端语言检测服务可以在互联网不可用时检测文本的语言。...原创 2022-07-29 15:21:59 · 311 阅读 · 0 评论 -
什么是 Android Jetpack,我们为什么要使用它?
AndroidJetpack是一组Android软件组件,可帮助我们构建出色的Android应用程序。遵循最佳实践并编写样板代码。让复杂的事情变得非常简单。管理活动生命周期。幸存的配置更改。防止内存泄漏。AndroidJetpack的软件组件解决了所有这些主要问题。因此,所有问题的解决方案都是AndriodJetpack。关于Jetpack的另一个最重要的事情是它比Android平台更新更频繁,因此我们总是能获得最新版本。...原创 2022-07-27 16:43:24 · 224 阅读 · 0 评论 -
在 Android 应用程序中使用拖放
您是否曾经在任何应用程序中使用过拖放功能?它可能是一些Web应用程序或一些Android应用程序。以一种或另一种方式,我们都使用了拖放功能。例如在电子邮件中发送附件时,我们可以将所需文件拖到Gmail的撰写编辑器中。同样在Android中,我们也都使用过拖放功能。例如在我们的启动器屏幕中,每个应用程序都出现在我们的移动设备中,我们可以轻松地将应用程序图标从一个地方拖放到另一个地方。因此,在本文中,我们将学习android中拖放的各个方面。拖放过程概述拖放过程拖动事件。...原创 2022-07-25 14:06:43 · 901 阅读 · 0 评论 -
在 Android 中使用 Glide 库下载和显示图像
今天,我们为我们一整天所做的每一项任务都提供了移动应用程序。我们喜欢使用更具交互性和更好UI的应用程序。而让App更具交互性的最重要的事情是图像的使用。是的,图像在使应用程序的UI更具交互性和用户友好性方面发挥着重要作用。所以,作为一名Android开发者,我们应该注意在我们的App中使用图片。我们应该处理图像的各个方面,例如加载缓慢、图像无响应、内存问题等等。如果您不处理这些方面,那么您的应用程序会给您的用户留下不好的印象。什么是Glide?Glide库的特点。...原创 2022-07-22 11:52:00 · 2041 阅读 · 0 评论