我的第一个 Compose 写的 Android App - 姐姐好骂

说这是我的第一个 Compose 写的 Android App,其实事实上也倒不是这么回事。之前入门的时候肯定也写了几个小 Demo,但我第一个写的 Compose Demo App 就是姐姐好骂。

Jetpack Compose

Compose 是 Google 代替命令式 UI 的新产品,它采用新的声明式 UI 来构建 App。我之前有 SwiftUI 开发的经验,上手 Compose 相比于普通的命令式 UI 来说确实是非常简单并且符合我对 Compose 的想象的。

但又或许是我第一次入门 Android 开发的原因,我发现 Android 在开发的时候有很多基础(至少对于 iOS 开发来说是这样的)的功能都需要安装来自不同地方的依赖。最常见的就是网络请求,异步图片,ViewModel 和 Key-Value 存储等等。在 iOS 上均有系统自带的实现,例如 URLSessionAsyncImage@StateObjectUserDefaults,而 Android 需要安装例如 RetrofitCoilViewModelSharedPreferences 等等

还有一点,关于 Material Design 3。我承认是有先入为主,因为我一直以为 Android 原生开发默认采用的就是当前 Android 版本的组件库,例如 Android 12 级以上版本会理所应当的使用 Material Design 3。但后来我发现其实 Material Design 3 与系统组件库是没有任何关联的。在 iOS 开发中,更详细的说是 SwiftUI,系统组件库的样式是和系统版本相关的,一套代码在不同的平台上跑也会得到不同的 UI 样式。而 Android 中,Material Design 3 实际上是需要另外安装一套 Compose 使用的设计实现。这是因为 Material Design 3 仅仅提供了一份设计规范文档,而不提供代码或者任何实现。不过 Google 针对 Web,Flutter 和 Compose 都提供了 Material Design 3 的实现就是了。反正 Material Design 3 这套规范你在哪里实现都可以

姐姐好骂

姐姐好骂是我写的第一个练手 App,大概长这样

CF1CD099CA28466A8AA2F799F3A943A0.jpg

118EEE52E71CFE4A0D6E41B9B701E724.jpg

姐姐好骂这个名字怎么来的,是因为当时玩彩六的时候出了新干员 Solis,因为长得确实很帅,因此取了个外号叫做帅姐姐

帅女人高清大图.png

后来又想把 Solis 的图片做成 App Icon,因此姐姐好骂这个名字就这么来了

骂人宝典/祖安语录

骂人宝典,后祖安语录是一个项目。这个项目收集了来自用户们的投稿的各种骂人语句。最开始的时候还相安无事,但是大概在 22 年初的时候再次被 DNS 污染后作者放弃了挣扎,将数据库给开放了出来。姐姐好骂项目就是基于这个开放的数据库来实现的。

姐姐好骂 2.0

姐姐好骂 2.0 是因为初版实在写的太烂,我也完全不想再去碰这些老代码了,于是就重构出了新的版本。

我用了 MVVM 来重写整个 App,并且也将会新增一些新功能,这些功能将会帮助你在骂人之旅上越走越顺(不是)

C9F5601BC12CFDEB2406AE1A13E1810C.jpg

BC1F2D070C4EF2CE743EB77C099C03E5.jpg

0247D7B846881A45EFA3E50F6D8BE39E.jpg

7148D7B5A1919858B9CE3EBB7B0C2BB4.jpg

FD4288BF9C491DBE7A3B921C4435998F.jpg

目前已经新增了骂爹模式,还差一个搜索和筛选的功能就大概完成我心目中的样子了

随便结个尾

害,在这个 App 之前其实我也写了好几个 Android App 来作为经验积累,每次都会被气到爆炸(

这次进行的姐姐好骂重构已经算是十分顺利了,至少到现在基本上都可以走之前走过的老路,开发起来还算是平滑

我是一个软件外貌协会的人,也算是蛮欣赏 Material Design 3 的设计,要不是 MD3 或许可能没法坚持下来到现在