博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
技术规格说明书
阅读量:4577 次
发布时间:2019-06-08

本文共 2013 字,大约阅读时间需要 6 分钟。


1.引言

1.1目标

本说明书主要用来说明”北航学堂android客户端1.0版“的软件内部设计规范

1.2术语

  1. MoocApp 在本说明书中特指由歪果仁带你灰团队开发的北航学堂android客户端v1.0
  2. 课程 在本说明书中特指发布在北航学堂中的网络公开课
  3. tab页 在本说明书中指可以滑动切换的一组选项卡页面

2.整体架构

2.1物理设计框架

813771-20151103192028477-820222482.png

2.2程序设计框架

813771-20151103192045180-969472914.png

2.3对外交互

MoocApp采用http方式与北航学堂服务器端进行交互,获取到的json数据通过统一的接口进行解析


3.软件与第三方支持

类型 软件和第三方支持
开发工具 android studio
android版本 android SDK 5.1(API22)
android最低支持版本 android SDK 4.0(API5)
Database SQLite
代码托管平台 github
项目任务管理 github milestone、issue
bug管理 github issue
服务器接口 北航学堂


4.详细设计

4.1UI设计

813771-20151104184421680-1659774762.jpg

813771-20151104184432414-739005221.jpg

813771-20151104184442774-37597614.jpg

813771-20151104184450430-747698563.jpg

813771-20151104184502492-1305689196.jpg

813771-20151104184509321-234812779.jpg

813771-20151104184515305-1176048241.jpg

813771-20151104184521321-1316770593.jpg

813771-20151104184528242-1138878210.jpg

813771-20151104184534524-1997906545.jpg

813771-20151104184539977-71771717.jpg

813771-20151104184544617-552008949.jpg

813771-20151104184605211-1139463944.jpg

813771-20151104184615633-1876552426.jpg

813771-20151104184622883-45623563.jpg

813771-20151104184629649-1379893836.jpg

813771-20151104184635883-1660138525.jpg

813771-20151104184642071-203906423.jpg

813771-20151104184648086-350156692.jpg

813771-20151104184653899-1189902396.jpg

813771-20151104184659617-384416751.jpg

813771-20151104184705727-1075084744.jpg

813771-20151104184711258-580037299.jpg

813771-20151104184716852-12599981.jpg

4.2服务器API文档(北航学堂开发团队提供)

出于安全性考虑,服务器的API文档隐藏了服务器地址、参数和返回值

API地址 类型 说明
server_addr/init GET 初始化连接获得token和服务器参数
server_addr/login POST 登录,获取登录时服务器返回的状态
server_addr/courses GET 获取课程列表
server_addr/course_about POST 获取特定课程的课程信息
server_addr/course_courseware POST 获取特定课程的课程章节列表
server_addr/course_enroll POST 获取用户是否选课的信息
server_addr/get_course_enrollment GET 获取当前登陆用户的选课列表

4.3MoocApp的服务器交互模块设计

方法 参数 返回值 说明
MOOCInit int 初始化连接获得token和服务器参数,0表示连接失败,1表示连接成功
MOOCLogin string username, string password JSONObject 登录,获取登录时服务器返回的状态
MOOCCourse JSONArray 返回全部课程的JSON数组
MOOCCourseAbout string course_id JSONObject 获取课程信息JSON
MOOCCourseware string course_id JSONObject 获取课程章节列表
MOOCCourseEnroll string course_id, int enrool boolean 获取是否选课成功,1表示成功,0表示失败
MOOCGetCourseEnrollment JSONObject 获取已选课程的JSON

4.4MoocApp的数据库设计

表名 video_watched
字段 id user video_url
类型 bigint string string
是否为主键 1 0 0
默认值 null null null

4.5MoocApp主界面设计(MoocMainActivity)

主界面中的三个tab页采用ViewPager实现,每个ViewPager中为一个课程列表的Fragment,点击课程列表中的某个课程会通过Intent跳转到课程详细信息的Activity

4.6MoocApp课程详细信息界面设计(CourseDetailActivity)

课程详细信息中的两个tab页(讨论区暂不实现)依然采用ViewPager实现。

其中,课程介绍的view中包含一个WebView,用于展示从服务器获取到的课程介绍;视频目录采用了三级列表的形式(与UI设计略有差别,考虑到MOOC的数据格式进行了修改)。

打开某个视频后会全屏播放该视频,视频播放器参考了网上的一个基于VideoView的自定义视频播放器,支持用手势进行调整亮度、音量,以及对播放进度的控制。

4.7MoocApp账户设置界面设计(UserInformationActivity)

该界面较为简单,使用了几个平铺的Fragment作为选项,点击某个选项后会进入相应的Activity

4.8备注

其他的Activity均比较简单,这里不再一一列举。

由于MoocApp暂时未将UI模块与业务逻辑模块分开,一些逻辑无法有条理的陈述出来,我们打算在beta版本中对程序逻辑进行重构,按照经典的UI层、业务逻辑层、数据层的形式进行整合,届时会更新本设计文档。

转载于:https://www.cnblogs.com/wgrdnh/p/4932041.html

你可能感兴趣的文章
vim 插件的学习
查看>>
Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
一个预处理定义的问题
查看>>
神经网路-SGD-1
查看>>
安卓冷知识:LayoutParams
查看>>
JAVA操作mysql(如何更加面向对象的操作数据库)
查看>>
Python9-事件及队列-day37
查看>>
团队作业3
查看>>
2.5.2 优先队列
查看>>
Linux下配置c/c++编译环境-Emacs-转载博客园
查看>>
Jmeter将HTTP request报文体中的字符串转换为大写
查看>>
UVa 11572 - Unique Snowflakes (set+滑动窗口思想)
查看>>
UVA 10954 Add All (优先队列的妙用)
查看>>
【转帖】const 与 readonly 的区别
查看>>
POJ -1679(次小生成树)模板
查看>>
hdu 3172 Virtual Friends
查看>>
Web.xml配置详解
查看>>
vue cli3
查看>>
基于SpringBoot从零构建博客网站 - 设计可扩展上传模块和开发修改头像密码功能...
查看>>
myeclipse自动生成相应对象接收返回值的快捷键
查看>>