基于iOS的团购APP的设计与实现

2017-03-23 21:44常丹妮郭铭高耳郭勇童亚拉
科学与财富 2016年34期
关键词:功能模块应用程序界面

常丹妮+郭铭+高耳+郭勇+童亚拉(通讯)

(1武汉睿升学校高三(四)班 湖北 武汉 430022; 2湖北工业大学理学院 湖北 武汉 430068)

摘 要:目前团购网站的海量信息,时常让消费者苦恼于如何选择。基于此,本软件基于iOS开发了一款团购APP,消费者可获得良好的客户体验。本软件充分考量APP的界面、用户按钮功能、商品呈列及交易详情,并添加了地图定位模块,提供商品地点的实时定位;添加搜索功能模块,用户可随时查询并购买产品。调试运行的结果表明,该系统运行正常,人机界面交互性较好。

关键词:iOS;团购APP;地图定位;用户体验

基金项目:湖北省教育厅人文社科重点项目(14D022);湖北工业大学校大学生创新创业项目

网络团购便于消费者找到适合产品,方便快捷,价格低廉。国内出现了许多优秀团购产品,如淘宝、京东,美团、大众点评等。随着APP时代的来临,商家纷纷从PC端转移到手机移动客户端。在此背景下,本文研究基于iOS的团购APP,其目的是设计实现一款客户体验良好的购物软件。

1 开发平台以及相关技术

1.1 Mac OS平台

Mac OS X是基于UNIX系统的、采用“面向对象操作系统”的操作系统。它采用C、C++、Objective-C、Swift编程,且为闭源编码。OS X的特点是设计简单直观高效、安全易用、高度兼容、功能强大、设计新颖。不仅稳定性强,还支持互联网标准。本文设计基于Mac OS平台开发,运用平台下的Xcode开发工具,在cocoa Touch框架上利用MVC设计模式实现本款APP[1]。

1.2 Cocoa Touch框架结构

Cocoa Touch是一款由苹果公司提供的软件开发API, 用于开发 iPhone\iPod\iPad软件[2],也是应用程序快速开发的一个类库,此库支持开发人员使用用户界面元素构建图像化事件驱动的应用程序[3]。其功能是用 Objective-C语言实现的,作为C超集,可将C、C++ 融入Cocoa Touch应用程序中。除 UIKit 之外,包含创建iOS应用程序的所有框架,从 3D 图形、专业音频到网络,甚至提供特殊设备访问 API 以控制摄像机或从 GPS 硬件获取地理位置[4]。

1.3运行环境

Xcode是本文所用开发工具:运行于Mac操作系统下,是苹果公司向开发人员提供的集成开发环境(非开源),用来开发Mac OS X和iOS的应用程序。在开发过程中,项目运行在Xcode的iPhone模拟器上,编译运行,测试各功能模块,如同在真机上运行一样[5]。

2 团购APP的设计与实现

2.1 团购APP的设计思路

本APP的设计思路是:在完成需求分析后,依据MVC设计模式,在第三方库的支持下,规划UI,完成图标及启动图片、导航栏的设置,设计商品分类、城市分类下拉菜单,封装并实现一个通用下拉二级菜单;完成网络数据的处理,运用MVC设计模式,通过视图控制器控制UI与数据模型间的交互,将团购数据显示到界面上,最后通过自定义分栏控制器实现供iPad APP分栏控制器,通过左侧分栏界面实现部分功能。

2.2 团购APP的设计目标

要求界面外观时尚,满足消费者酷炫操作体验,操作流畅舒适;软件功能上,进一步对传统团购APP拓展,商品涵盖面广泛,添加地图定位功能,用户指定区域及商品可在地图上指示位置分布;软件操作上,用户无需验证,便于忘记账号密码时不影响交易。

2.3 团购APP的功能模块设计与实现

本APP的功能模块主要包括主界面、导航栏、商品的分类、切换城市、商品排序、地图、搜索栏等功能模块,鉴于文章篇幅,仅阐述商品分类功能模块。

开发时,创建一个带xib文件的CatagoryViewController,并添加两个左右平齐的tableView,分别为主、子tableView。通过AutoLayout添加约束条件让tableView填满xib文件的View视图,且大小相等、居中对齐。在Catagory类文件中引入IB连线导入tableView,并定义一个Catagory类的数组,运用懒加载的方法以减小内存开销。设计tableView内容时,引入核心协议tableViewDataSource和tableViewDelegate以及实现的方法:tableView的节数、每节的行数及每行的内容。这里,tableView只需一节,根据plist文件的模型数据的类数通过Cell的重用机制完成数据分类的加载。实现每一行内容编辑时,需在每行左侧添加背景图,完成对其右边分类描述。通过导入在Model层创建的Catagory类数据,完成每项数据对每行Cell对应text的内容编写。

若要实现用户点击左侧主tableView上某一项分类,界面自动弹出右侧子tableView,显示某一分类的所有二级子分类,首先判断左侧主分类是否有二级子分类,若没有,主界面自动刷新用户所要查询的商品种类;若有,界面自动刷新目标商品。调用tableView协议,选中某一行的函数方法——didSelectRowAtIndexPath方法即可。效果如下。

结束语

本文研究了团购APP的界面设计与美化、用户按钮的功能设计、主界面商品的呈列以及商品交易详情,并添加地图定位模块,提供商品地点的实时定位;同时添加搜索功能模块,上线后效果良好。但也存在一定局限性,如数据来源于网络,是基于DP网的SDK,通过熟悉其API,设计请求各项参数,完成对目标参数信息的加载。当SDK的数据参数和请求项有所改变时,APP必须对其更新和维护,增了工作量,这是今后需改进的地方。

参考文献

[1] [美]Stephen G. Kochan,Objective-C 2.0程序设计[M],原书第二版,机械工业出版,2012.

[2] [美]David Mark,精通iOS开发,iOS6开发进阶与实战[M],人民邮电出版社,2012.

[3] [美]Klehr.Objective-C 2 Mac and iOS development of practice guidelines[M].威利出版社,2012.

[4] [美]Carlo Chung,Apple mania:iphone open the always-onage,威利出版社,2012.

[5] 馮冲,界面中的注意力设计[M],北京交通大学,2012.

猜你喜欢
功能模块应用程序界面
国企党委前置研究的“四个界面”
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
手机界面中图形符号的发展趋向
功能模块的设计与应用研究