
Kotlin、JetPack
文章平均质量分 92
使用Kotlin实现设计模式
朱 江
温故知新,可以为师
展开
-
Compose 动画艺术探索之 Easing
如果想玩好 Compose 中的动画,Easing 是必不可少的一环,那么什么是 Easing 呢?Easing 是用来来调整动画的小数值的,这样可让动画值加速和减速,而不是以恒定的速率移动。。。。。原创 2022-12-22 17:25:18 · 881 阅读 · 0 评论 -
Compose Desktop 初体验之打包
大家好,前两篇文章大概介绍了下上手 `Compose Desktop` 和自定义绘制时遇到的一些问题,本篇文章带大家一起来看下 Compose Desktop 应该如何打包吧!原创 2022-12-15 17:17:53 · 3021 阅读 · 8 评论 -
Compose Desktop 初体验之绘制
上一篇文章 “从 0 到 1 搞一个 Compose Desktop 版本的玩天气之踩坑” 中大概说了下刚开始使用会遇到的一些问题,帮大家踩了踩坑,那么这一篇则会带大家一起来看下项目中绘制的一些东西,再来看下项目的最终实现效果吧!原创 2022-12-15 17:13:05 · 1178 阅读 · 1 评论 -
Compose Desktop 初体验之踩坑
大家好,好久不见,接下来一段时间我会系统性地写一套关于 Compose Desktop 的文章,带大家从头到尾写一个桌面版的天气应用,并且打好包让别人也可以进行使用,接下来就开始吧!先来看下最终的实现效果吧!原创 2022-12-15 17:00:56 · 1930 阅读 · 0 评论 -
Compose 动画艺术探索之 AnimationVector
大家可能都知道或听说在 Compose 中动画使用起来很简单,但其实是使用起来很简单,内部逻辑其实也不简单。大家用了这么久的 Compose 动画,知道 AnimationVector 是个啥吗?原创 2022-12-03 10:29:14 · 511 阅读 · 0 评论 -
Compose 动画艺术探索之属性动画
属性动画在日常开发中使用的频率不要太高,但如果使用 Compose 该怎么办呢?不要担心,官方也为 Compose 提供了属性动画的实现,一起来看看吧!!!原创 2022-12-03 10:23:04 · 678 阅读 · 0 评论 -
Compose 动画艺术探索之可见性动画
Compose中可见性动画在实际开发中使用地很多,但为什么可见性动画使用这么简单呢?今天带大家一步一步从源码角度来看看可见性动画是如何实现的!!!原创 2022-12-03 10:21:28 · 203 阅读 · 0 评论 -
Compose 动画艺术探索之灵动岛
说起灵动岛,大家肯定都不陌生,这是苹果14中算是最大的更新了,能在缺点上玩出花,这个产品思路确实厉害👍,灵动岛看着挺炫,其实实现并不复杂,今天带大家来使用Compose实现属于安卓的灵动岛!!!原创 2022-12-03 10:19:10 · 1583 阅读 · 0 评论 -
Compose 动画艺术探索之瞅下 Compose 的动画
Compose 从 alpha 版本出来到现在热度都一直不减,因为真的好用,本文带大家来瞅一瞅 Compose 中使用动画到底有多简单,也让大家看看 Compose 中的动画效果到底怎么样!原创 2022-10-12 10:20:05 · 602 阅读 · 0 评论 -
用 Compose 实现个空调,为你的夏日带去清凉
代码都很简单,但是希望大家在炎热的夏天都能保持一颗平静的心,未来也能从容的面对生活中的各种事情,努力,共勉。原创 2022-06-14 11:31:53 · 463 阅读 · 2 评论 -
Compose主题切换——让你的APP也能一键换肤
应用换肤,这真的是一个老生常谈的问题,从原生安卓开始、到后来的 Flutter ,再到现在的 Compose ,虽说老生常谈,但其实还是新瓶装旧酒。。。原创 2022-03-03 08:59:35 · 3213 阅读 · 0 评论 -
快来学习 Compose 中的 “ViewPager” 吧
ViewPager 的功能就是可以使视图滑动,就像桌面左右滑动那样。不管是轮播图的使用、亦或是页面之间切换都离不开它,下面就让我们一起来看看在 Compose 如何使用 ViewPager 吧!!!原创 2022-02-21 09:45:56 · 3384 阅读 · 1 评论 -
用 Compose 画个小老虎恭贺新春
2022 年的春节马上就要到了,在这里我使用 Compose 画了一个小老虎恭贺新春,希望大家在虎年开发没有 Bug,需求都是正常需求!祝大家:新年快乐!!!原创 2022-01-24 09:38:39 · 6586 阅读 · 19 评论 -
Jetpack新成员——Glance
Glance??? 今天像往常一样进去 Google 的官方文档查看最新的依赖更新,发现昨天 Google 更新了一批依赖: 看着没啥不正常的,都是一些依赖的更新迭代,但当我往下继续滑动的时候。。。。原创 2021-12-17 08:54:35 · 2012 阅读 · 3 评论 -
Compose 页面切换动画
Compose 页面切换动画前因后果Compose 正式版已经发布了一个多月了,从 Compose beta 版本发布之后各大网站中热度就一直不减,官方也一直在为开发者们推出学习 Compose 的文章,更加说明了 Android 开发的未来趋势。在之前我写了 Compose 版本的玩安卓,当然也有 MVVM 版本的,只是不同分支而已,这是 Github地址:https://github.com/zhujiang521/PlayAndroid但之前一直存在着一个问题,就是页面切换的时候没有动画,也原创 2021-12-14 10:00:35 · 4377 阅读 · 0 评论 -
Jetpack Compose实现全应用黑白化
本篇文章咱们纯谈技术,今天咱们主要考虑使用 Compose 如何实现黑白化!原创 2021-12-13 16:03:59 · 527 阅读 · 1 评论 -
从零到一写一个完整的 Compose 版本的天气
忍不了了最近在手机上看天气的时候发现一堆广告,烦得要死,一个天气app,我想要的只是查看下天气,结果钢筋天气应用就给我来个开屏广告,好家伙,原来我这么喜欢广告吗???开屏广告就不说了,我忍了,因为很多应用都有开屏广告;但是进来天气页面尽然还是一堆广告,误触就会跳转别的应用,这也不说了,我也忍了;你一个天气应用有一堆资讯我还忍了!最让我忍不了的是竟然还有 VIP ???我TM看个天气还要开个VIP???实在是忍不了了,自己写一个吧,正好可以多练练Compose,而且自己写的天气绝对没有广告,也不会乱下载东西原创 2021-11-16 10:22:26 · 3792 阅读 · 4 评论 -
玩转 Compose 中的 Lottie 动画
无聊的前言我太累了,真的太累了,公司项目搞了好久,到现在还一直有问题,导致已经两三个月没有过任何文本输出。其实这都是借口,关键还是变懒了,上周末还出去玩了一趟????。Compose 已经发布稳定版几个月了,有个现象我一直很纳闷,在 Compose 发布了 alpha 版本和 beta 版本之后各大技术论坛都开始不停地讨论,并且有相应的一大堆文章输出,但是正式版发布之后反而都销声匿迹了,这是什么情况???不过这只是技术论坛的一些现状,大佬们还是在不停地前进的,就比如今天的主角——Lottie,Comp原创 2021-10-24 09:05:22 · 1359 阅读 · 2 评论 -
裸眼 3D 效果 Compose 版本
前因后果这段时间比较忙,一直没抽出时间来写文章,登录账号看了下,上一篇文章还是两个月前写的,之前一个月都会写一篇文章的,有点懒惰了。。。今天在博客中看见自如客APP研发团队发的一篇文章:自如客APP裸眼3D效果的实现,看了看效果感觉很炫,然后又看到已经有人使用 Flutter 实现了这个效果,Flutter 能实现,Compose 肯定也没问题,来吧,说干就干。实现思路先来看看实现的效果吧,没有人家的那么好看,大家将就着看吧????。实现思路其实很简单,就是放了两层布局(当然自如客APP中实现是原创 2021-08-20 09:26:48 · 798 阅读 · 1 评论 -
再抱一抱DataStore
好久不见大家好,好久不见,上次发文章还是三月份,转眼间马上都六月份了,最近一直在忙没空写,已经两三个月没有发过文章了,周末正好抽出了点时间,就想着写点东西吧。一片爆红在之前我发过一篇 DataStore 的文章:[用力抱一下 Jetpack DataStore](然后去 官网看了看发现 终于发布了 beta 版本,https://juejin.cn/post/6903308779077500942),当时使用的版本是1.0.0-alpha05,从2020年9月发布第一个 alpha 版本之后到现在原创 2021-05-24 10:10:24 · 662 阅读 · 5 评论 -
打造 Compose 版本的 Banner
没有 ViewPager ?前段时间 Compose 出来 beta 版本的时候就想着写写玩一玩,把自己写的玩安卓重构成 Compose 版本的,于是就写了几篇文章:初探 Compose 版本的玩安卓再探 Compose 版本的玩安卓Compose 实现下拉刷新和上拉加载Compose Android 开发终极挑战赛: 天气应用如果想学习 Compose 的话,可以去看看,里面有详细的代码供你参考:Github 地址:github.com/zhujiang521…,别忘了是 main 分支。原创 2021-03-30 14:46:45 · 3525 阅读 · 10 评论 -
Compose Android 开发终极挑战赛: 天气应用
Compose Android 开发挑战赛 | 终极挑战: 天气应用前因后果Compose beta 版发布也快一个月了,Google 官方发起的 Android 开发挑战赛也举办到了最后一期,四期的挑战分别是:第一期挑战是做一个领养宠物的应用,全球一共有五百份礼品。第一个我参加了,做了一个很简单的应用,只有一个列表和一个详情页面,在之前的博客中也说过。但是看了 Google 官方发出的别人写的之后,又看了看自己写的,这是个啥。。。。醉了第二期挑战是做一个倒计时的应用,全球也是一共五百份。看见之后原创 2021-03-22 16:07:31 · 1007 阅读 · 5 评论 -
Compose 实现下拉刷新和上拉加载
Compose 实现下拉刷新和上拉加载该咋整下拉刷新和上拉加载是很多应用必备的功能,但是我在使用了 Compose 重构应用的时候发现 Compose 没有下拉刷新和上拉加载,这可咋整。。。以前原生提供了 SwipeRefreshLayout ,改一改就直接能用,或者是有那么多的开源库,直接添加下依赖进行使用就可以了,但是现在该咋整。。。翻了一遍官网给出的一堆 Compose 的样例,在 Jetnews 这个样例中有下拉刷新,不过是自定义的,那么咋整。。。拿过来用啊!传说中的 cv工程师 不就是这样嘛原创 2021-03-15 08:54:04 · 4729 阅读 · 11 评论 -
再探 Compose 版本的玩安卓
冒失的前言之前写了第一篇关于 Compose 初探的文章,大概说了下 Compose 的前世今生,本篇文章是基于上一篇文章写的,阅读之前最好先阅读下:初探 Compose 版本的玩安卓。上一篇文章由于篇幅的原因很多东西没有介绍, Compose 非常大,也绝对不是一篇文章能写完的,咱们慢慢来。这篇文章打算详细介绍下 Compose 的导航—— Navigation ,还有 Compose 的状态管理—— State ,然后是Compose 和 Android View 的相互操作性,这些都是 Comp原创 2021-03-07 09:03:08 · 9175 阅读 · 16 评论 -
初探 Compose 版本的玩安卓
前言风起云涌最近移动端新闻很多啊,都有点看不过来了,Google 官方先是发布了 beta 版本的 Compose,紧接着又发布了 Flutter 2.0 版本,这是要搞事情啊!!!Google 官方发布了 beta 版本的 Compose 之后举办了一个小比赛,分为四场,每周一场,现在为止已经过去了一场,没有赶上第一场的不要担心,还有剩下三场。国内的安卓大佬们都开始摩拳擦掌,扔物线大佬先发了一篇公众号,里面介绍了这个比赛的规则,又表明他已经参赛了,并静等礼物的到来;扔物线发表公众号的第二天,郭原创 2021-03-06 14:31:49 · 7104 阅读 · 15 评论 -
ViewBingding?搞!
为啥搞其实之前也看到了 AndroidStudio 给出的提示,说 kotlin-android-extensions 已经被废弃,当时也没当回事,前两天有点问题需要写一个 Demo 的时候就新建了一个项目,按照往常一样直接在 Activity 中使用控件的 id 进行调用,但是发现报错,新建的项目中已经默认不集成 kotlin-android-extensions 了,好坑啊!要说之前为什么开始使用 Koltin ,不用再写 findViewById 绝对是一大原因,但是现在竟然直接给我废弃了!好坑。原创 2021-02-24 10:39:12 · 1370 阅读 · 0 评论 -
安卓Jetpack组件Room数据库框架的使用(附Demo)
简单介绍最开始学习安卓的时候,会继承自SQLiteOpenHelper来编写自己的数据库;之后一些优秀的三方开源数据库框架出现了,我用过的有郭神的LitePal、greenrobot的greenDao(EventBus也是他编写的);为了帮助支持各位开发者,google推出了自己的数据库框架Room。官方定义官方介绍:The Room persistence library provi...原创 2019-11-14 13:18:53 · 1201 阅读 · 2 评论 -
安卓升级AndroidX手把手教程
突然发现好多安卓项目已经改为了AndroidX,那么自己的项目也该升级一下了。下面是AndroidX的官方文档的概述。AndroidX概述AndroidX是Android团队用于在Jetpack中开发,测试,打包,版本和发布库的开源项目 。AndroidX是对原始Android 支持库的重大改进 。与支持库一样,AndroidX与Android操作系统分开提供,并提供跨An...原创 2019-05-07 19:29:54 · 8869 阅读 · 3 评论 -
一文带你玩转 DataStore
缘起 SharedPreferences说起 SharedPreferences(下面简称 SP),只要是安卓开发都不会陌生的,平时开发都离不开,不过它确实很方便,以键值对的形式存储在本地,使用非常简单:val sp = getSharedPreferences("Test", Context.MODE_PRIVATE)sp.edit { putString("jetPack", "text") }val jetPack = sp.getString("jetpack", "")只需要上面几行代原创 2020-12-07 08:46:09 · 4982 阅读 · 8 评论 -
MVVM?继续搞一波
前言又是好久不见了,真的不是因为我懒,是因为公司目前活确实有点着急,所以每天在忙公司的事情。在五月下旬的时候写过一篇MVVM的文章:MVVM?瞎搞一波?。当时写的时候内心其实很慌,怕写的不好从而误导大家,但写出来之后有几位同行的回答让我对MVVM有了一些更多的理解。例如MVVM的VM就是 ViewModel,但并不只是 JetPack 中的ViewModel那个库,而是泛指视图和数据的绑定等等,于是乎这两天稍微有点时间就赶快趁着晚上和周末的时间继续完善了下之前的MVVM版本的玩安卓,废话不多说,先原创 2020-09-13 18:59:32 · 1293 阅读 · 0 评论 -
MVVM?瞎搞一波?
MVVM?瞎搞一波?前言准备写这篇文章的时候就已经后悔了,因为MVVM太火了,遍地都是教程,遍地都是完整MVVM项目源码。之前一直使用的MVP,加上封装的LCE,感觉使用的还挺好,挺不舍得换框架的,但是这么火,不能不跟着时代走啊,再不学就要被淘汰了。其实到现在我都没真正搞懂MVVM到底是个啥,之前的MVC、MVP都很好理解,但是MVVM还是有点懵,如果看完文章感觉我写的哪块不对的话,请在评论区告诉我,万分感激。正文前两天白嫖扔物线的协程直播课程,扔物线在里面说到,MVVM中的VM并不是ViewM原创 2020-05-20 17:04:28 · 684 阅读 · 0 评论 -
重学Kotlin之泛型的逆变和协变
前言距离写上篇文章到现在已经一个多月了,时间确实隔得有点久。这一个多月发生了好多事情,从天津辞职到了北京,然后在新公司干了也快一个月了。。。扯远了扯远了。。。上一篇文章重学Kotlin之那些你没注意到的细节中在写泛型那一块的时候只写了泛型的实化,本来想直接把泛型的逆变和协变写了的,但由于篇幅原因就没写,所以有了这篇文章。故事开始周五的下午,小老弟儿把手里的活都干完了,闲来无事在网上溜达 Kotlin 相关的知识,还带着华子????。看着看着看到了我上回写的那篇文章。。。“好大哥,你写的那篇文章中的原创 2020-08-02 11:51:09 · 764 阅读 · 6 评论 -
重学Kotlin之那些你没注意到的细节
前言大家好,好久不见。从Kotlin发布到现在已经有快十个年头了,从2016年发布正式版发展到现在已经有越来越多的开发者开始使用Kotlin开发项目,特别是安卓开发者,因为谷歌在2017年的 I/O 大会上正式宣布Kotlin正式成为安卓的一级开发语言,在2019年的 I/O大会上又宣布Kotlin为安卓的第一开发语言。。我从2018年下半年开始学习的Kotlin,最开始买了一本《Kotlin从零到精通》,跟着学习了一遍,把Kotlin的基本语法学习了一遍,由于待的公司比较小,安卓开发者并不多,而且当时原创 2020-06-22 08:53:36 · 735 阅读 · 0 评论 -
带你手撸一个Kotlin版的EventBus
前言EventBus在前两年用的人还是非常多的,它是由greenrobot 组织贡献的,该组织还贡献了GreenDao(目前不建议使用,建议使用官方的Room数据库框架)。EventBus的功能很简单,通过解耦发布者和订阅者简化Android事件传递,简单来说就是可以替代安卓传统的Intent、Handler、Broadcast或接口函数,在Activity、Fragment、Service之间...原创 2020-04-07 14:14:38 · 2601 阅读 · 1 评论 -
Kotlin设计模式实现之装饰者模式(Decorator)
前言 今天是2020年的第一天,在这里祝大家元旦快乐!之前用kotlin实现了策略模式,文中写到要多写几篇文章来加深以下对设计模式的理解。那么今天要写的看题目应该就知道了:装饰者模式(也叫装饰模式)。下面是装饰者模式的定义:装饰者模式(Decorator):在不改变对象自身的基础上,动态地给一个对象添加一些额外的职责。与继承相比,装饰者是一种更轻便灵活的做法。若要扩展功能,装...原创 2020-01-01 20:54:35 · 1047 阅读 · 1 评论 -
Kotlin设计模式实现之策略模式
前言周末抽空看了看《Head First设计模式》,准备专门写一个设计模式的专栏,每一种设计模式写一篇文章来巩固一下,当然,如果能帮到别人,是很开心的事了。看到题目就知道第一篇写的是策略模式了,下面来详细看看:正文首先来说一下需求吧:需要来模拟鸭子,有各种的鸭子,可以游泳,可以叫,有绿颜色的、还有黄颜色的等等。很简单对吧,再加上kotlin的优秀语法,就更简单了:abstra...原创 2019-12-16 10:50:54 · 1345 阅读 · 0 评论