# Douban
> 基于 Kotlin 的豆瓣 Android App
## 关于Douban
15年初 Kotlin 出了 Beta 后,尝试使用 Kotlin 写了一个完整的应用,Sentry 的Android 客户端 [Sentry-Horn](https://github.com/thierryxing/sentry-horn)。写完之后,感觉到了和在iOS平台中使用Swift一样的便捷。
今年 Kotlin 成为 Android 官方语言及 Android Studio3.0 推出后,Kotlin 有了更好的支持,时机已经成熟,于是开始在团队内部进行推广和培训,为了方便大家更好的理解 Kotlin 这门语言,边培训边带大家完成了一款高仿豆瓣App的应用(本人是豆瓣重度用户)
## 功能及开发模式
* 包含登录,及 5 个一级页面,及二级内容详情页
* 包含豆瓣 Hybrid 框架[Rexxar](https://github.com/douban/rexxar-android) 的使用:一个通用的 RexxarPartialFragment
* 包含一个通用的 RecycleView 组件 RecyclerFragment 及通用 Feed 流适配器 CardAdapter
* 采用 Databinding+MVVM 模式
## Kotlin版本及三方框架
* Kotlin 已经升级到了 1.2.31 版本
* 使用 [anko](https://github.com/Kotlin/anko) 框架简化 Android 开发
* 使用 [Fuel](https://github.com/kittinunf/Fuel) 作为网络层框架
* 使用 [Kotson](https://github.com/SalomonBrys/Kotson) 作为 json 解析框架
## 项目结构
```
.
├── App.kt
├── component
│ ├── CardAdapter.kt
│ ├── CardViewModel.kt
│ ├── RecyclerFragment.kt
│ ├── RecyclerViewModel.kt
│ └── RexxarPartialFragment.kt
├── extension
│ ├── FragmentExtension.kt
│ └── ImageViewExtension.kt
├── model
│ ├── BaseModel.kt
│ ├── Card.kt
│ ├── Feed.kt
│ ├── Group.kt
│ ├── LoginUser.kt
│ ├── Note.kt
│ ├── Promo.kt
│ ├── SettingItem.kt
│ ├── SimpleItem.kt
│ ├── Timeline.kt
│ └── User.kt
├── module
│ ├── TabActivity.kt
│ ├── TabViewModel.kt
│ ├── account
│ │ ├── LoginActivity.kt
│ │ └── LoginViewModel.kt
│ ├── common
│ │ ├── BaseActivity.kt
│ │ ├── BaseFragment.kt
│ │ ├── BaseViewModel.kt
│ │ └── FetchDataViewModel.kt
│ ├── group
│ │ ├── GroupFragment.kt
│ │ ├── GroupViewModel.kt
│ │ ├── joined
│ │ │ ├── GroupJoinedCardViewModel.kt
│ │ │ └── GroupJoinedItemViewModel.kt
│ │ ├── rec
│ │ │ ├── GroupRecCardViewModel.kt
│ │ │ └── GroupRecItemViewModel.kt
│ │ └── top
│ │ └── GroupTopCardViewModel.kt
│ ├── home
│ │ ├── FeedCardViewModel.kt
│ │ ├── FeedFragment.kt
│ │ ├── FeedViewModel.kt
│ │ └── target
│ │ ├── FeedTargetActivity.kt
│ │ └── FeedTargetViewModel.kt
│ ├── profile
│ │ ├── ProfileFragment.kt
│ │ ├── ProfileViewModel.kt
│ │ ├── menu
│ │ │ ├── ProfileMenuCardViewModel.kt
│ │ │ └── ProfileMenuItemViewModel.kt
│ │ ├── noti
│ │ │ └── ProfileNotiCardViewModel.kt
│ │ ├── setting
│ │ │ ├── SettingActivity.kt
│ │ │ ├── SettingCardViewModel.kt
│ │ │ └── SettingViewModel.kt
│ │ └── top
│ │ └── ProfileTopCardViewModel.kt
│ ├── status
│ │ ├── home
│ │ │ ├── StatusFragment.kt
│ │ │ ├── StatusViewModel.kt
│ │ │ └── card
│ │ │ ├── StatusCardActionViewModel.kt
│ │ │ ├── StatusCardCardViewModel.kt
│ │ │ ├── StatusCardFindViewModel.kt
│ │ │ ├── StatusCardNormalViewModel.kt
│ │ │ └── StatusCardTopViewModel.kt
│ │ └── recommend
│ │ ├── RecommendStatusFragment.kt
│ │ ├── RecommendStatusViewModel.kt
│ │ └── card
│ │ ├── StatusCardRecTopViewModel.kt
│ │ └── StatusCardRecViewModel.kt
│ └── subject
│ ├── SubjectFragment.kt
│ └── SubjectViewModel.kt
├── service
│ ├── NetService.kt
│ └── UserService.kt
└── util
├── BindAdapter.kt
├── Constants.kt
├── Enum.kt
├── ResUtils.kt
└── VersionUtils.kt
25 directories, 68 files
```
## License
MIT licensed.
没有合适的资源?快使用搜索试试~ 我知道了~
基于Kotlin的豆瓣Android App.zip
共299个文件
png:83个
kt:70个
xml:53个
0 下载量 137 浏览量
2024-08-30
09:08:02
上传
评论
收藏 4.9MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供使用问题指导/解答
资源推荐
资源详情
资源评论
收起资源包目录
基于Kotlin的豆瓣Android App.zip (299个子文件)
gradlew.bat 2KB
app.light.css 4KB
normalize.min.css 2KB
group_topic.css 751B
progress_view_black_border.gif 59KB
progress_view.gif 59KB
progress_view_gray.gif 33KB
progress_view_white_small.gif 25KB
.gitignore 153B
.gitignore 7B
build.gradle 2KB
build.gradle 871B
settings.gradle 15B
gradlew 5KB
article-7e13e63b2e.html 302KB
column-8081613f1b.html 298KB
review-b97c2a9b4d.html 291KB
note-7ad1f4458b.html 291KB
annotation-4bbb3c9227.html 217KB
market-36860fe222.html 208KB
explore-ae5ad18751.html 207KB
subject-3e5e682083.html 193KB
topic-cdd5f9c100.html 185KB
subject_collection-bf2a18be1a.html 184KB
home-86fe030bfa.html 163KB
works-1d32586ad7.html 162KB
works-ced128633a.html 156KB
suggestion-17c08e73bd.html 155KB
column-cd80affbaf.html 152KB
question-2ea51fdf8a.html 152KB
subscribed_topics-b05e8afcd3.html 152KB
subject_collection_boards-dbf8249db2.html 150KB
related_articles-72829bb4d6.html 148KB
tag-f55de8c963.html 144KB
themes-b4925f2e43.html 143KB
columns-cfa31a34be.html 143KB
collection-626aa8889d.html 139KB
industry_news-9ee47c1cb0.html 137KB
best_reviews-60ac03a1c0.html 137KB
recommend_celebrities-0501dac7c1.html 136KB
awards-bbf30a6948.html 124KB
book_douban_vendor-23d46d2682.html 121KB
authors-31b5a723a5.html 116KB
event-d10b63e7c3.html 107KB
forum_topic-04b80aea14.html 106KB
subject_interaction-324dd70ddd.html 92KB
related_group_chats-a5ddfed561.html 90KB
questions-6e19e6a857.html 89KB
related_groups-ad9e7942f1.html 89KB
rec_groups-39aac1605b.html 87KB
related_doulists-eade68dfc2.html 86KB
annoucements-c57733319d.html 79KB
subscriptions-6bae10069f.html 73KB
demo-98c8ba9f95.html 62KB
orders-d8ec77761e.html 56KB
feedback-f7169d501c.html 53KB
intro-5a5e178082.html 52KB
feedback_category-7e6496aa36.html 49KB
book_catalog-bce4023911.html 43KB
suspicious_login-ad5e0cd57c.html 42KB
drama_versions-60baa54f90.html 40KB
subject_info-b7600ae547.html 39KB
help-2503b5763f.html 13KB
content.html 374B
gradle-wrapper.jar 52KB
vendor-b22de54209.js 313KB
react-with-addons.min.js 129KB
react.min.js 119KB
zepto.min.js 25KB
zepto.min.js 25KB
hammer.min.js 18KB
underscore.min.js 16KB
hogan.min.js 6KB
app.js 4KB
group_topic.js 1KB
server.js 1KB
open_graph.js 364B
status.json 75KB
recommand.json 33KB
routes_all.json 15KB
routes.json 15KB
joined_groups.json 3KB
profile.json 2KB
promos.json 1KB
mixed_rec_groups.json 790B
package.json 423B
output.json 238B
NetService.kt 6KB
TabActivity.kt 5KB
RecyclerFragment.kt 4KB
GroupViewModel.kt 3KB
LoginActivity.kt 3KB
BaseFragment.kt 3KB
StatusViewModel.kt 3KB
ProfileViewModel.kt 3KB
CardAdapter.kt 2KB
SubjectFragment.kt 2KB
FeedTargetViewModel.kt 2KB
RexxarPartialFragment.kt 2KB
RecommendStatusViewModel.kt 2KB
共 299 条
- 1
- 2
- 3
资源评论
热爱技术。
- 粉丝: 2814
- 资源: 7860
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 手势检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 基于python flask实现某瓣数据可视化数据分析平台
- awewq1132323
- 手写流程图检测31-YOLO(v5至v8)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- frida拦截微信小程序云托管API
- 肝脏及其肿瘤分割的 CT 数据集,已经切片成jpg数据,约2w张数据和mask
- 基于Java的网上教务评教管理系统的设计与实现.doc
- 2024圣诞节海外消费市场趋势及营销策略分析报告
- JWaaaaaaaaaaaaaaaaaaaa
- Python实现常见排序算法详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功