基于 Android问卷调查APP开发与设计

基于 Android问卷调查APP开发与设计
基于 Android问卷调查APP开发与设计

基于Android问卷调查APP开发与设计

摘要

城市综合类评比中比较高的称号是全国文明城市,该称号反映城市整体的文明水平,其中实地考察与问卷调查是创建文明城市的测评方式中的两种方式,但是其数据采集的方式还是采用较为常见的纸质版的问卷以及评比手册。采用纸质版的方式,不但时间长、不环保,还一定的幅度的增加的了工作量。

为了解决传统的纸质问卷测评方式,在高科技数码产品不断的跟新迭代以及互联网的发展,且Android设备在市场的占有率比较高的情况下。本文主要针对改善文明城市综合评比中的测评方式,设计与开发出基于Android的问卷调查APP,在一定程度上简化调查员的工作,提高测评的效率。

关键词:问卷调查;手机应用;Android

The Development and Design of APP Based on Android Questionnaire

Abstract

Urban comprehensive appraisal in higher title is the national civilized city, the title reflect the civilization level of the city as a whole, including fieldwork and questionnaire is to create two ways for evaluation of urban civilization, but the gathering data or the use of more common paper version of the questionnaire and assessment manual. The paper version of the way, not only for a long time, not environmental protection, but also a certain extent of the increase in the amount of work.

In order to solve the traditional paper questionnaire survey methods, in the high-tech digital products with the new iteration and the development of the Internet, and Android equipment in the market share is relatively high. This paper mainly aims at improving the evaluation methods of comprehensive evaluation of civilized cities, design and develop a Android based questionnaire APP, to a certain extent, simplify the work of investigators, improve the efficiency of evaluation.

Key words:Questionnaire; Mobile Application; Android

目录

1绪论 (1)

1.1选题的背景依据 (1)

1.2选题的意义 (1)

1.3论文主要工作和结构 (1)

2问卷调查APP需求分析 (2)

2.1可行性分析 (2)

2.2功能需求 (2)

2.3界面需求 (2)

2.4数据库需求 (2)

3问卷调查APP总体设计 (3)

3.1功能设计 (3)

3.2开发与测试环境 (4)

4问卷调查APP实现 (6)

4.1问卷调查APP实体图 (6)

4.2数据库设计 (7)

4.3问卷调查APP总体流程 (9)

4.4问卷调查模块实现 (10)

4.5实地考察模块实现 (11)

4.6问卷定位功能 (12)

4.7图片内存优化 (13)

4.8问题分页展示 (13)

4.9自定义对话框、样式 (14)

5问卷调查APP界面设计 (15)

5.1注册/登录界面 (15)

5.2问卷选择界面 (15)

5.3问卷调查作答界面 (15)

5.4实地考察作答界面 (15)

6问卷调查APP运行测试 (15)

6.1手机程序调试 (15)

6.2手机程序打包 (15)

6.3运行情况及测试结果 (16)

结论及尚存在的问题 (18)

参考文献 (20)

致谢 (21)

基于Android问卷调查APP开发与设计

姓名:学号:班级:

1绪论

1.1选题的背景依据

全国文明城市主要是反映我国城市整体文明水平的综合性荣誉称号,是目前中国所有的城市综合类评比中的最高荣誉,也是城市品牌中最具价值的。目前听取汇报、材料审核、问卷调查、网络调查、实地考察、整体观察这六种方法是其主要的测评方式。实地考察是城市综合类评比的难点,具体有三种方法:(1)实景(情)模拟验证;(2)实地调查,即到具体现场考察其对象是否符合测评标准;(3)实地观察,根据其要求,一定时间内到具体考察点,对被考察对象进行实地观察。

传统的问卷调查和实地考察方式是首先设计好问卷的内容并打印成纸质版,让调查员携带打印好的问卷到具体的某个地方去进行纸质问卷的填写或者实地考察,收集并整理已完成的纸质问卷,把整理好的内容录入到在计算机中Excel表格中,最后在Excel表格中进行统计分析,才得到一次调查的数据分析结果。其中如果涉及修改实地考察的修改的话,这个也需要重新录入到Excel表格中,重新进行统计分析,这个就会显得有些累赘、工作量也随之增多。

