Android项目推荐 | 使用Jetpack Compose和MVI构建Book应用

Android项目推荐 | 使用Jetpack Compose和MVI构建Book应用

项目概述

通过使用现代开发框架如Jetpack Compose、Kotlin、Kotlin Coroutines、Lifecycle、KTOR、Firebase等来构建一个Android有声读物阅读和听书应用。本系列旨在提供逐步开发功能丰富的应用程序的详细步骤,并展示了在当今Android开发环境中实现Clean Architecture和MVI设计模式的方法。

该应用程序的主要特点包括:

  • 引导屏幕(Onboarding Screen):向用户介绍应用程序并提供流畅的启动过程。
  • 登录屏幕(Login Screen):方便用户进行安全的身份验证,确保个性化体验。
  • 主屏幕(Home Screen):显示热门和推荐书籍列表,允许用户从离开的地方继续阅读。
  • 搜索屏幕(Search Screen):让用户通过搜索作者和分类来探索书籍。
  • 收藏屏幕(Favorites Screen):允许用户创建自己喜爱的书籍的个性化集合。
  • 书籍摘要(Book Summary):提供关于每本书的详细信息,帮助用户做出明智的选择。
  • 书籍阅读器(Book Reader):使用户能够在任选的书籍中无缝切换阅读和听书模式。
  • 个人资料屏幕(Profile Screen):显示用户特定的详细信息,提供个性化的触感和登出选项。

技术栈

  • Jetpack Compose
  • Kotlin、Kotlin Coroutines和Flow
  • 用于处理REST API的KTOR Client
  • 用于用户身份验证的Firebase Authentication
  • DataStoreRoom
  • ViewModel
  • Hilt

项目设置

对于那些已经开始开发之旅的人,可以从GitHub上随时获取有声读物Android应用的某些功能已经就绪的源代码。或者,您可以方便地从指定的GitHub存储库克隆现有项目。

git clone https://github.com/waseemabbas8/libroom-android.git

该项目的文件夹层次结构基于Clean Architecture模式,这是一种流行的Android应用程序结构方法。Clean Architecture模式根据其抽象级别将应用程序分为不同的层次,使内部层次独立于外部层次。这使得应用程序更易于维护和测试。

项目结构

Clean Architecture — Folder Hierarchy

  1. Root文件夹 - 包名文件夹
    该文件夹包含主要的应用程序类(LIBroomApplication)、MainActivityMainViewModel。除此之外,它还包含了核心、功能和导航文件夹。

LIBroomApplication负责初始化应用程序并使用Hilt设置依赖注入。MainActivity是应用程序的入口点。

  1. Feature文件夹
    该文件夹包含应用程序的每个功能的子文件夹。在本示例中,有用于authentication, authors, books, categories, favorites, home, onboarding, profile, reader, 和 search的功能。每个功能文件夹都包含数据、领域和表示层的子文件夹。此外,请注意我为每个功能管理了单独的Hilt DI模块。

  2. Core文件夹
    这是应用程序的核心部分。所有可以在应用程序的不同模块中使用的应用程序级别类都放在这个目录下。例如,它包含网络类(KTOR Client或Firebase等)、在多个功能之间共享的Composeable组件、基类和应用程序的主题。

结论

有声读物Android应用程序的开发进展顺利进行。本系列接下来将详细介绍项目的后续阶段,并将很快提供供您参考。

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Calvin880828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值