1 目的
本文档为工云头条APP的架构设计文档,定义了工云头条APP的整体架构,包括工云头条APP软件的逻辑划分、功能定义,边界定义以及模块之间的接口和业务流程等。
2 范围
本文档定义工云头条APP的逻辑划分,模块之间的交互和业务流程。
3 体系架构
3.1 逻辑架构
3.1.1 逻辑划分
3.1.2 模块功能定义
模块名称模块功能简介
主页主要展现图文和视频两种类型的新闻
视频主要针对视频新闻的几种展示,相比较首页而言,更全更细,主页上展现的是重点推荐的内容
我的针对软件的一些类似设置的相关功能
3.2 开发架构
3.2.1 工程具体介绍
app工程gynews介绍
工程具体结构如下:
该工程的关键文件功能介绍:
该工程主要包含src/main/java,src/main/res,src/main/AndroidManifest.xml三个主要的文件夹或者文件。
src/main/ java:里边主要包含的是具体开发代码。具体包括如下:
activity:存放所有的activity类
adapter:存放所有的针对界面和数据之间的适配器
constants:存放自定义变量
draggridview:存放的是一个自定义的可拖动的九宫格样式的界面
fragment:存放所有的fragment类
model:存放一些数据模型类
util:存放一些自定义工具类
view:存放一些自定义view类
BaseApplication是这个应用的入口 做一些必要的初始化操作
src/main/res:里边主要包含布局和资源文件。相关包功能介绍
drawable:放图片或者自定义的一些selector(例如:按钮选中效果 松开效果)
drawable-hdpi:放400*800分辨率的图片
drawable-xhdpi:放720*1280分辨率的图片
drawable-xxhdpi:放1080*1920分辨率的图片
layout:放布局文件
mipmap-hdpi: 放400*800分辨率的图片
和drawable-hdpi一样使用是官方伴随AndroidStudio推出的,对图片缩放有一定的的性能优化
mipmap-mdpi: 放320*480分辨率的图片
和drawable-mdpi一样使用是官方伴随AndroidStudio推出的,对图片缩放有一定的的性能优化, drawable-mdpi可自己创建
mipmap-xhdpi: 放720*1280分辨率的图片
和drawable-xhdpi一样使用是官方伴随AndroidStudio推出的,对图片缩放有一定的的性能优化
mipmap-xxhdpi: 放1080*1920分辨率的图片
和drawable-xxhdpi一样使用是官方伴随AndroidStudio推出的,对图片缩放有一定的的性能优化
mipmap-xxxhdpi: 4K高清 一般用不到
.gitignore:设置与git服务器代码对比时的忽略文件
build.gradle:构建配置文件
gynews.xml:构建时自动生成的构建文件,不用关心
proguard-rules.pro:做代码混淆时用到的文件
3.3 技术架构
该软件整体技术架构采用MVC的设计模式如图
界面层View:
主要参考的技术包括:
Recycleview
butterknife
universalimageloader
fragment
textView、button、ImageView、tablayout等
控制层Controller:
参考:
Activity
Adapter
模型层:参考model文件下的内容