随着高科技的发展,智能手机逐渐成为生活中重要的角色,生活中有很多事情都可以用手中的智能手机去解决,例如收发邮件、玩游戏、上网购物、娱乐等等。目前,智能手机常见的系统分别是IOS、Android、Windows Phone,其中Android手机、平板的市场占有率远超于IOS以及Windows Phone。Android技术的开发也日益成熟,目前问卷调查的方式有较为传统的纸质问卷方式以及一些互联网问卷平台,但是目前还没有较为知名的问卷调查APP。针对全国文明城市的问卷调查以及实地考察,定制一款基于Android的客户端。

1.2选题的意义

基于Android的问卷调查APP,主要是根据全国文明城市测评方式中的问卷调查和实地考察的第三种情况来开发的。其主要包括用户注册即调查员账号注册、问卷主题、问卷方式(实地考察和问卷调查)、图片上传、具体问卷界面、问卷保存和修改等功能。问卷调查APP简化了调查员的工作,免去数据从纸质版到电子版的过程。目前,文明城市的测评主要还是使用纸质版的问卷调查方式,调查员需要携带部分的是问卷到具体测评点进行调查测评。此外人工的方式把所有的问卷录入电脑耗时也比较多,而且有时在录入的过程中难免会出现录入错误,需要重新修改,这无疑是比较枯燥且易错的过程。问卷调查APP可以使调查慢慢的从传统的纸质问卷转变到电子化设备中。调查员的在做问卷的调查的同时也相当把调查的数据结果直接保存手机电子设备中。

1.3论文主要工作和结构

本文主要的工作是针对全国文明城市测评而开发的一款基于Android的问卷调查APP客户端,主要的工作是根据需求设计适合文明城市测评的问卷调查APP客户端,包括界面设计、问卷展示、答案保存于修改、图片上传等。主要分为六个方面来说明,首先介绍了问卷调查APP的背

景依据及其意义。第二是问卷调查APP的需求分析,第三是问卷调查APP的总体设计,第四是问卷调查APP的详细设计,第五是问卷APP的界面设计,最后是问卷调查APP的测试。

2问卷调查APP需求分析

2.1可行性分析

Android应用开发是当下比较热门的编程话题,Android技术以及Android系统的版本也在不断的跟新,目前最新的Android版本为6.0,代号棉花糖。问卷调查是数据采集最普通有效的方式,但是传统的纸质问卷调查,在如今的时代显得有些落伍,而且这种方法并不环保、数据录入分析工作量大。虽说如今是“互联网+”时代,问卷星是互联网上比较流行的问卷平台,但是互联网问卷平台的也有一定局限性。在针对本次设计的背景,问卷星问卷平台不能满足其功能需求。此外在各大安卓应用市场也没有合适的Android应用满足需求。

1)技术可行性分析

Android应用程序是基于Java编写的,网络上也有许多成熟的安卓主流框架,如V olley是一款处理和缓存网络请求的网络通信框架,第三方图片加载框架Universal-Image-Loader,用来解决Android应用内存溢出的问题。除了这两个之外,还有很多其他第三方框架以及Android成熟的技术,利用这些技术能是开发出满足需求的应用程序。

2)经济效益分析

针对选题背景,如果使用传统的方式,用纸质的问卷作为数据采集的渠道,一来需要耗材,不环保,二来还需要将完成的问卷数据录入电脑系统,这过程耗时过多。长期使用传统的方式会增加人工的成本。

综合以上来说,针对选题背景开发一款合适的问卷调查APP是可行的。

2.2功能需求

在后台导入题目进数据库后,以测评地点为单位对调查员分配任务,分配调查员待完成的问卷任务。调查员通过客户端登录后,查询网络数据库,网络数据库会根据当前的调查员的具体信息,如该调查员的唯一ID值来查找该调查员对应的符合当前时间要求的任务,返回给Android 客户端展示该调查员当前待完成的集体测评点任务,问卷题目为单选题,此外实地考察题目录入选项后,如选项不是1(即满意项),则需提供填写说明情况的文本框以及图片上传功能(图片上传可限制张数,每个题目可上传4张图片)如当场不能上传,可在有WIFI环境下进行补上传。另外在提高问卷测评一定的准确性,添加GPS定位功能,确保问卷在其相应的位置范围内进行的。

