- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Cocoa Touch和LAMP课程表应用设计与实现
基于Cocoa Touch和LAMP课程表应用设计与实现
摘要:当前移动应用已成为人们生活中不可分割的一部分。为了给广大学生提供方便,开发适用于学生的课程移动应用势在必行。对开发的基础技术进行介绍,重点阐述课程表应用的设计思路和部分实现方法。
关键词:移动应用;Cocoa Touch;LAMP;课程表
中图分类号:TP319
文献标识码:A 文章编号:1672-7800(2015)003-0066-03
1 相关概念界定
Cocoa Touch框架使用已在OS X上被证实发现的模式来驱动iOS应用,它基于触摸的用户界面而建立,并对其进行优化。UIKit为iOS平台提供了实现事件驱动的图形开发工具,建立在与OS X相同的基础框架体系之上,包括文件处理、网络、字符串处理等。iOS的独立用户界面意味着Cocoa Touch需要一套独立的设计模式来与之对应。使用UIKit可以简单创建访问GUI工具、按钮和全屏幕的视图,也可以让应用访问各种加速器,并用多点触摸手势控制。LAMP是简单通用的接口开发标准套件,包含Linux、Apache、MySQL、PHP。
2 课程表应用设计
2.1 整体设计
课程表应用整体设计如图1所示。
为缓解教务处网站压力,可设立中间缓存服务器,定期从教务处服务器选择性抓取数据,并整理存储。编写后端代码,设计适用于轻量移动应用的数据API。移动应用通过访问API抓取数据,并呈现在用户界面上。
2.2 缓存服务器与移动应用对接的数据接口后端设计
后端需提供以下分类信息:①空闲教室:校区列表、教学楼和场地列表、教室列表、教室课程详情;②成绩查询:学年列表、学期列表、类别列表、检索成绩;③课表查询。
2.3 移动应用数据模块设计
设立网络和缓存两个模块,分别完成如下功能:
(1)网络模块。主要包括如下:①完成HTTP协议中GET和POST两种协议的基本封装;②Cookie的设置与删除;③对数据的基本解析和封装;④判断是否抓取成功,对应回调;⑤抽象配置文件,以方便对应定制。
(2)缓存模块。主要包括如下:①内存数据与缓存数据的同步;②创建插入新的缓存对象;③以ID为键抓取已存在的缓存对象;④自动判断生成对应ID的缓存对象。
2.4 移动应用用户交互设计
以课程表交互设计为例,课程表界面设计如图2所示。
课程表界面分为三大部分:星期行、节数列、课程表格。随着用户对课程表格的拖动,星期行和项目列都要有对应x向或y向偏移,但同时一直显示。课程表格以灰色线分开,课程在课程表格中以格子显示,并随机选取背景颜色。
3 课程表应用实现
3.1 缓存服务器与移动应用对接的数据接口后端实现
数据接口使用PHP语言,封装原有PHP-MySQL接口以简化代码[1-2]:
class MySQLConnection {
public function __construct($servername, $username, $password, $autoConnect = false)
public function connect()
public function disconnect()
public function isConnected()
public function selectDatabase($database)
public function databaseIsSelected()
public function insert($table, $data)
public function delete($table, $condition)
public function update($table, $data, $condition)
public function select($table, $position, $condition)
public function query($query)
public function error()
public function errno()
public function __destruct()
}
以select操作为例:
table:string类型,表示Entity所在表。
position:string/array类型,表示要选取的Field。
condition:string类型,表示条件。
返回对象数组
public function select($table, $position,
您可能关注的文档
最近下载
- 15《小岛》(说课课件)部编版语文五年级上册.pptx VIP
- 含电容电路含电容电路.doc VIP
- TED中英双语演讲稿Why we love, why we cheat.pdf VIP
- 债券借贷视角看利率.pptx VIP
- 画法几何及机械制图(第6版)课后习题答案解析.pdf
- GB/T 19024-2025质量管理体系 面向质量结果的组织管理 实现财务和经济效益的指南.pdf
- 党课讲稿:从网络大国走向网络强国,让互联网点亮我们的生活.doc VIP
- ARC低压无功补偿装置安装使用说明书(安瑞科液晶显示).pdf VIP
- 班主任如何培养班干部(课件PPT).pptx VIP
- 深圳市历年中考真题及答案2025.doc VIP
原创力文档


文档评论(0)