之前一直是课程格子的忠实粉丝,非常喜欢它提供的课表功能,所以趁着毕业有时间学习了Android,历时一个月写出了一个功能较全面的课表APP,名字暂时叫Miao课表,先上效果图吧。


实现思路

整体功能结合了现应用市场上大部分课表软件的优势,是一款专注于课表功能完善的App,由于是个人开发,没有什么资金支持,所以利用本地电脑自行搭建了一个服务器供课表信息的储存与运用,整体架构如下:

架构就是如此,但是由于涉及两个端系统,其实实现起来还是蛮繁琐的。

客户端架构

Android应用开发中鼓励弱耦合和组件的重用,逻辑与视图的分离是Android程序设计的基本原则。因此,本应用客户端采用传统的MVC(model-view-controller,模型-视图-控制器)框架模式,解耦隔离界面显示与业务逻辑和数据,实现了代码的高内聚低耦合。

1、视图层主要负责数据展示并提供与用户进行交互的界面,提供用户输入的接收与结果的显示。Android中为了减少耦合度,将逻辑与视图相分离,因此一种通用的做法是在xml布局文件中编写界面视图,再通过Activity引入。

2、控制层主要负责处理与用户交互的控制逻辑以及模型层的处理事件。本应用中,控制层主要由Activity来实现,其中主要监听视图层,根据用户请求响应触发事件并控制用户界面数据显示,同时将状态改变告知模型层。

3、模型层是应用的主体部分,负责处理应用的业务逻辑,如:和数据库的交互、数据处理、网络操作及部分耗时任务等。

服务器端架构

服务器端主要承担了用户数据处理以及存储的功能,包含了网络模块与数据库模块。为了更好的专注于逻辑处理功能,本项目服务器端采用了Struts2的架构进行设计,并将所有用户数据存储在服务器端的Mysql数据库中。

本应用的数据都将存储在服务器端的Mysql数据库中,并同时在本地客户端进行缓存备份,利于离线加载。


实现方式

客户端实现方案

服务器端实现方案

注:客户端demo:Github。

总结

呼,期待已久的博客终于有时间更新了//o( ̄▽ ̄)ブ开心开心

博客记录了从一个小白入门的经历。学习Android开发时遇到了很多困难,借鉴了很多CSDN上大牛的blog,也下个决心,希望自己以后成为这样优秀的coder,写出更优秀的demo~

anyway,大家有什么不懂的尽管评论私信我都好,互相学习fighting~

更多相关文章

  1. (翻译)API-How Android(安卓)Draws Views
  2. Android(安卓)Studio中布局文件(如activity_main.xml)设计视图&代
  3. Android必会基础之Android是如何绘制视图的
  4. Property Animation - 概述和工作原理
  5. Android坐标系统常用方法属性总结
  6. ViewDragHelper_v4的滑动视图帮助类_解释和代码
  7. [Unity3D]Unity3D游戏开发之从Unity3D到Eclipse
  8. android SurfaceView播放视频
  9. Android-Scroller

随机推荐

  1. Android 权限全集
  2. Android之快捷方式
  3. repo命令详解
  4. Android ProgressDialog
  5. android在Button上显示倒计时
  6. android中webviewjs与java的相互调用
  7. Android隐藏标题栏的四种方法
  8. Android 电源系列小结s
  9. Android单词查找器
  10. Android 显示/隐藏 应用图标