2.3界面需求

程序进入时要有欢迎页面、界面整洁、设计合理。题目展示的方式为一个界面展示一道题目及其选项,控件按钮有点击交互效果,方便调查员(用户)的操作。

2.4数据库需求

为了实现问卷的实时更新,本设计采用的网络数据库的方式。按照问卷调查APP功能需求可以分析出数据库需要建立主要的表有调查员(用户)表、问卷表、问题表、选项表、答题表等。其中调查员(用户)表主要包括用户编号、用户名、密码、等其他信息;问卷表的结构是问卷ID

以及问卷题目。类似的问卷表的结构还有问题表、选项表、答题表。

3问卷调查APP总体设计

3.1功能设计

根据问卷功能需求可以设计出问卷调查APP客户端主要功能为调查员(用户)登录注册、问卷调查、实地考察三个模块;其中问卷调查、实地考察这两个模块功能为本次设计的核心功能。另外问卷调查、实地考察这两个模块设计定位的功能采用目前市场上主流的第三方GPS定位,所使用的是百度提供的GPS定位的SDK。

图3-1主要功能模块

调查员(用户)注册登录模块:注册登录模块是一个手机程序最基本以及常见的模块,在该模块中,调查员(用户)只要注册界面正确填写信息,如账号密码、手机号码或者其他的信息,即可完成注册。注册完成或者已有账号就可以在用户登录界面输入账号密码登录。

图3-2注册登录模块

问卷调查模块:主要是题目展示、选项展示、保存与修改答案。调查员在登录后根据实际情况选择是开始新的问卷填写,或者是选择以保存但存在填写失误的问卷加以更正修改。

图3-3问卷调查模块

实地考察模块:主要是题目展示、选项展示、图片上传、保存与修改答案。调查员在登录后根据实际情况选择是待完成实地考察任务进行实地考察,或者是选择已完成的实地考察任务,修改过选项以及针对不满意项添加图片。

图3-4实地考察模块

3.2开发与测试环境

1)安卓开发环境

安卓操作系统主要组成部分有五个部分,分别有应用程序层、应用程序框架层、函数库、Android Runtime以及Linux内核。其中函数库与Android Runtime属于Android的系统架构中系统运行库层中。

一般的Android应用都是属于应用程序层,如联系人、电话、地图以及其他的应用等。这些应用程序基本上都是用Java来编写的,同时谷歌公司也提供NDK开发工具,可以方便的基于JNI

开发应用程序,使得我们还可以使用C/C++ 来实现一些Java做不到的特有的功能。

图3-5 Android的系统架构

当前安卓开发的环境主要有两种,一是基于Eclipse集成的ADT Bundle,另外一种是目前谷歌公司官方推荐使用的Android开发环境Android Studio。这两种开发环境都可以进行安卓应用的开发,因为Android Studio是谷歌官方的IDE工具,所以开发者还是需要慢慢的从Eclipse ADT Bundle 过渡到Android Studio中。

因为Android应用程序通常都是使用Java编写的,所以无论是使用哪一种开发环境都需要配置好开发环境,如JDK的安装、JDK的环境变量,下载Android SDK 以及NDK。

2)测试环境

Android应用测试的方式有很多种,模拟器测试以及真机调试,考虑到Android设备屏幕尺寸大小不一且真机调试成本高,一般都是采用模拟器来进行调试,开发的使用可以使用开发工具提供的虚拟设备即A VD或者使用Genymotion模拟器。

Genymotion模拟器是一套比较实用的工具,提供目前比较流行的手机型号以及各个版本的安卓系统,我们可以使用Genymotion模拟器来测试应用程序在不同的手机型号运行的情况,主要是测试手机程序运行的界面排版以及其他的问题。

