第6章 Android客户端模块实现 QQ群(App开发案例教程--清华) :262779381 倚动实验室 QQ群(App开发案例教程--清华) :262779381 网络资源:http://www.xs360.cn/book
CONTENTS 目录 6.1 程序启动动画设计 6.2 程序主界面和功能切换设计 6.3 查询学校录取线并生成趋势图模块
6.1程序启动动画设计 图6-1开门动画1 图6-2开门动画2 图6-3开门动画3 “豹考通”Android程序启动时,有一个开门的动画效果,动画结束后会根据是否是第一次启动软件而跳转到不同的界面。开门动画效果主要是位置移动动画,两张图片最开始是合在一起形成一个整体,然后两张图片分别向左和向右移动,从而达到缓缓打开的效果。运行效果如图1、图2、图3所示。 代码见:OpenDoorActivity.java 图2开门动画2 图3开门动画3 图1开门动画1 图6-1开门动画1 图6-2开门动画2 图6-3开门动画3
6.2 程序主界面和功能切换设计 代码见程序清单: SourceCode\Chapter6\Android\NewScore_test\res\layout\content_frame.xml SourceCode\Chapter6\Android\NewScore\res\values\styles.xml SourceCode\Chapter6\Android\NewScore\res\drawable\menu_btn.xml SourceCode\Chapter6\Android\NewScore\res\drawable\menu_pressed.xml SourceCode\Chapter6\Android\NewScore\res\drawable\menu_unpressed.xml SourceCode\Chapter6\Android\NewScore_test\src\MainActivity.java
6.3 查询学校录取线并生成趋势图模块 查询录取线信息时,既可以查询学校的整体录取线信息,也可以查询学校各专业的录取线信息,并可以生成录取线趋势图,查询录取线信息时,需要指定查询的学校、批次(一本、二本、三本)、类别、年份、生源地等信息。主要界面如图4、5、6所示。 图4 查询界面 图5 查询结果界面 图6 生成趋势图界面 图6-4查询录取线主界面 图6-5查询结果界面
查询录取线主页面对应的Fragment为EnrollScoreFragment,对应的布局文件为fragment_enroll,布局文件整体采用垂直的线性布局,里面嵌套一个表格布局,为了让表格布局能够在更小的屏幕中也完全显示,在表格布局外面添加了一个垂直滚动条。表格布局中主要包含两列,每列的宽度一致,由于有些学校的名称较长,会影响整体的布局效果,因此学校这一行单独放在一个线性布局里,而不是TableRow中,这样学校名称的宽度就不会影响其它列的宽度。 代码见程序清单: SourceCode\Chapter6\Android\NewScore_test\res\layout\fragment_enroll.xml SourceCode\Chapter6\Android\NewScore_test\src\score\EnrollScoreFragment.java SourceCode\Chapter6\Android\NewScore_test\src\score\EnrollScoreResultFragment.java SourceCode\Chapter6\AndroidNewScore\src\score\util\AccessToServer.java SourceCode\Chapter6\AndroidNewScore_test\src\score\TrendView.java
课后练习 1、思考:如何判断用户是否是第一次运行App,第一次运行应用时与其他时候运行应用有哪些不同? 2、本章6.1小节开门动画的实现,读者思考如何将此部分功能简化,对用户使用情境进行判断,不需要每次都载入此方法,只在启动应用时调用? 3、本章6.3小节实现的趋势图是静态的曲线,读者思考能否将其以动画的形式展现在Activity中? 4、新建一个,实现“豹考通”Android客户端“投档线预测”功能模块,此模块需要的参数有科类、年份、学校和批次,调用网络接口URL为:http://www.10lab.cn/zhushou/getControlLinesJson.action?c=1&y=2014&s=97&b=1。其中c表示科类序号,s表示学校编号,b表示批次编号,y表示年份。 5、将“投档线预测”功能模块整合到“豹考通”App中