Android进阶
文章平均质量分 85
Android高级开发修炼
两块三刀
Android高级工程师,十年工作经验,超十余款APP,涉及交通、电商、教育、电力、短视频、社交、新零售等领域。
展开
-
Android: Activity的启动流程(基于Android 13)
随着Android版本的不断迭代,代码常常会有所变更,本文就基于Android 13再次走一遍Activity的启动流程。以上就是今天要讲的内容,本文仅仅简单地走了一遍在Android13中Activity的启动流程,只是有些许变化,整体流程思路还是和以前版本一致。想要了解源码思路,画时序图还是很有帮助的,跟踪代码不迷路。原创 2022-11-01 16:41:15 · 1903 阅读 · 2 评论 -
Android:玩转Jetpack Compose之MVI架构——基类中使用页面UiState
自去年Google发布了Compose正式版后,就开始将其逐渐应用至项目中,页面编码方式在改变,架构也在变化,也就是现在Google官方建议的MVI。本文不打算再叙述对于架构的理解,官网和其他博主已有许多文章;今天主要讲下我在架构迁移中遇到的一些问题,以及解决方案;官方应用架构指南: https://developer.android.google.cn/topic/architecture#common-principles注:本文全部内容均为Kotlin语言。原创 2022-10-03 01:01:50 · 3397 阅读 · 0 评论 -
Android:Jetpack Compose——实用的小技巧
Compose已经正式推出1年多了, 随着使用度越来越高,声明式UI已成趋势,以后必然成为原生开发首推方式,本文就介绍了Compose使用过程中的一些细节问题解决方案,助你纵享丝滑~以上就是今天要讲的内容,本文仅仅简单介绍了常使用的几个方法 ,适合快速查阅,后面不定时加入新的内容。原创 2022-08-19 16:57:44 · 2044 阅读 · 0 评论 -
Android:使用Jetpack Compose画渐变背景
如上图所示,当UI设计中有渐变背景的控件时,传统方式可以使用xml来画,但是,渐变色最多只能设置3种(即起始颜色,中间颜色,结束颜色),更多的颜色不支持;或者直接美工切图,由于内容长度不固定,可能还需要制作.9.png图片,并设置拉伸区域,麻烦且会比较占用APK大小。现在我们完全可以使用Compose纯Kotlin代码来实现,支持多个色渐变。系统默认提供了五种Brush(笔刷),分别是:horizontalGradient(横向渐变)、verticalGradient(纵向渐变)、linearGradien原创 2022-07-05 18:26:07 · 5267 阅读 · 3 评论 -
Android:使用Jetpack Compose实现自动轮播Banner
自动轮播Banner 相信大多数APP 都会有此需求,本文主要是使用Compose 来实现自动无限轮播图效果。代码如下:四、使用示例代码如下:总结以上就是今天要讲的内容,本文的源码已全部贴出,方便大家自取并快速使用。.........原创 2022-07-03 18:24:48 · 2378 阅读 · 3 评论 -
Android: 彻底搞懂Lifcycle——原理篇
上一篇我们认识了Lifecycle,并且学会了它怎么用。本篇再深入了解下它的原理,你会明白它是怎么做到感知生命周期的?【一句话概括】就是会向当前界面添加一个隐藏的fragment,由这个fragment来触发生命周期通知,然后观察者再做出具体的响应处理。现在我们知道了思路,如需详细了解,咱们接着看源码。先看Lifecycle抽象类,下面是Lifecycle 2.4.1的源码:lifecycle-common-2.4.1.jar—— androidx.lifecycle.Lifecycle.java;Li原创 2022-06-06 15:47:48 · 3849 阅读 · 3 评论 -
Android: 彻底搞懂Lifecycle——使用篇
你真的了解lifecycle吗?本文的目标就是要“打破砂锅问到底”,带你真真切切了解它。lifecycle 是属于Android Jetpack(官方开发工具包)—— Architecture(架构组件)中的一员。【官方介绍】构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。【白话】lifecycle可以和Activity或Fragment生命周期绑定,方便我们做一些跟生命周期相关的业务逻辑。【应用场景】【示例】为了方便李(理)姐(解),下原创 2022-06-05 04:19:54 · 14045 阅读 · 0 评论 -
Android:六一,是时候来一盘了~
今天六一节,想到了儿时一款火爆的卡牌游戏**“象狮虎豹”**,也叫“斗兽棋”。曾经我们买一张,剪开,在课间时候玩的不亦乐乎~ 哈哈 倍儿开心😂kotlin + Compose + ViewModel +Lifecycle界面部分 纯Compose实现。下载地址:https://share.weiyun.com/5I9615je或者扫码下载↓↓↓...原创 2022-06-01 22:36:52 · 664 阅读 · 0 评论 -
Android:图片加载框架最新解析——从源码的角度理解Glide的执行流程
文章目录准备源码开始阅读1、with()2、load()3、into()众所周知Glide是Android开发中普遍使用的图片加载框架,功能非常强大,API非常简便,也是Google官方唯一推荐的图片加载框架。基本用法,本文不再叙述,详情请参阅官方Github主页一般情况下,我们想在界面上显示一张图片,只需要一行代码即可实现。图下所示:Glide.with(this).load(url)....原创 2020-03-04 02:26:19 · 654 阅读 · 0 评论 -
Android:玩转网络请求架构 Retrofit+Kotlin协程简单使用(MVVM架构模式)
MVVM架构模式(Jetpack)引入lib,APP模块:build.gradledependencies { // 添加Jetpack中架构组件的依赖,注意viewmodel要添加viewmodel-ktx的依赖 api "androidx.lifecycle:lifecycle-livedata:${rootProject.ext.lifecycle}" api "a...原创 2020-01-13 17:35:11 · 6180 阅读 · 3 评论 -
Android:Activity、Service启动过程(Android 10源码)
本文源码均取自Android 10Activity启动过程当我们使用startActivity() 启动另一个Activity后,主要会调用以下的一些函数。MyActivity.startActivity() Activity.startActivity() Activity.startActivityForResult Instrumentation.execStartActivty...原创 2020-01-08 17:26:59 · 538 阅读 · 0 评论 -
Android:仿“某音”APP 多头像跳动动画+轮播动画+心跳动画+输入框抖动动画
文章目录序言效果一:(多头像)跳动动画效果展示Code效果二:(多头像)轮播动画效果展示Code效果一、二的使用效果三:(单头像)心跳动画——放大&缩小效果展示Code效果四:(输入框)抖动动画效果展示CodeGitHub序言仿“某音”APP 多头像跳动动画+轮播动画+心跳动画+输入框抖动动画GitHub源码地址:https://github.com/sange93/CoolAni...原创 2019-10-18 09:22:46 · 3384 阅读 · 4 评论 -
Android:玩转Retrofit+OkHttp+Kotlin协程 网络请求架构
文章目录引言实战1、引入开源库2、简单封装3、开始使用引言目前做APP网络API请求Retrofit+OkHttp+Kotlin协程应该是比较流行的,相比之前Retrofit+RxJava 有了太多的优势,Rx可以做的事情,协程一样可以做,而且可以做到更方便,更简洁。还不会用协程的童鞋可以看下这篇[Kotlin:玩转协程],接下来我们进行网络请求框架的实战。实战1、引入开源库在app m...原创 2020-01-13 16:00:18 · 9224 阅读 · 6 评论 -
Kotlin:玩转协程
文章目录协程是什么——它就是个线程框架。基本使用准备工作1、创建协程的三种方法:2、协程的使用3、协程生命周期管理,随Activity销毁而取消。参考协程是什么——它就是个线程框架。协程是 Kotlin 提供的一套线程封装的 API。优点:不用关注多线程,就能够让复杂的并发代码,写起来变得简单且清晰。相似内容:像 Java 中的 Executor线程池来进行线程管理;像Android...原创 2019-10-14 00:18:31 · 728 阅读 · 0 评论 -
Android探索:IPC基础
Android IPC基础Android IPC基础引言Android的多进程模式1、开启多进程2、多进程运行机制对象的两种序列化1、Serializable 接口2、Parcelable 接口Binder(粘合剂)的使用1、什么是Binder?2、Binder的工作机制试一试引言IPC(Inter-Process Communi...原创 2018-04-27 17:29:54 · 347 阅读 · 0 评论 -
Android探索:全面分析Activity的生命周期&IntentFilter匹配规则
全面分析Activity的生命周期&IntentFilter匹配规则转载请注明出处: https://blog.youkuaiyun.com/sange77/article/details/79922503引言 1、Activity 的启动流程 2、生命周期的两种情况 2.1、正常情况 2.2、异常情况 3、如何在系统配置发生改变后,让Activity不重建? 4、隐式调用的I...原创 2018-04-13 01:13:28 · 605 阅读 · 0 评论