Android虚拟设备同样也可以作为测试工具,与Genymotion模拟器相比,Android虚拟设备是完全免费的,而Genymotion模拟器部分模拟功能需要付费的,如模拟打电话、发短信等功能。在测试的过程中可以采用真机调试、模拟器多种方式结合,这样得到比较全面的测试结果。

4问卷调查APP实现

4.1问卷调查APP实体图

根据问卷调查需求,问卷调查APP实体图大致有调查员实体图、问卷调查实体图、实地考察实体图,具体实体图如下:

调查员实体图如图4-1所示。该实体图包括属性:账号、密码、账户创建时间、姓名、手机号码以及权限。

图4-1调查员(用户)实体图

问卷调查实体图如图4-2所示。该实体图包括属性:问卷名称、问题、选项、作答内容。

图4-2问卷调查实体图

实地考察实体图如图4-3所示。该实体图包括属性:名称、测评问题、选项、作答内容、定位信息、图片链接、解释备注。

图4-3问卷调查实体图

4.2数据库设计

MySQL数据库作为一个开源的关系型管理系统,被广泛地应用在互联网上的中型及其以下的小型网站。MySQL在提供简洁和速度快的同时又满足程序员的所需的数据库功能,重要的是MySQL属于开源的系统,基于本次的设计的整体需求偏向小型的用户需求,数据量也不是很庞大,所以问卷调查APP采用MySQL5.0作为数据库管理系统,根据数据库的需求分析,设计出合适问卷调查APP的数据库逻辑结构。以下是问卷APP的几个重要数据表结构:调查员(用户)表:(Investigator)

下表为调查员(用户)表,如表4-1所示。

表4-1调查员(用户)表

任务表(Mission)

下表为任务表,主要用于实地考察中,对调查员进行任务分配,如表4-2所示。

表4-2任务表

问卷表(Paper)

下表为问卷表,主要是用于问卷调查模块,如表4-3所示。

表4-3问卷表

问题库表(Question)

下表为问题库表,与问卷表关联,如表4-4所示。

表4-4问题库表

问卷答案表(Answer)

下表为问卷答案表,记录作答的内容。如表4-5所示。

表4-5问卷答案表

实地考察表(Investigation)

下表为实地考察表,主要用于实地考察模块。如表4-6所示。

表4-6实地考察表

4.3问卷调查APP总体流程

在已安装好问卷调查APP的Android手机设备使用的大致流程如下:

1)调查员打开问卷调查APP手机应用程序,首先会判断是否登录,如果登录成功就调转到问卷类型的选择,如果没有登录则跳转到登录界面

2)问卷类型选择的界面中,调查员可以选择实地考察或者问卷调查。调查员如果选择实地考察,则进入实地考察的选择页面,反之进入问卷调查的选择页面。

3)进入选择页面,调查员可以选择录入问卷或者已完成问卷。

4)录入问卷,就会加载对应的问卷的题目,作答完成后提交保存到数据库中。

5)已完成问卷,点击可以查看已完成的问卷列表,点击具体就可以查看修改内容。

图4-4问卷调查APP的总体流程图

4.4问卷调查模块实现

问卷调查模块目前主要是以单项题目为主,所以该模块的主要有两部分录入功能以及修改功能。首先利用ListView以及数据适配器Adapter的方式展示需完成的问卷列表,然后创建一个activity页面,从服务器中获取一份问卷内容的Json数据,将Json数据填充到List>中,利用Button点击事件把list中的一条数据通过TextView的setText方法进行覆盖更新。记录答题选项主要是通过TextV iew的getText方法以及其toString方法获取数据,填写到list 中,基本上可以实现问卷调查模块的内容。

其主要流程大致如下:

1)调查员进入问卷调查模块后,程序界面就会展示录入问卷以及已完成问卷两个Button按钮。调查员可以根据其实际的需要选择录入问卷或者是查看已完成问卷。

2)调查员点击录入问卷后,就可以看到待完成的问卷列表,调查员可以选择其中一份问卷开始录入。如果没有问卷则提示暂无问卷。

3)开始作答问卷的题目,提交保存问卷答案。

