范勇华
摘要:市场调查历来是研究市场的方向标,它有利于企业摸清区域行业的状况和特点,制定企业区域市场发展计划。基于iOS端的市场调查App,能够方便工作人员高效快速地进行市场调查,满足现阶段市场调查的相关需求。该文从iOS市场调查开发的基本理念、背景出发,深入阐述了基于iOS的市场调查App开发环境和系统搭建构想,并借助于医药产品市场调查案例,系统地分享基于iOS的市场调查App开发设计流程。
关键词:iOS;市场调查;App;设计
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)18-0091-02
开放科学(资源服务)标识码(OSID):
1 开发概述
市场调查历来是研究市场的方向标,它有利于企业摸清区域行业的状况和特点,制定企业区域市场发展计划。目前市场调查主要有App调查、纸质问卷调查和计算机互联网调查等三种调查媒介。采用App调查具有答题耗时短、回收率高、认可度高的特点,能够迅速反应产品的区域覆盖面和认可度等,有利于提高产品区域调查的针对性。目前网络App调查系统开发主要有ANDROID、iOS等平台,本文就在iOS平台上开发与设计App调查案例的相关流程做一些分享。
2 开发环境搭建
受限于Apple的封闭,一般不采用在虚拟化方式搭建的Mac操作系统上配置iOS App开发环境。在硬件配置方面,iOS开发必须配置苹果设备,一般需要在Mac电脑、iDevice和iPhone(iPad、iPod Touch均可)等三个设备上进行配置,便于在不同设备上进行测试,确保App能在所有苹果设备上运行。在软件设置方面,需要运用iOS 应用程序设计语言Objective-C或swift进行App设计,完成软件设计后,需要进行代码调试、编译等。所以为了优化搭建iOS开发调试环境,需要安装XCODE 5.1开发测试模拟器,在具体测试时,测试模拟器要综合考虑经度和纬度影响应用程序的位置的情况,还要调试一下模拟内存警告和呼叫时的状态等,确保测试应用程序的所有方面。
3 系统构架分析
为了更好地完成系统构架,我们就医药产品针对相关药店进行市场调查,开发一款符合市场需求的iOS市场调查App。考虑医药行业的特殊性,对指定的药店进行相关问卷调查必须保持谨慎态度,系统在设计时要充分考虑记录参与调查人员(药店)是否真实有效。所以在设计时考虑一是要实现签到定位功能,并对相关资质进行资质(拍摄)照片上传,以便保证该调查的真实性。其二是实现的一些问卷的填写,药店(药师)根据相关回答进行填写相应的问卷。其三是要实现产品的展示(拍照),主要技术要点涉及拍摄完后要显示缩略图,同时要考虑图片拍摄数量可能会很多,可能会导致数据很大,设计时要统筹兼顾数据的压缩上传。
4 设计与实现
基于上述系统构架和技术要点,医药产品的iOS市场调查App本基本要实现的功能主要有:登录功能、签到定位、拍照、问卷填写以及数据压缩上传等,下面就具体设计实现如下。
4.1 登录模块
登录模块作为App进入详细界面的唯一入口,需要验证用户的权限以及分配相应的调查数据,用户登录成功后由服务器返回相关联的调查数据。本调查问卷App不提供注册的功能,账户和调查数据是由服务器端进行分配处理。
登录界面采用简洁大方的概念设计,参与调查的人员不需要在登录界面做过多的操作和思考,便于提高市场调查的效率,输入账户密码,点击登录即可跳转页面。
4.2 店铺显示模块
参与调查人员登录成功后,会呈现服务器提供的药店店铺数据。根据服务器返回的数据,每个店铺作为一个任务,每个任务都会有个完成和未完成的标识。也有任务的起始时间和结束时间,参与调查的人员进入后台都会自动匹配结果,如果任务过期或者已经完成,将不能进行该任务的任何操作。
店铺界面有三个部分:注销、列表显示和搜索。注销主要用于方便调查人员切换不同的账号完成不同的任务,列表显示的是店铺的名称和该店铺任务的状态,搜索功能方便调查人员找到指定的店铺进行相关的调查任务,单击店铺名称即可跳转到店铺详情界面,实现店铺界面关键代码如下:
BOOL isCreate = YES;
......
if (isCreate) {
//将数据缓存到单例里面
[[DataManagershareDataManager] setStoreData:storeData];
[selfperformSegueWithIdentifier:@"ShopDetails" sender:nil];
}else{
[ZAActivityBarshowErrorWithStatus:@"数据文件创建失败"];
}
4.3 市場调查App店铺详情模块
店铺详细模块需要给参与调查人员呈现店铺的位置(并且在地图中显示)、店铺的详细信息和任务列表。其中店铺位置定位是通过服务器返回店铺信息数据中的地址信息进行搜索来定位。参与调查人员需要按照任务列表的顺序执行相应的调查。
店铺详情界面分为两个部分:店铺信息与任务列表。最上方显示店铺在地图中的位置,紧接着显示店铺详细的文字信息。下方为任务列表需按顺序执行,后面的打钩图标代表该任务完成可以继续下面的任务。在设计实现是要充分考虑文件编码模式、文件压缩及遍历文件添加到压缩包里等情况,该模块文件压缩功能的关键代码如下:
//压缩文件
NSString *zipFile = [documentPathstringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.zip",storeData.storeId]];
ZipArchive *zipArchive = [[ZipArchivealloc] init];
//转成gbk编码。
[zipArchivesetStringEncoding:gbkEncoding];
[zipArchive CreateZipFile2:zipFile];
4.4 市场调查App问卷调查模块
市场调查App问卷调查模块作为一款市场调查类App,是本系统的核心模块。问卷调查模块设计要充分考虑易用性,主要以选择题为主,其中包括单选和多选。问卷数据是事先拟定的问卷模板,当选择有该产品时会将此选项勾选,并跳转到该产品的更为详细的问卷,问卷调查界面如图1所示:
问卷界面是通过模板数据来设计的UI,不同的问卷会对应不同的UI。参与问卷调查人员根据实际情况填写问卷,填写完成后会进行数据验证,以确保问卷调查问题是否全部填写完整,以及产品照片是否拍摄,该模块中存储关键代码如下:
#pragma mark - UIImagePickerControllerDelegate and UINavigationControllerDelegate
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[pickerdismissViewControllerAnimated:YES completion:^{
UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, self, @selector(saveSate:didFinishSavingWithError:contextInfo:), nil);
NSMutableArray *res = [photosDataobjectAtIndex:selectedCVNum];
UIImage *img = nil;
if (image.imageOrientation == UIImageOrientationRight) {
img = [self image:image rotation:UIImageOrientationRight];
}else if(image.imageOrientation == UIImageOrientationLeft){
img = [self image:image rotation:UIImageOrientationLeft];
}else if(image.imageOrientation == UIImageOrientationDown){
img = [self image:image rotation:UIImageOrientationDown];
}else{
img = image;
}
[resaddObject:UIImageJPEGRepresentation(img, 0.1f)];
[selfrefreshCollectionView];
}];
}
5 小结
基于iOS平台市场调查App系统的设计与实现,并没有非常复杂逻辑处理,主要要解决诸如拍照显示方向问题、数据压缩上传等问题。其一是要注意IPhone设备拍摄的照片方向会与实际情况不同,需要进行测试,然后根据不同的情况旋转图片保存到本地。其二对于数据上传问题,要处理好网络不稳定等网络异常问题。本设计通过主要利用XCODE开发环境与OBJECT-C语言结合,来实现iOS市场调查App功能,是對iOS开发系统理念及相关技术要点的有益探索,实现了一些常见iOS应用所需的功能。
参考文献:
[1] 杨宏焱.企业级iOS应用开发实战[M].北京:机械工业出版社,2013.
[2] 黑马程序员.Objective-C程序设计案例教程[M].北京:清华大学出版社,2017.
[3] 刘一道.iOS 7: iPhone/iPad应用开发技术详解[M].北京:机械工业出版社,2013.
[4] 关东升.iOS开发指南:从Hello World到App Store上架[M].北京:人民邮电出版社,2017.
[5] Kelly M,Nozzi J.Xcode实战开发[M]. 姚军,译.北京:人民邮电出版社,2014.
【通联编辑:光文玲】