![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jetpack
文章平均质量分 93
TechMerger
Android平台资深从业者,公众号「Tech Merger」。
展开
-
参加了南京 GDG 活动:这些精彩的技术讨论,值得与你分享~
一直以来发的文章大都是技术的,这次和大家聊点简单点的。密集输出这几年,因为疫情没能在线下和大家碰面,去年又因为时间原因浪费了 Google IO China 门票。所以,今年的南京本地的 GDG DevFest 2023 活动一经上线,就报了名。这次如愿见到了不少朋友,进行了面对面交流,非常赞!原创 2023-11-20 16:45:00 · 177 阅读 · 0 评论 -
手把手教你用 COMPOSE 开发地图 APP~
很难想象1.0早在2021 年 7 月就发布了。如今两年过去了,Google Play 上排名前 1000 的 App 中已有24%采用了 Compose 这个新技术, 其影响力可见一斑。Jetpack Compose 作为MAD(现代 Android 开发)理念中的一员,确实取得了不少成绩。但我留意到有个技术角落被大家忽视了,那就是 Map 地图。其实,我有阵子没接触 Compose SDK 了,但最近突然发现Google Map。原创 2023-11-13 09:00:00 · 486 阅读 · 0 评论 -
Flow 转 LiveData 后数据丢了,肿么回事?
最近我在负责一段代码库,需要在使用Flow的 Data 层和仍然依赖LiveData暴露 State 数据的 UI 层之间实现桥接。好在框架已经提供了一个叫做的方法,可以让你毫不费力地将Flow转为LiveData。在拥有一个及以上活跃的观察者的条件下,它才会发射数据。假使上游的 flow 产生了更新,但对应的 LiveData 并非活跃的状态,那么它将无法获得最新的数值。让我通过如下的实例,向你展示我们可能会遇到的这种潜在问题。请时刻记住采用方法转换Flow得到的LiveData。原创 2023-01-08 20:01:08 · 499 阅读 · 0 评论 -
MAD 最新技能图谱送给大家,收藏再学~
MAD是 Google 针对 Android 平台提出的全新理念,期望在语言、工具、框架等多个层面提供卓越的开发体验。其愿景和优势: 倾力打造:汇聚 Google 在 Android 行业十余年的前言开发经验 入门简单:提供大量 Demo 和详尽文档,适用于各阶段各规模的项目 迅速起步:提供显著降低样板代码的开发框架 Jetpack 和 UI 工具包 Jetpack Compose 自由选择:框架丰富多样,可与传统语言、原生开发、开源框架自由搭配 统合一致.原创 2022-02-19 22:59:31 · 1077 阅读 · 0 评论 -
MAD,现代安卓开发技术:Android 领域开发方式的重大变革~
Android 诞生已久,其开发方式保持着高频更迭,相较于早期的开发方式已大不相同,尤其是近几年 Google 热切推崇的 MAD 开发技术。其实很多开发者已经有意或无意地正在使用这门技术,借着 2022 开年探讨技术趋势的契机,想要完整地总结 MAD 的愿景、构成、优势以及一些学习建议。MAD,全称 Modern Android Development:是 Google 针对 Android 平台提出的全新开发技术。旨在指导我们利用官方推出的各项技术来进行高效的 App 开发。有的时候 Google.原创 2022-01-24 16:35:17 · 3714 阅读 · 0 评论 -
从写作到演讲,虾米君不断尝试的 2021|年终回顾
年终岁末总有很多令人兴奋的事情,之一便是坐等各种年终盘点,包括各种年度账单、年度歌单等。但我们常常忽略了对自己的年终盘点,那不是公司里要求的作业,而是认真的回顾和思考。今年七月份我写过一篇年中回顾:「电子厂里撂了挑子,我默默自学起了Android|2021 年中总结」。虽说是年中回顾,但超过一半的篇幅讲的是我从事 Android 开发的契机和一路以来的故事。反响超出了预期,很多朋友在博客里留言,和我分享他们类似的经历和当下的状态。我很欣慰自己的故事能够激起大家的共鸣,这回我想认真盘点下今年的所行、..原创 2021-12-27 10:15:50 · 6226 阅读 · 3 评论 -
Jetpack 叒一新成员 DragAndDrop 框架:大大简化拖放手势开发
对于拖放功能,大家并不陌生,这是在桌面端最稀松平常的操作,比如将文件拖入回收站。随着移动设备的大屏趋势、可折叠设备的愈加发完善,拖放操作在移动平台里端也显得愈加必要和流行!针对拖放功能的实现,Android 平台现存的方案略为复杂。基于此, Jetpack 框架集合里推出了新成员 DragAndDrop 。本文着重阐述该框架的愿景和核心要点,主要内容译自 Android 开发者关系工程师 Paul 在 Meduim 上的 Post:Simplifying drag and drop。本质来说,拖放手.原创 2021-12-18 21:19:02 · 813 阅读 · 0 评论 -
倾情分享:Android 开发者们不要错过的网站宝藏~
从事 Android 开发多年,攒了很多宝贵的学习网站,分享给大家。涵盖了系统、API、语言、开发工具、以及各种官方学习平台,不求面面俱到,只求无私分享!原创 2021-12-11 15:41:10 · 2823 阅读 · 0 评论 -
深度探讨 Jetpack SplashScreen 如何重塑应用启动画面
可能有不少小伙伴已经留意到 Android 12 上推出了全新的启动画面 API SplashScreen。同时为了兼容低版本的使用,Jetpack 框架里推出了同名库。本次针对这个库的使用和原理做个全面的介绍,将按照如下几个方面去展开:首先简单探讨一下为什么需要启动画面接着一起回顾一下之前打造启动画面的常规做法然后重点阐述一下 SplashScreen 库的目的,以及如何使用最后介绍一下 SplashScreen 库大致的实现原理1. 为什么需要启动画面1.1 启动画面的作用..原创 2021-11-07 18:43:34 · 5334 阅读 · 0 评论 -
细说 AppCompat 主题引发的坑:You need to use a Theme.AppCompat theme with this activity!
一般来说按照文档的建议去做,出现问题的概率很低。但很多人的情况不同,每每会发生意外状况,就比如这次没有使用 AppCompat 主题引发的坑!AppCompat 框架作为 Jetpack 集合的基石,非常重要。Android Studio 上创建的默认项目都会自动集成 AppCompat 框架,并采用其提供的 AppCompatActivity 作为 Activity Base。App 侧给 Activity 配置的主题一般扩展自 SDK 提供的系统主题或 AppCompat 提供的主题,前者的话..原创 2021-08-22 20:48:30 · 7586 阅读 · 1 评论 -
Jetpack新成员SplashScreen:为全新的应用启动效果赋能!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9CxzdPY-1628785141142)(https://z3.ax1x.com/2021/08/12/fBlZef.gif)]{:height=“50%” width=“50%”}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzHia2fv-1628785141144)(https://z3.ax1x.com/2021/08/12/fBl3yq....原创 2021-08-15 14:32:24 · 1271 阅读 · 0 评论 -
一气呵成:用Compose完美复刻Flappy Bird!
Compose复刻红极一时的Flappy Bird游戏[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1VRuG0Wk-1627274978083)(https://z3.ax1x.com/2021/07/24/Wco1QH.png)]之前看到fundroid大神用Compose技术打造了俄罗斯方块,深受启发,便萌生了也打造一个游戏的想法,同时精进一下Compose的学习。伴随着南京疫情的风云变幻,完了这个游戏。Flappy Bird是曾经红极一时的小游戏,其困难的原创 2021-07-27 23:06:19 · 959 阅读 · 1 评论 -
CameraX + 华为ScanKit:二维码扫描的终极解决方案
年初写了一篇CameraX的使用文章,帮到了一些朋友,也收到了一些建议。正值最近了解到华为ScanKit在扫码场景下的优秀表现,决定集成该方案,并进行一些功能改进。之前做的Demo略显简陋,本次改进也对UI进行了调整。主要是给顶部操作栏添加了半透明背景,同时给切换按钮添加了半透明边框以提高对比度。另外对拍摄和录制场景的一些配色做了改动。1. 华为ScanKit是什么ScanKit可以提供便捷的二维码与条形码扫描、解析、生成能力,帮助您快速构建应用内的扫码功能。它拥有诸多优势,包括支持多达..原创 2021-06-28 23:04:02 · 4195 阅读 · 19 评论 -
从Preference组件的更迭看Jetpack的前世今生
Android 12开始支持新一代图片压缩格式AVIF历来的图片格式JPGPNGWEBPJXLGIFHEIFAVIFAVIF格式的优点:一个开源视频编解码器,由开发媒体联盟提出,其目的是压缩视频和图像,以减少占用的空间,但质量始终如一色彩更丰富压缩效率更高细节保留更完整多设备兼容性更强如何使用如何解码Gradle解码插件未决事项目前的AS版本不识别AVIF测试资源https://jakearchibald.com/c/car-original-2b40b809原创 2021-06-14 19:53:43 · 11023 阅读 · 10 评论 -
Jetpack Hilt有哪些改善又有哪些限制?
Hilt相较Dagger2的改善和使用上的注意前言TBD简单梳理下DI的基本流程。依赖的需求方@Inject 表示该类型的实例需要被DI框架自动注入,如果是构造函数注入的话其参数则意味着它还依赖其他实例依赖的提供方@Provides或@Binds定义的提供第三方实例的方式,表示该模块为提供方依赖的注入方比如单例的MovieServie的注入方式@HiltAndroidApp注解生成的应用级别的注入容器代码Todo框图TodoHilt的由来定义:Hilt provides a原创 2021-04-17 11:08:26 · 2162 阅读 · 10 评论 -
Dagger2和它在SystemUI上的应用
和人类需要群居一样,程序界的进程、线程也需要通信往来。它们的交流则依赖模块之间、文件之间产生的关系。如何快速地搞清和构建这种关系,同时还能减轻彼此的依赖,需要开发者们认真思考。我们将这种需求称之为依赖注入(DI,Dependency Injection),这个编程技术由来已久,在讲述之前想来简单回顾下依赖和关联的基本概念。依赖和关联像下图示意的那样,模块或类之间的关系大体可以分为依赖(Dependency)和关联(Association)两种。依赖一般表现为局部参数,关联则表现为属性的持有。..原创 2021-04-05 23:57:01 · 4543 阅读 · 10 评论 -
Jetpack Compose助我快速打造电影App
去年开源了一个电影App,其采用的是成熟(过时)的MVP架构。现如今Jetpack框架愈发火热,便萌生了完全使用Jetpack框架重新开发的想法。加上Compose Beta版的正式公开,这个时机再适合不过了。整体上采用Compose去实现UI。数据请求则依赖Coroutines调用Retrofit接口,最后通过LiveData反映结果。成品话不多说,先看下效果。启动页面,搜索页面和电影详情页面。店铺页面,收藏页面以及和个人资料页面。Github地址如下,欢迎参考,不吝STAR⭐️。..原创 2021-03-21 17:44:49 · 3957 阅读 · 15 评论 -
十余年从业者跟你聊聊Android的开发现状
本文来自于前领导写的一篇总结,其凭借十余年的工作经验和深厚的技术功底,针对整个Android开发现状进行了详尽地复盘和展望。希望Android开发者都能看到并产生启发。*因其中部分技术点更新了对内容进行了细微改动。进入2021年,Android生态也发生了不少变化,从一个多年经验的Android开发者角度分析Android的开发现状,不喜勿喷。KotlinKotlin已经成为Android开发的官方语言,Android的新的文档和Sample代码都开始转向 Kotlin,在未来Java将加速被 ..转载 2021-03-14 22:45:42 · 550 阅读 · 2 评论 -
参加Google Compose挑战赛的趣事
最近工作比较忙,再加上参加Google的 Compose大赛,学习Jetpack框架的脚步放缓了些。上个月底Google正式发布了 Jetpack Compose的beta版,预示Compose框架趋于稳定亟待正式公开。同时,为了让开发者们尽早上手和测试这个框架,Google来了个大动作,启动了历时4周的每周提交一个Compose作品的设计大赛。目前大赛已经进入第2周。Google官推显示首周有近1000位开发者提交了作品。可以看到开发者对于Compose的开发热情,大赛的第一波热潮看来是燃起来了。.原创 2021-03-08 00:07:34 · 631 阅读 · 2 评论 -
除了SQLite一定要试试Room
不舍的春节已过,收起心来,2021咱们一起加油。Android开发者使用数据库的时候,最先想到的是SQLite。如果有对外公开的需求,则需再包装一层ContentProvider。除此之外,也可以选择开源的数据库框架,比如GreenDao,DBFlow等。本文将讲述Google推出的数据库框架Room,和你一起探讨如何使用Room、其实现的大概原理以及和它的优势。简介Room是房间的意思。房间除了能存放物品,还能带给人温暖和安心的感觉。用Room给这个抽象的软件架构命名,增加了人文色彩,很有温..原创 2021-02-20 21:55:24 · 1515 阅读 · 1 评论 -
为什么推荐使用CameraX?
本文可能是当下最新最全的CameraX解读,篇幅很长,你准备好了吗?我们的生活已经越来越离不开相机,从自拍到直播,扫码再到VR等等。相机的优劣自然就成为了厂商竞相追逐的赛场。对于app开发者来说,如何快速驱动相机,提供优秀的拍摄体验,优化相机的使用功耗,是一直以来依赖追求的目标。前言Android 5.0 时期Camera接口便已弃用,所以一般的做法是使用其替代者Camera2接口。但随着CameraX的出现,这个选择变得不再唯一。我们先来回顾下图像预览这一简单的需求,使用Camera2接口是..原创 2021-01-31 23:01:35 · 5642 阅读 · 12 评论 -
AppCompat发布两年了,还没了解?
起底大家容易忽视的AppCompat框架近日随笔近期疫情日渐严峻,大家多多保重,出门记得戴口罩。希望河北,黑龙江能尽早控制住好局面迎来拐点,全国人民过个好年。为了能够让低版本的Android系统能够运行新特性,AppCompat框架自Support时代就已推出。但随着AndroidX的一统江湖,AppCompat的相关类则一并迁移到了AndroidX库里。Android开发者应该都不陌生,在Android Studio上创建的项目默认采用AppCompatActivity作为Activity的原创 2021-01-16 00:26:33 · 3935 阅读 · 16 评论