图4-5问卷调查模块流程

4.5实地考察模块实现

实地考察为重要的模块,在问题展示部分与问卷调查基本一致,但在实地考察需要实现图片上传的功能以及图片展示的功能。该部分除了需要基本的TextV iew、Button外,还需要用一个GridView或者RecyclerView以及数据适配器Adapter来展示待上传的图片,获取Adapter中图片资源的路径并添加到list中对应的键值对pic_url中,根据路径找到对应的图片进行上传处理。

主要流程大致如下:

1)调查员进入实地考察模块后,程序界面就会展示录入问卷以及已完成问卷两个Button按钮。调查员可以根据其实际的需要选择录入问卷或者是查看已完成问卷。

2)调查员点击录入问卷后,就可以看到待完成的问卷列表,调查员可以选择其中一份问卷开始录入。如果问题选择存在不满意的地方,需要提交图片以及在填写解释说明。

3)问卷作答完毕,手机程序会检测是否存在需要上传图片,如果存在图片这提示用户,上传图片需要耗费一定的时间,是否上传。

4)选择带图上传,则先提交保存答案再上传图片。选择不带图上传,则直接提交保存答案。对于存在不满意的且没有上传图片,调查员可以在有WIFI的情况下,补上传图片可以在选择在已完成问卷,进行补上传图片。

图4-6实地考察模块流程

4.6问卷定位功能

定位功能主要用于实地考察模块当中,其实现方式是使用第三方提供的GPS定位的框架,这设计使用的是百度地图提供的定位SDK。百度定位SDK是利用GPS,基站,WIFI三种组合的多种定位方式来满足多种定位场景的需求,具有定位精度高、覆盖率较为广泛、用于网络定位,其所需的耗费的流量较小、定位速度快等功能。程序在开始加载问卷并加载题目的时候,就会在运行中的程序背后自动获取定位坐标并转换为具体的物理地址,把获取到的地址填写在相应的问卷中。

定位功能具体实现,首先是在主线程中用Context参数对LocationClient类进行初始化,然后配置定位参数,如定位模式,返回地址信息或者POI信息等等,接着是实现百度的LocationListener 接口的onReceiveLocation方法,最后通过LocationClient的Start方法开启定位功能,其核心代码如图4-7和图4-8所示。

图4-7配置定位参数

图4-8定位接口实现

4.7图片内存优化

在实地考察中需要实现图片上传的功能,根据需求可知,一份问卷大概有10左右的题目,而一道题目最多可以上传4张图片。一般一张相片的大小在4M左右,如果把完全把图片加载在安卓机器中,且由于是利用Bitmap的方式加载图片,在加载过多的图片的情况下,程序很很容易出现OOM内存溢出问题,导致程序奔溃。针对这一点可以使用引用比较流行的第三方图片加载框架Universal-Image-Loader可以解决OOM的问题。

其主要实现的方法是:首先在工程中加入Universal-Image-Loader框架,创建一个新的类为ImageLoaderApplication,配置好ImageLoaderConfiguration参数,进行初始化操作,然后在实地考察类中得到ImageLoader的实例,在DisplayImageOptions中添加参数,利用DisplayImage方法把图片加载到GridV iew的Item中。

图4-9 ImageLoaderApplication类

4.8问题分页展示

因为安卓手机屏幕尺寸大小有限,把整份问卷的问题加载在用一个页面来展示,从用户的体验的友好性来讲,这并不是很好的体验。所以针对这个问题,可以采用问题分页展示,即用户通过点击上下题来进行题目的翻页。

其主要实现的方法是:首先从网络数据库中获取到一整份问卷的题目数据,封装到一个list 的集合中,通过序列化,每次点击获取相应的一条数据进行加载展示。创建一个setText方法,用来加载或者更新控件的文字信息等等,通过Button的点击事件重复调用setText方法来实现问题上下题的调转。

图4-10上下题点击事件

4.9自定义对话框、样式

