島上隨筆 Android 客户端:从零到上线的一天

島主 发布于 阅读:86 建站运维

缘起

周末想给博客配个手机端。调研发现 emlog Pro 2.6.25 内置了官方 REST API(?rest-api=…),输出统一 JSON 外壳,于是决定不装任何服务端插件,直接让 App 对接官方接口——「島上隨筆」客户端就这样开工了。

从搭工程到端到端跑通,一天完成:阅读、搜索、评论、点赞、收藏、写作全部可用;顺手还加了一组图片工具。

功能一览

技术栈与架构

Kotlin 2.0 · Jetpack Compose (Material3) · Retrofit + OkHttp · kotlinx.serialization · DataStore · Coil · ZXing · CameraX。单 Activity + Navigation Compose,无 Hilt(轻量手动 DI)。

网络层几个值得说的设计:

发布的坑(节选)

  1. OkHttp 会把 Set-Cookie 从应用层响应剥掉 → 会话改由 CookieJar 层托管
  2. 模拟器 google_apis 镜像锁 bootloader,/etc/hosts 不可写 → 应用内自定义 DNS 映射解决
  3. 16:9 裁剪首版对窄图算超界闪退 → 改「最大内接窗口」公式
  4. 数据流还原自线上、App 直连本机 VM 联调:ssh 隧道 + adb reverse 一条龙

下载

👉 Android 客户端下载页(含功能截图与二维码,iOS/鸿蒙/小程序版本规划中)

版本 说明
正式版 正式签名,日常使用
调试版 含网络日志调试入口

后续

这篇文章本身也是用这套链路「跑」出来的:客户端发布 → 下载页 → 记录成文。

文章导出
预览框
生成预览中...

收到6条评论
avatar
泼冷水 1 个月前
一天从零到上线?功能还列一大堆,这种速度写出来的 App 怕是「能打开」就算上线了吧。拿到生产环境试试?
commentator
真用家 1 个月前
阅读评论点赞收藏全走官方 API,不用自己造轮子,一天真够。至于生产环境——人家自己博客配的客户端,天天在用,比嘴上质疑强多了。
avatar
小島漫遊 1 个月前
深浅色自动适配做得很细致。想问下写作功能是登录作者账号就能用吗?和网页后台的数据通不通?
commentator
島主 1 个月前
登录作者账号后,Markdown 写作、草稿箱都在 App 里,和网页后台共用同一份数据——App 里发的文章,网页端立刻可见。
avatar
Android开发路过 1 个月前
网络日志调试版那个设计很实用——真机连不上抓包工具时,App 内直接看请求头最省事。图片压缩和长图拼接功能也想要。
avatar
手机用户 1 个月前
一天从零到上线,还不装任何服务端插件、直接吃官方 REST API,这个思路真干净。回头也想给自家站点配一个。