2.1 项目的整体架构,项目搭建,也叫做 系统设计

2.1 项目的整体架构,项目搭建,也叫做 系统设计_第1张图片



一个系统设计的例子:

3DM客户端系统设计

 

 

一、系统设计

 

1.1、整体架构

 

3DM客户端系统按照逻辑划分,主要分为四层,基础类库层,数据层,业务逻辑层,UI展示层。每个层次由不同的模块组成(图1)。

2.1 项目的整体架构,项目搭建,也叫做 系统设计_第2张图片

                                                                 

                                                                             (图1

 

 

1.1.1、基础类库层

(简写)

 

功能说明:

 

包含的内容: 网络请求, JSON数据的解析

 

1.1.1.1、网络请求

 

选型:

        网络请求采用Apache HttpClient 进行网络请求的支持。

对于使用Volley类库的方式,就可以定义多种Request来完成Volley方式的请求。

       采用HttpClient可以更加灵活的定义各种网络接口请求,同时Android系统本身就包含HttpClient的实现。

 

1.1.1.2JSON解析

 

选型:JSON解析需要针对服务器返回的数据格式进行处理,只要能够将JSON解析成为对象,并且能够更新到UI界面即可。经过分析,接口返回的数据无法适应FastJSON/GSON的常用解析方式,

因此最终确定 JSON 解析采用 org.json来进行。

 

 

 

1.1.2、数据层

1.1.2.1、数据实体定义

 

文字说明和类图,实际的字段参考03-服务器接口文档

2.1 项目的整体架构,项目搭建,也叫做 系统设计_第3张图片


 
每个实体要根据应用的内容来选择相应的字段。

 

1.1.2.2、数据库表设计

 

1.1.2.3、数据实体解析方式

 

 

 

 

 

1.1.3、业务逻辑层

 

1.1.3.1、服务器接口

 

1.1.3.2、请求任务的设计

2.1 项目的整体架构,项目搭建,也叫做 系统设计_第4张图片

 

 

 

 

1.1.4UI展示层

1.1.4.1UI整体框架

 

根据个人的分析与设计,来进行。

不推荐使用 TabActivity了。

 

 

 

1.1.4.2、顶部Banner的设计

 

循环显示几张图片,每一个点击之后,访问相应的内容。

 

滑动下面的列表,Banner跟着移动到上面去。

 

如果采用ListView + Header View的话,onItemClick 如果处理position变化。

 

1.1.4.3UI性能的支持

 

Fragment onCreate, onCreateView, onResume 这三个方法对于数据加载的影响

 

需要进行优化。



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

我自己的一些记录:个人理解

项目第一步:

1: 工具类,网络,支撑
这里的支撑,可以想象为例如greenDao的generator阿

例如ximalaya的项目:
现在我们先将第三方框架导入。这个其实是底层需要做的。(这个是第一步)
网络框架-》retrofit,retrofit2:convert-gson:2.0.0-beta3
图片加载-》fresco,fresco.0.9.0
数据库框架-》greendao,de.greenrobot:greendao:2.1.0

recyclerView-》com.android.support:recyclerview-v7:23.1.0
design->com.android.support:design:23.1.0


导入的时候可能需要它下载:
下载后的路劲是类似于:C:\Users\XUE\.gradle\caches\modules-2\files-2.1\com.facebook.fresco\fresco\0.9.0

因为数据库使用了greendao,所以数据库需要代码生成的。
新建一个model,选择Java Library,名字和classname 可以默认
Library name->lib
Java class name-> MyClass


然后路劲是在lib 下面的src-----》example下面的

----------------
注意了,如果是因为在同步的时候添加了东西,但是没有出来效果,例如刚才我在同步时的时候添加了model,但是在项目上面按F4的时候没有看到lib这个model,
这个时候只要点开右边的gradle菜单,点击上面的刷新按钮就好了。
----------------

点击项目,按F4,点击左边列表的lib,然后添加dependency,(这个也属于第一步)
选择de.greenrobot:greendao-generator:2.1.0
因为greendao 需要通过这个generator来生成DAO的文件。(是DAO文件吗?还是什么文件?)


项目第二步:

数据结构,解析


这个还需要


例如 需要涌动啊什么entity,例如,使用的是list还是map之类的。
例如ximalaya,我们就需要用到的数据结构是:




那么现在需要那些实体类呢:
发现的实体类:
热点图的实体类
推荐信息的实体类。
专辑实体类
音频实体类。
-------------------------
数据库里面的实体类一共是5个,
AlbumEntity.java
DiscoverEntity.java
FocusImageEntity.java
RecommendEntity.java
TrackEntity.java
----------
HomeEntity里面的包含了:




+++++++++++++++++++++++++++++++++++++++++++++
注意了,实例的名字一定要和json里面的名字一样,不一样就不会获取了。
private DiscoveryColumns  discoveryColumns;
        private RecommendEntity editorRecommendAlbums;
        private HotRecommendEntity hotRecommends;
        private FocusImages focusImages;
        private BulletArea bulletArea;
+++++++++++++++++++++++++++++++++++++++++++++

项目第三步:

adapter等 例如考虑到databiding的多布局的adapter,




你可能感兴趣的:(2.1 项目的整体架构,项目搭建,也叫做 系统设计)