项目概述
通过使用现代开发框架如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
- •
DataStore
和Room
- •
ViewModel
- •
Hilt
项目设置
对于那些已经开始开发之旅的人,可以从GitHub上随时获取有声读物Android应用的某些功能已经就绪的源代码。或者,您可以方便地从指定的GitHub存储库克隆现有项目。
git clone https://github.com/waseemabbas8/libroom-android.git
该项目的文件夹层次结构基于Clean Architecture模式,这是一种流行的Android应用程序结构方法。Clean Architecture模式根据其抽象级别将应用程序分为不同的层次,使内部层次独立于外部层次。这使得应用程序更易于维护和测试。
项目结构
- 1. Root文件夹 – 包名文件夹 该文件夹包含主要的应用程序类(
LIBroomApplication
)、MainActivity
和MainViewModel
。除此之外,它还包含了核心、功能和导航文件夹。
LIBroomApplication
负责初始化应用程序并使用Hilt设置依赖注入。MainActivity
是应用程序的入口点。
- 1. Feature文件夹 该文件夹包含应用程序的每个功能的子文件夹。在本示例中,有用于
authentication, authors, books, categories, favorites, home, onboarding, profile, reader, 和 search
的功能。每个功能文件夹都包含数据、领域和表示层的子文件夹。此外,请注意我为每个功能管理了单独的Hilt DI模块。 - 2. Core文件夹 这是应用程序的核心部分。所有可以在应用程序的不同模块中使用的应用程序级别类都放在这个目录下。例如,它包含网络类(KTOR Client或Firebase等)、在多个功能之间共享的
Composeable
组件、基类和应用程序的主题。
结论
有声读物Android应用程序的开发进展顺利进行。本系列接下来将详细介绍项目的后续阶段,并将很快提供供您参考。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/391319.html