KtDevBox

Project Url: CysionLiu/KtDevBox
Introduction: 一款基于 Kotlin+MVP+组件化的 app
More: Author   ReportBugs   
Tags:

一款基于 Kotlin+MVP+组件化的 app

麻雀虽小,五脏俱全。本 app 也是如此。

更推荐兄弟项目的实现方式:devbox-mvvm

小,即轻量级,一是指 app 只专注于实现常见 app 基础的逻辑业务功能,并没有在某个功能点或者 UI 上做更为细节的实现;二是指 app 使用了简洁的的 Kotlin 语言作为实现语言,使用了相对简单的一种 MVP 实现方式,使用了一种比较轻量级的组件化方案。

全,当然是相对的,一是指 app 的后端也是本人开发,这能让整个业务逻辑更为全面,也能让感兴趣读者能更为全面的了解此 app;二是指 app 涉及了当前技术趋势下安卓开发的多个技术点,包括 kotlin,mvp,组件化,rxjava,retrofit 等;三是指本 app 实际上可以作为一个快速开发框架,这主要得益于组件化的实现,具体怎么使用,后续会提到。

扫码下载可体验,密码 123:

在这里插入图片描述

对后端实现感兴趣的,可以看看,也是本人开发:

后端实现-KtDevBox-backend

app 涉及主要功能点

  • 用户注册、登录以及资料管理功能;
  • 博客创建、更新、删除和查看等功能;
  • 博客的收藏、评论、点赞功能;
  • 爬了网易新闻和一些电台的接口以展示,主要做组件化演示。

项目架构

项目核心架构如图所示:

在这里插入图片描述

项目中的 shell 只含有 MyApplication 这一个类文件,目前 app 涉及的业务也仅 usercenter 和 media 这两个 module,其中 usercenter 和 module 并无依赖关系。因此,此项目完全可以作为一个快速开发框架。简单做法:新建几个 module 编写自身的业务,仅需要被 shell 依赖,它们并不会受到原业务 usercenter 和 module 的影响。然后更改入口 Activity 之后,就是一个新项目,也不会被打包进 apk 中。更多组件化的使用可见Appjoint的介绍。

主要使用的第三方库

感谢:

License

Copyright 2019 CysionLiu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools