为什么要多看项目,为什么很多学生只能做到增删改查(这也不容易)。
假设几个人看同一个项目开发教程,感受是不一样的:
- 初学者:类怎样写、函数参数和返回值、分支和循环是什么意思
- 基础良好:Model数据部分、View界面部分、Control程序行为部分,各是什么技术方案
- 有良好的实践技能:体系结构是什么。分层架构,系统分为哪些子系统、构件。子系统之间是什么关系。
工程体系结构举例,我不会安卓编程,但体系结构和javaee是类似的。
─com
└─sxau
└─wlllc
├─bean 数据的封装类Model: JavaBean
- javabean的成员变量和数据库表的字段一致 )
- Javabean有更多的辅助变量 )
├─cjq 团队成员学生1(开发人员1)
├─lch 团队成员学生2(开发人员2)
├─lxq 团队成员学生3(开发人员3)
├─lyj 团队成员学生4(开发人员4)
├─url 服务端网络请求地址配置
├─wjj 团队成员学生5(开发人员5)
├─util 通用辅助工具类:通用界面组件(提示框)、json数据格式转换等等。
- 每个开发人员,分别负责一个模块。比如:好友的增删改查。
一个人的文件夹架构,有哪些包package,包括:view,adapter,activity,界面元素事件click(可选),JavaBean、data、provider、socket、url。
具体的包package结构和类的作用
- View层:
(1)界面、布局、下拉列表View.
(2)View的适配器Adapter层:
通过适配器,把多条数据输出到特定样式的下拉列表。
好友信息下拉列表。聊天信息下拉列表。
- Activity层(事件触发、业务逻辑、界面跳转等):
(1)MainActivity和增删改查多个Activity
CjqMainActivity 本模块的首界面(查询:列出多条数据)
其他Activity:查看一条数据的详情、单条数据的编辑修改、按多种查询条件查询数据。
(2)从界面触发的用户行为、界面元素事件处理click:
比如:单击某个图标、按钮:
public class LxqClickEvent extends Activity implements OnClickListener
- Model数据相关:
(1)JavaBean:对应数据库的一条数据。
(2)Data层:
多条数据的集合类。比如:CjqFriends类--List多条好友数据。CjqMessages类--List多条聊天消息数据。
SQLite数据。
(3)Provider层:ContentProvider
访问基于SQLite的 聊天消息数据表、好友信息数据表。
- 网络收发模块socket:
(1)socket工具类
创建线程,收发网络数据。打包数据,发送。收到数据,解析。
(2)服务端网络请求地址, url配置数据:
数据的增删改查请求
方案1:每个模块的网络请求url,单独放到一个类。
方案2:所有模块的网络请求url, 汇总放到一个类 :class DataUrl。
(查询多条兼职信息、查询一条兼职信息、查询个人简历、修改更新个人简历)
public static final String LCHJIANZHI="http://10.0.2.2:8080/TSJYwlllc/lchstruts/JsonAllzhao!zhaoCountAll.action";
//查询单个兼职的详细信息
public static final String LCHJOBONE="http://10.0.2.2:8080/TSJYwlllc/lchstruts/JsonOnezhao!jsonQueryOne.action?";
//查询个人的简历
public static final String LCHJIANLI="http://10.0.2.2:8080/TSJYwlllc/lchstruts/JsonJianli!queryJL.action?";
//编辑个人简历
public static final String LCHEDITJIANLI="http://10.0.2.2:8080/TSJYwlllc/lchstruts/JsonEditJL!jsonSaveJL.action?";
从请求名称,可以看出,这是当年的SSH架构做后台。SSM更火一些。再流行的工具,也会有更简化的工具,取而代之。
假如一个工具学起来很困难,必然会被后续工具、简化的辅助工具,取而代之。工具排第二位。体系结构和基本功是重要的。