混合应用试题(总分:100分)姓名:班级:学号:成绩:一、填空题。(总分20分,每空2分)1、弹性盒子模型是推出的一种布局机制。这种机制与常见的流式布局有很大区别。简单的理解为,流式布局是通过内容决定父容器大小,弹性盒子模型是,在指定大小的父容器里来为子元素,简单的流式布局例子。2、在UI的分辨率适配中,每一个手机应用,如果需要在众多的移动终端上保持一致的效果,是工作的重中之重。设计原理是为不同分辨率的系统,选取最贴近于人直观感受舒适度的一个字体大小作为参考量。3、AppCanjavascriptsdk是appcan根据自己的需求封装的一个开发库,对底层的接口进行更高层的封装,能让开发者更快速、高效的开发更加稳定的项目,该库依赖、、默认打包在基础库中,开发者不需要进行额外的引用,另外在该库的基础上提供了丰富的插件,能让开发者更高效的开发app。4、WidgetOne应用管理器是整个Widget的运行环境,功能主要包括Widget管理、、、消息事件管理、Widget间通信机制和Widget的运行沙箱管理等。5、混合应用AppCanIDE可以用于支持、平台手机和平板的高体验Hybrid应用的开发。二、选择题。(单选题,总分30分,每题3分)()6、Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Javascript、CSS等WebAPIs开发跨平台的移动应用程序。原本由()公司开发,现在由Adobe拥有。A、NitobiB、sunC、甲骨文D、Apache()7、在()中,使用的是完全的插件体系结构,所有的功能如:摄像头、位置等功能都是使用插件的方式提供。A、PhonegapB、AppcanC、CoreJavaD、AndroidSDK()8、在Phonegap中,使用media对象,使用media.getCurrentPosition方法,返回的是()。A、一个音频文件的总时长B、一个音频文件的当前位置C、一个音频文件的大小D、一个音频文件的文件格式()9、在HTML设置UI中,以下制造按钮感觉,并且增加了背景颜色的是()。A、divclass=btn/divB、divclass=btnbc-btnbc-text-header/divC、divclass=btnbc-btn/divD、divclass=btnbc-btnbc-text-headerubub-pc/div()10、在HTML设置UI中,如果想做一条线以下正确的是()。A、divclass=ub-f1ubaubub-ver/divB、divclass=btnbc-btnbc-text-header/divC、divclass=uinnubbbc-border/divD、divclass=ub-f1ubaid=btn3AAAAAA/div()11、如果想设置appcan.slider有标签文字栏,以下正确的设置是()。A、hasLabel:falseB、hasLabel:trueC、hasIcon:trueD、hasSubTitle:true()12、在jscript中,设置弹出对话框该用以下哪种方法()。A、appcan.window.setDialogs({});B、appcan.window.setAlert({});C、appcan.window.alert({});D、appcan.window.dialog({});()13、在appcan中,假如B窗口要调用A主窗口中的方法,应该用哪种方法?()。A、window.evaluateScript();B、window.evaluatePopoverScript();C、window.getPopoverScript();D、window.getEvaluateScript();()14、在appcan中,插入数据的方法为()。A、uexDataBaseMgr.openDataBase();B、uexDataBaseMgr.selectSql();C、uexDataBaseMgr.executeSql();D、uexDataBaseMgr.executeData();()15、以下关于WebAPP、HybridAPP、NativeAPP之间的比较,说法不正确的是()。A、WebAPP的开发成本最低B、NativeAPP维护更新最复杂C、HybridAPP的体验感优D、NativeAPP的跨平台性最好三、简答题。(每题5分)16、弹性盒子模型提供了哪几个强大的属性?17、请简要描述Appcan的整体架构。18、请叙述PhoneGap的安装步骤。19、请简要概述Appcan创建并连接SQL数据库的步骤。20、请概述Appcan的目录结构。四、应用题。(每题5分)21、在Appcan的弹性盒子模型中,当盒子的内容太多的时候,就会冲出盒子,影响结构了,建议使用ub-con在子元素中加入一个容器,用于避免内容引起子元素大小变化,请写出相关代码例子。22、在Appcan中,如果要对话框提示“是否要支付当前订单?”,用户可选择“确定”或“取消”,该如何设置,请写出相关代码。23、请写出Appcan应用开发中,获取窗口名字的方法代码。24、在Appcan应用开发中,需要连接SQL数据库,并创建数据库与相关数据表,请写出相关代码。设其中数据库名为datadb,数据表为test.25、当应用启动被隐藏后,再次调出显示,该如何触发resume事件,实现其功能。请写出相关代码。答案:一、填空题1、CSS分配空间2、UI适配3、backbonejszeptojsunderscorejs4、Widget内部窗口管理Widget的生命周期管理5、IOSAndroid(评分标准:填空题总共5小题,总分20分,每空2分,答对得2分,打错或者不答得0分)二、选择题6-10、AABCC11-15、BCACD(评分标准:选择题总共10小题,总分30分,每题3分,答对得3分,打错或者不答得0分)三、简答题(总共5小题,总分25分,每题5分)16、答:(1)-webkit-box-direction:reverse:通过在父DIV中设定这个属性可以让子元素反向排列。(2)-webkit-box-align:center:通过在父元素中设定这个属性,当子元素横向排布时,可以使子元素间实现上边界对齐、中线对齐和下边界对齐的效果。(3)-webkit-box-pack:center:通过在父元素中设定这个属性,当子元素横向排布时,可以使子元素间左边界对齐、中线对齐和右边界对齐。(4)弹性BOX架构可以同时兼容流式布局,即当所有子元素都没有设定弹性份数时,父元素可以被子元素自动撑开。(5)可以完成各种各样的排版布局,极大地降低学习难度和元素排版复杂度,使代码更加简练。(评分标准:分5个要点,“-webkit-box-direction:reverse:、-webkit-box-align:center:、-webkit-box-pack:center:”这三个要点每答对一个得1分,答对“弹性BOX架构可以同时兼容流式布局”得1分,得对“可以完成各种各样的排版布局,极大地降低学习难度和元素排版复杂度,使代码更加简练”得1分,以上要点全部答对得5分)17、答:(1)应用代码层;(2)JS框架层;(3)引擎插件层;(4)系统层。(评分标准:以上四要点,每答对一点的1分,如果同时四点全部答对得5分)18、答:(1)安装JDK,并配置环境变量。(2)安装AndroidSdk,并配置Android_home环境变量,更新SDK。在path环境变量中添加如下配置:%android_home%\tools;%android_home%\platform-tools(3)下载,安装node.js。(4)下载ant,并配置ant_home环境变量,并在path环境变量中添加如下配置:%ant_home%\bin;。(5)启动node.js的终端工具,在命令提示行下输入:npminstall-gphonegapnpminstall-gcordova(评分标准:以上五要点,每答对一点的1分,答对关键词可酌情给分,全部答对得5分)19、答:(1)打开数据库,如果没有则创建数据库;(2)创建数据库与建表;(3)插入数据;(4)查询数据。(评分标准:以上四要点,每答对一点的1分,答对关键词可酌情给分,如果同时四点全部答对得5分)20、答:AppCan在IDE编写代码时,使用的结构如下:这种结构是在使用AppCan平台的基本调用:html+css+js。ide在项目开发时默认会创建基本的框架结构css、js文件夹、config.xml、index.html、index_content.html(即空模板项目)css目录下的css文件里是ui基础框架基础类文件,js目录下是AppCan封装提供的jssdk文件,其中appcan.control.js、appcan.js是appcan整个框架依赖的基础库,不能去除,同时也封装了uexWindow、uexWidget、uexWidgetOne基础方法。(评分标准:“html+css+js”、“框架结构css、js文件夹、config.xml、index.html、index_content.html”、“jssdk文件”、“其中appcan.control.js、appcan.js是appcan整个框架依赖的基础库”、“uexWindow、uexWidget、uexWidgetOne基础方法”,参考以上要点的关键词,每答对一个且表达清晰得1分,全部答对得5分)四、应用题(总共5小题,总分25分,每题5分)21、解:divclass=ubumh5umar-tdivclass=ub-f1ubub-pcub-acbtnbc-btnbc-text-headerumar-auc-aub-conAAAAAAA/divdivclass=ub-f1ubub-pcub-acbtnbc-btnbc-text-headerumar-auc-aub-conBBBBBB/div/div(评分标准:以上三个“div…/div”,每设计对一个且代码格式正确得1分,答错或者代码格式错误不得分,全部答准确得5分)22、解:appcan.window.alert({title:提示,content:您是否要支付当前订单?,buttons:['确定','取消'],callback:function(err,data,dataType,optId){alert(data);}});(评分标准:“appcan.window.alert、title:、content:、buttons:、callback:”以上五个要点,每设计对一个且代码格式正确得1分,答错或者代码格式错误不得分,全部答准确得5分)23、解:functiongetName(){varname=window.frameElement&&window.frameElement.id||'';if(name){/*去除头尾*/name=name.replace('_main','').replace('_pop_content','');name=name.split('_');name=name.splice(1,name.length-1);name=name.join('_');}//alert(name);returnname;}(评分标准:“varname=window.frameElement&&window.frameElement.id||''、name=name.replace('_main','').replace('_pop_content','')、name=name.split('_')、name=name.splice(1,name.length-1)、name=name.jo