编辑: 夸张的诗人 | 2019-08-09 |
1 开发概述 目录 1.2 App开发流程图介绍 1.3 案例介绍 1.4 所涉及软件与代码 1.5 配置局域网运行和开发环境 1.1开发概述 App是什么,有些读者会有些了解,简单的来说App是对英文单词 Application 的简称,即智能手机的应用程序,无需连接PC,直接运行在手机上的应用.App开发对于企业来说,需要根据自身的具体发展情况和战略规划来权衡,一个好的企业,App移动端开发在企业一定是一个具有长期价值的重要组成部分.App拥有几个特点:(1)App安装在移动设备上,使用方便,也便于营销.(2)App融入了品牌元素,是品牌的一个具体的体现,用户可以享受到品牌的相关服务以及最新资讯.(3)App与互联网相连,随时更新数据,提高用户体验. 1.2App开发流程图介绍 一个完整的软件开发分为网页端与移动端(App),而移动端又包括Android端和IOS端,使用的开发模式是移动应用开发常用的MVC开发模式. 服务器端开发流程简图 客户端开发流程简图 客户端开发流程简图中出现的截图 ① ② ③ ④ ⑤ ⑥ 1.3案例介绍 豹考通软件是一款面向全国高考学子和各大院校教师的软件.高考志愿填报对考生录取高校与专业,乃至未来的人生道路非常关键.由于信息不对称,考生填报志愿时比较盲目.研发的 豹考通 将是一款新型App,服务考生和高校,借助智能手机帮助考生在填报志愿时掌握全面信息,提供数据跟踪记录和深度分析,供考生参考,同时在高校与考生之间搭建一条新的交流途径. 豹考通已在各大App商店上线,用户可下载使用. 根据市场和往年高考情况综合考虑,豹考通实现了以下7个功能.(1)省控线查询:用户可以查询各省市高考省控线信息,方便用户查找,不需要到网上去搜集信息.(2)投档线查询:用户可以查询全国各院校的投档线信息.(3)生成投档线曲线图:根据用户的信息选择,系统会为用户生成近几年的投档线和省控线的一个曲线图,更加直观的显示分数的变化波动情况,供用户参考.(4)预测投档线:根据往年投档线情况,采用系统的算法,根据用户不同的选择,预测今年各学校投档线情况.(5)推荐学校:推荐学校可以为用户推荐一些感兴趣并且有机会能投档的院校,帮助用户做出报考选择.(6)生成预测推荐报告:报告是根据用户选择的参数进行生成,报告的内容包括今年投档线的预测,和推荐的所有有机会投档大学等名单,为用户的最终选择提供参考.(7)关于我们:关于介绍参与开发豹考通软件的团队成员. Android端截图 IOS端截图 客户端服务器网络连接示意图 1.4本书教学中所用到的软件及案例代码 1.4.1各种开发环境所需软件 Android 客户端App开发工具 ①Java的IDE工具--Eclipse②Java开发包--Java SE Development Kit(JDK)JDK 6③Android开发包--Android SDK IOS客户端App开发工具 ①IOS的IDE工具--XCode②网络访问开源库--ASIHttpRequest③JSon解析包--SBJson④网络状态检测包--Reachability⑤用户等待第三方控件--MBProgressHUD ⑥界面布局工具--Utility Android 客户端App开发工具 ①服务器操作系统--Windows 或Linux②服务器容器--Tomcat6③数据库管理软件--MySQL5④JAVA开发环境--JDK1.6⑤服务器端程序开发工具--Myeclipse8.6⑥数据库管理工具--MySQL-Front⑦文件上传下载(ftp)工具--LeapFTP 数据库前台操作软件 MySQL-front 服务器端(局域网) 学习网站提供的局域网服务器安装包 1.4.2本书案例所涉源代码 资源网站:http://www.10LAB.cn/resource.htmlSourceCode包包括4个部分 1. 涉及代码章节的所有源代码 ①数据库端源码清单:SourceCode->
Chapter3->
DatabasecreateTable.sql--创建数据库表InsertAction.sql--插入数据DeleteAction.sql--删除数据ModifyAction.sql--修改数据createbatchTable.sql--创建批次表insertbatchTable.sql--向批次表插入数据createcategoryTable.sql--创建科类表insertcategoryTable.sql--向科类表插入数据 ②服务器端源码清单: SourceCode->
Chapter4->
Serverserver.xml--绑定域名文件(xml)Hello_BaoKaoTong.java--新建服务器类index.jsp--编辑JSP页面->
Zhushou JsonAction.java--Json解析类 struts.xml--增加Json类中方法 ControlLineAdapter.java--省控线查询Adapter类③Android端源码清单:SourceCode->
Chapter6->
Android->
NewScore_testOpenDoorActivity.java--开门动画类->
res ->
layout content_frame.xml--程序主界面布局 fragment_enroll.xml--学校录取线页面布局 ->
values Styles.xml--菜单Menu布局 ->
drawable menu_btn.xml--特殊图片状态布局 menu_pressed.xml--按下按钮状态 menu_unpressed.xml--按钮未按下状态->
src MainActivity.java--主界面相关事件 ->
score EnrollScoreFragment.java--查询学校录取线与相关专业事件 EnrollScoreResultFragment.java--查询结果布局 TrendView.java--生成趋势曲线事件 ->
util AccessToServer.java--服务器端访问工具类 ④IOS端源码清单(部分):SourceCode->
Chapter8->
IOS->
NewScore_test->
GaoKaoHelper->
GaoKaoHelper.proj--XCode项目程序(执行程序)->
GaoKaoHelper.test--项目测试包->
GaoKaoHelper--源代码包 ->
ConnectNetWork(Reachability)--网络连接判断第三方类 Reachability.h Reachability.m->
MBProgressHUD--读取信息进度转轮第三方类 MBProgressHUB.h MBProgressHUB.m->
Utility--界面布局工具->
ASIHttpRequest--实现网络连接第三方类->
SBJson--JSon解析第三方类 1.4.3其他开发包和本案例可运行的安装包 1. 涉及到的部分第三方开发包 ①Eclipse ②ASIHttpRequest ③Reachability ④MBProgressHUD ⑤Utility ⑥SBJson2. 局域网服务器绿色安装包--bkt_jtm.rar3. Android版apk安装包4. IOS版ipa安装包 1.5配置局域网运行和开发环境 客户端访问网络数据,既可以通过域名(www.10LAB.cn)或域名指向的IP地址联网访问远程服务器获得数据,又可以搭建临时局域网服务器通过IP地址来访问本地服务器获取数据.本节将介绍如何搭建支持App客户端可访问的本地服务器和如何修改的客户端的请求URL链接.由于豹考通服务器端代码是由JSP编写,如果需要将此服务器代码在本地机运行,则需用到的软件包括Tomcat、JDK和Mysql.为了便于教学和测试,本书采用绿色运行环境JTM-v1.1(一键搭建运行JavaEE应用的工具)为例,将豹考通Web端部署在本地电脑并运行起来. 1.5.1局域网内本地服务器拓扑图 将实验室的教师端电脑与学生端电脑互联在一个局域网内,由教师或每组组长在电脑上将豹考通本地服务器运行起来(启动方法见1.5.2节),其他学生机进行调用,不同的小组既可以连接本组搭建的服务器,如小组1使用服务器1,小组2使用服务器2等,也可以连接教师端的服务器,只需将请求的URL地址修改为教师端或任何一台学生机服务器的IP地址即可,如192.168.1.100(教师机),192.168.1.101(小组1服务器), 访问本地服务器网络连接拓扑图 如果豹考通APP与服务器连接成功后,不论是Android手机还是电脑Android模拟器都能看到如下图所示红框中的学校数据;
如果连接不到服务器,则会出现如下图所示红框中的学校将无法获取到数据. 连接到服务器成功获取数据 未成功连接到服务器 1.5.2启动本地服务器的步骤 1. 下载bkt_android.rar压缩包http://WWW.10LAB.CN/download/bkt_android.rar 2. 将压缩包解压,请将 bkt_android解压在不带有空格的路径上,如D:bkt_android.3. 进入 Dbkt_androidbkt_jtm 目录下,运行JTM1.1.exe程序,可以看到如下图所示的运行窗口,启动后如果Tomcat和MySQL都是停止,说明本机未按照或未启动相关服务,则单击 启动(调式模式) .如果电脑中安装且启动了相关MySQL数据库或Tomcat服务,则对应的灰色指示灯会变为绿色,此时需要先将本地的MySQL或Tomcat服务停止. JTM启动窗口 4. 单击 启用(调试模式) ,使用 调试模式 可以部署在appWeb目录下的java web应用运行在Windows.正常启动能后能看到mysql.exe启动窗口和Tomcat启动窗口,而且JTM启动窗口的Tomcat和MySQL服务器的指示灯也变成了绿色,如下图所示.需注意的是这两个弹出窗口不能关闭,关闭后会停止相关服务,导致本地服务器关闭. 正常启动JTM服务器环境 5. 通过浏览器进行访问测试http://localhost:8080/,看到如下图所示的界面,表示JSP服务器环境搭建成功. 测试默认启动界面 1.5.3修改Android端URL访问本地服务器 (1)配置android sdk路径 右键执行ANDROID_SDK_HOME.bat文件,将上述解压的D:bkt_androidadtsdk路径,设置到系统path环境变量中,设置完成之后,就能读取到D:bkt_androidadtsdk.androidavd路径下的模拟器.配置成功后,能看到如下图所示的成功提示信息. 设置Android SDK路径提示信息 (2)修改URL地址 打开D:bkt_androidbkt_jtm下的eclipse.exe开发工具,修改豹考通NewScore_Test项目src下包名为iet.jxufe.cn.android.score.util的工具类Constants.java,目录结构如下图所示. URL保存在Constants.java中 将类中的远程服务器地址URL修改为:http://{IP}:8080/bkt/.修改前:public static final String URL= http://www.10LAB.cn/ ;
修改后:public static final String URL= http://192.168.1.101:8080/bkt/ ;
修改URL后,选中项目名称→右键→找到Run As→单击1 Android Application,如下图所示,重新发布APP和启动Android模拟器,这样Android客户端访问的数据就是本地服务器中的数据. 重新发布Android项目 启动完模拟器后,能看到如下图所示模拟器以及豹考通的运行结果. 豹考通项目运行在Android模拟器上 1.5.4修改IOS端URL访问本地服务器 与Android端类似,IOS端访问本地服务器只需要将进行网络访问接口域名更换成本地服务器所在PC机的IP地址即可.访问远程服务器的代码如下所示:1. NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@ http://www.10LAB.cn/zhushou/getRecommendSchoolsJson.action?c=%d&
b=%d&
a=%@&
ta=%@&
score=%@&
order=%d ,cata,batch,areaIdString,provinceID,_scoreLabel.text,order]];
2. ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
3. [request setRequestMethod:@ GET ];
4. [request startSynchronous];
这是远程服务器的方法,URL使用的是服务器的域名,域名为:www.10LAB.cn,若我们要通过本地服务器使用APP,那么我们可以将域名更换成服务器本机IP地址加上端口号,http://{IP}:8080/bkt/.修改前:URL = http://www.10LAB.cn/ ;
修改后:URL = http://192.168.1.102:8080/bkt/ ;
修改URL后,重新发布APP,这样IOS客户端访问的数据就是本地服务器中的数据. 课后习题
1、移动App开发一般包括哪几个部分,并简要描述每个部分的流程.
2、按照本章1.3节介绍,从应用商店下载 豹考通 App,并使用.
3、思考 豹考通 App界面跳转设计的思路,并提出自己的见解.
4、搭建本地服务器,并在网页中试用web版应用.
5、在Apple官网中查阅App上传审核手册相关内容.
........