一般为了手机应用整体美观,很多Android控件都设计了与应用相适应的自定义的样式,而很少使用安卓默认自带的样式,安卓中的Button默认样式是灰色的且按压效果与应用整体效果不相符。所以需要编写一个selector的xml资源文件,Android:state_enabled设置是否启用状态,Android:state_pressed设置控件按压状态的样式,这是selector的主要的作用。

同样的自定义对话框,也要设计合适的样式。加载等待的对话框,常见的安卓应用中,加载等待的对话框都是个性化定义的,如进度条或者一个动画人物一只在跑的状态等等,都是编写好自定义的xml布局文件,并把编写好的xml布局文件加载到相应的类的方法中。

图4-11定位接口实现

5问卷调查APP界面设计

问卷调查APP整体的配色以蓝色、白色为主,其中手机程序中的点击按钮使用自定义的点击交互效果。同时针对于需要耗时的或者网络差的情况下,程序也会弹出等待的提示框,从而增加用户的体验友好性。

5.1注册/登录界面

界面的顶部是标题,中部放置几个安卓文本输入框,在安卓输入框的左端添加个性化的Logo,在最后的文本输入框下面添加对应的Button按钮。使用安卓文本输入框的GetString方法获取到文本框的文字内容,通过点击事件进行对应的事件处理。

5.2问卷选择界面

该界面采用ListView和数据适配器(Adapter)的方式,把后台返回的Json数据解析到填写到数据适配器中。另外还需要创建一个xml布局文件,设计一个样式,放置一个Image类的控件和一个安卓文本显示框作为ListView的子item项目。数据适配器把每条数据重复利用item项中。最后把每个item项集中展示到ListV iew控件上。

5.3问卷调查作答界面

界面顶部使用统一的样式,顶部的分为三部分,左边使用TextView加点击事件作为返回按钮,中间展示问卷的具体问卷的题目,右边同样使用TextView加点击事件作为提交按钮。界面的中分别放置一个安卓文本框用来显示问题的具体题目,然后放一个RadioGroup和几个单选框,修改默认的单选框选中状态的原点为自定义的勾选样式,界面底部与顶部类似,左右分别为上一题、下一题,中间为当前题目数以及题目总数。

5.4实地考察作答界面

实地考察的作答界面顶部与底部和问卷调查的一致,中间部分除了放置用于展示问题题目、选项内容,还需要在其下面放置一个用来记录存在问题、详细说明的文本输入框以及GridView 用来展示图片,以及用来选择拍照、图库的安卓按钮。其中GridView也需要设计自定义样式,如在GridV iew中每个item子项添加删除的功能。

6问卷调查APP运行测试

6.1手机程序调试

安卓的程序在完成代码的编写设计之后,需要进行项目的调试运行,首选在可能会出现问题的地方写上log的方法,然后可以通过集成开发工具IDE中使用logcat窗体查看打印来的日志来判断分析对应模块的代码有没有问题等等,如果出现错误或者问题,也可用根据logcat输出的信息找到其对应的代码部分。另外还可以用使用debug的方式来调试安卓程序,排除手机程序中存在的错误以及设计的缺陷。

6.2手机程序打包

安卓程序在完成编写并通过测试后,安卓系统要求每个应用都要有相应的数字签名,不然系统不会安装该应用程序,所以在项目程序进行打包生成apk文件之前,需要制作自己的签名文件,主要包括开发者的信息以及手机应用软件信息等等。利用自己的签名文件对程序进行打包,方便

以后手机应用的更新。在手机应用跟新的时候,需要验证手机应用程序的签名文件是不是一致,如果签名文件是一致的则可以顺利的跟新升级到新的版本,不然无法跟新升级程序。

6.3运行情况及测试结果

欢迎引导页:手机应用一开始的时候会有一个2秒的引导欢迎页,后就调转到用户登录界面。

图6-1程序欢迎页面

用户登录界面:用户可以输入账号密码登录,在网络较差的情况下登录,手机程序会弹出登录中的提示框,登录成功后会调转到问卷主题这个界面中并显示一个Toast提示登录成功,如果因为网络原因无法登录则提示连接超时。

图6-2用户登录界面图6-3问卷主题选择界面

相关主题
相关文档
最新文档