• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      App開發(fā)教學(xué)案例設(shè)計

      2015-05-30 12:21:58鐘元生曹權(quán)
      軟件工程 2015年8期
      關(guān)鍵詞:移動應(yīng)用實踐教學(xué)

      鐘元生 曹權(quán)

      摘 要:為幫助高校更好開設(shè)App實踐課程,給出一個綜合教學(xué)案例——“豹考通”App開發(fā)的全過程。該教學(xué)案例包括App開發(fā)流程、服務(wù)器端、Android客戶端、IOS客戶端和數(shù)據(jù)庫端的設(shè)計等,不僅適合大學(xué)生在項目實驗中體會較大規(guī)模的App開發(fā)全過程,也適合于小組分工協(xié)作開發(fā)App軟件的參照模板。

      關(guān)鍵詞:教學(xué)案例設(shè)計;App開發(fā);移動應(yīng)用;實踐教學(xué)

      中圖分類號:G40-057 文獻標(biāo)識碼:A

      Abstract:To help universities better open app practical courses.It gives a comprehensive teaching case-"BaoKaoTong" app whole process of development.The case not only for college students experience a large-scale development of the whole process of app experiment,but also a reference template for group division of labor app software development.

      Keywords:teaching case design;mobile application development;mobile applications;practice teaching

      1 引言(Introduction)

      案例教學(xué)法是在法律、醫(yī)學(xué)、工商管理等學(xué)科及師資培訓(xùn)中取得了很大的成功。近幾年,越來越多的學(xué)者在信息技術(shù)、生物、數(shù)學(xué)、心理學(xué)、地理、工程技術(shù)等學(xué)科中也開始嘗試采用案例教學(xué)方法,國外在案例教學(xué)領(lǐng)域有著深厚的研究,Barbara Barry Levin在1996年提到在教師在教學(xué)中運用案例教學(xué)方法[1],而且Laurence.E Lynn Jr在1999年還出版了關(guān)于案例教學(xué)的指南[2]。我們在大學(xué)安卓編程案例設(shè)計上也做了一些研究[3]。

      當(dāng)前計算機或軟件工程專業(yè)的學(xué)生存在著學(xué)用脫節(jié)、實際開發(fā)能力偏弱等問題,事實上,學(xué)生雖然接受了系統(tǒng)的軟件開發(fā)專業(yè)知識的學(xué)習(xí)和軟件開發(fā)技術(shù)應(yīng)用的訓(xùn)練,但軟件開發(fā)能力低下的情況還相當(dāng)普遍[4]。在這種教學(xué)方式下,通常導(dǎo)致培養(yǎng)的學(xué)生實踐能力不足[5]。

      為了解決上述問題,我們結(jié)合自己研發(fā)的一個實用App“豹考通”,在對其程序功能進行適當(dāng)精簡的基礎(chǔ)上,開發(fā)了一個App綜合教學(xué)案例。本文簡要介紹之。詳情可參考即將在清華大學(xué)出版社出版的教材《App開發(fā)案例教程》。

      2 App開發(fā)流程教學(xué)設(shè)計(Teaching design of app development process)

      一個完整的軟件開發(fā)分為網(wǎng)頁端與移動端(App),而移動端又包括Android端和IOS端。

      (1)服務(wù)器框架搭建

      開發(fā)流程如圖1所示。

      服務(wù)器端設(shè)計是移動項目設(shè)計中很重要的一個部分,如果說客戶端負責(zé)為用戶展現(xiàn)數(shù)據(jù),那么服務(wù)器端可以說是為用戶準(zhǔn)備數(shù)據(jù)。只有服務(wù)器端將用戶所需要的數(shù)據(jù)準(zhǔn)備完畢后,客戶端才有可能去展示。

      (2)數(shù)據(jù)庫設(shè)計與部署

      對于移動App開發(fā),數(shù)據(jù)庫的選擇就顯得至關(guān)重要,因為數(shù)據(jù)存儲結(jié)構(gòu)、讀取速度直接影響到用戶體驗,盡量使用輕量級數(shù)據(jù)庫,這里我們使用的是MySQL。

      數(shù)據(jù)庫開發(fā)分為邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計。

      (3)服務(wù)器端實現(xiàn)

      服務(wù)器端的實現(xiàn)是在MyEclipse 8中實現(xiàn)。配置開發(fā)環(huán)境,配置完成后,在MyEclipse 8中創(chuàng)建“豹考通”工程。

      (4)客戶端框架搭建

      客戶端開發(fā)流程簡圖如圖2所示。

      (5)界面及素材設(shè)計和界面跳轉(zhuǎn)設(shè)計

      項目素材制作的標(biāo)準(zhǔn)要按照Android和IOS開發(fā)要求制作,而且界面跳轉(zhuǎn)不宜過多。

      (6)模塊類的實現(xiàn)

      根據(jù)項目的需求分析,在項目中分別創(chuàng)建模塊文件夾,然后分別對功能模塊進行設(shè)計與實現(xiàn)。

      (7)網(wǎng)絡(luò)數(shù)據(jù)讀取接口

      網(wǎng)絡(luò)數(shù)據(jù)讀取接口由服務(wù)器端提供,包括網(wǎng)址和需要的參數(shù),客戶端發(fā)送相應(yīng)的參數(shù)請求從服務(wù)器端獲取運行結(jié)果,最后由客戶端呈現(xiàn)在用戶眼前。網(wǎng)絡(luò)數(shù)據(jù)接口形式如下:

      http://localhost/zhushou/RequestControlLinesAction.action?c=0&y=2013&s=14&b=0。

      (8)編譯打包及測試

      移動應(yīng)用編譯打包、測試及發(fā)布上線的簡易流程如圖3所示。

      對于Android端應(yīng)用,需要在項目中打包生成APK文件;而對于IOS端應(yīng)用,需要將其打包成ipa文件。

      編譯打包完成后,可以在其他成員的手機上安裝測試,看有沒有問題出現(xiàn)。如果有,立即對程序進行調(diào)試;如果沒有,就可以在商店中發(fā)布上線了。

      (9)發(fā)布上線

      相對于IOS發(fā)布過程來說,Android應(yīng)用的發(fā)布比較簡單;而IOS應(yīng)用的發(fā)布審核相對來說更為嚴格,一些細節(jié)問題的出現(xiàn)都會讓Apple公司拒絕,如果是發(fā)布在第三方商店,如91助手,審核相對順利。所以在開發(fā)過程中,需要多參考Apple公司的文檔,這樣有利于審核的通過。

      3 App開發(fā)教學(xué)用例(Teaching case of app development)

      3.1 案例功能設(shè)計

      “豹考通”App是一款面向全國高考學(xué)子和各大院校教師的新型App,服務(wù)考生和高校,借助智能手機幫助考生在填報志愿時掌握全面信息,提供數(shù)據(jù)跟蹤記錄和深度分析,供考生參考,并在高校與考生之間搭建一條新的交流途徑。

      App已經(jīng)在各大App商店上架,讀者可以先下載使用。

      綜合考慮市場需求,豹考通主要實現(xiàn)了以下6個功能。

      (1)省控線查詢:查詢各省市高考省控線信息,方便用戶查找,不需要到網(wǎng)上去搜集信息。

      (2)投檔線查詢:查詢?nèi)珖髟盒5耐稒n線信息。

      (3)生成投檔線曲線圖:根據(jù)用戶的信息選擇,系統(tǒng)會為用戶生成近幾年的投檔線和省控線的一個曲線圖,更加直觀的顯示分數(shù)的變化波動情況,供用戶參考。

      (4)預(yù)測投檔線:根據(jù)往年投檔線情況,采用系統(tǒng)的算法,根據(jù)用戶不同的選擇,預(yù)測今年各學(xué)校投檔線情況。

      (5)推薦學(xué)校:推薦學(xué)??梢詾橛脩敉扑]一些感興趣并且有機會能投檔的院校,幫助用戶做出報考選擇。

      (6)生成預(yù)測推薦報告:報告是根據(jù)用戶選擇的參數(shù)進行生成,報告的內(nèi)容包括今年投檔線的預(yù)測和推薦的所有機會投檔大學(xué)等名單,為用戶的最終選擇提供參考。

      圖4和圖5分別給出Android和IOS客戶端的代表界面。

      案例中訪問服務(wù)器的部分,均使用www.10LAB.cn作為我們的服務(wù)器地址,所有的程序、軟件包及源代碼都可以從此網(wǎng)站中獲取,當(dāng)然讀者也可以自己搭建本地服務(wù)器(訪問局域網(wǎng)),具體的本地服務(wù)器搭建方法見后。圖6為客戶端服務(wù)器網(wǎng)絡(luò)連接示意圖。

      3.2 案例所涉源代碼

      打開學(xué)習(xí)網(wǎng)站http://www.10LAB.cn/resource.html,下載本文所涉源碼壓縮包——SourceCode,包中包括四個部分:

      這些代碼包括數(shù)據(jù)庫端、服務(wù)器端、Android端和IOS端四個部分,“→”符號代表文件夾,即打開后還有文件。

      (1)數(shù)據(jù)庫端源碼清單

      SourceCode->Chapter3->Database

      createTable.sql--創(chuàng)建數(shù)據(jù)庫表

      InsertAction.sql--插入數(shù)據(jù)

      DeleteAction.sql--刪除數(shù)據(jù)

      ModifyAction.sql--修改數(shù)據(jù)

      createbatchTable.sql--創(chuàng)建批次表

      insertbatchTable.sql--向批次表插入數(shù)據(jù)

      createcategoryTable.sql--創(chuàng)建科類表

      insertcategoryTable.sql--向科類表插入數(shù)據(jù)

      (2)服務(wù)器端源碼清單

      SourceCode->Chapter4->Server

      server.xml--綁定域名文件(xml)

      Hello_BaoKaoTong.java--新建服務(wù)器類

      index.jsp--編輯JSP頁面

      ->Zhushou

      JsonAction.java--Json解析類

      struts.xml--增加Json類中方法

      ControlLineAdapter.java--省控線查詢Adapter類

      (3)Android端源碼清單

      SourceCode->Chapter6->Android

      ->NewScore_test

      OpenDoorActivity.java--開門動畫類

      ->res

      ->layout

      content_frame.xml--程序主界面布局

      fragment_enroll.xml--學(xué)校錄取線頁面布局

      ->values

      Styles.xml--菜單Menu布局

      ->drawable

      menu_btn.xml--特殊圖片狀態(tài)布局

      menu_pressed.xml--按下按鈕狀態(tài)

      menu_unpressed.xml--按鈕未按下狀態(tài)

      ->src

      MainActivity.java--主界面相關(guān)事件

      ->score

      EnrollScoreFragment.java--查詢學(xué)校錄取線事件

      EnrollScoreResultFragment.java--查詢結(jié)果布局

      TrendView.java--生成趨勢曲線事件

      ->util

      AccessToServer.java--服務(wù)器端訪問工具類

      (4)IOS端源碼清單

      SourceCode->Chapter8->IOS->NewScore_test

      ->GaoKaoHelper

      ->GaoKaoHelper.proj--XCode項目程序(執(zhí)行程序)

      ->GaoKaoHelper.test--項目測試包

      ->GaoKaoHelper--源代碼包

      AppDelegate.h--程序監(jiān)聽接口頭文件

      AppDelegate.m--程序監(jiān)聽接口實現(xiàn)文件

      Main.m--程序入口方法

      BaseViewController.h--根視圖頭文件

      BaseViewController.m-根視圖實現(xiàn)文件

      BaseNavigationController.h--基導(dǎo)航控制器頭文件

      BaseNavigationController.m--基導(dǎo)航控制器實現(xiàn)文件

      myScoreViewController.h--我的高考模塊頭文件

      myScoreViewController.m--我的高考模塊實現(xiàn)文件

      shengyuandiViewController.h--生源地選擇控制器頭文件

      shengyuandiViewController.m--實現(xiàn)生源地選擇控制器

      subjectViewController.h--科類選擇控制器頭文件

      subjectViewController.m--科類選擇控制器實現(xiàn)文件

      batchViewController.h--批次選擇控制器頭文件

      batchViewController.m--批次選擇控制器實現(xiàn)文件

      recommendViewController.h--推薦學(xué)校模塊基視圖頭文件

      recommendViewController.m--推薦學(xué)校模塊基視圖實現(xiàn)文件

      SchoolInfoViewController.h--學(xué)校信息控制器頭文件

      SchoolInfoViewController.m--學(xué)校信息控制器實現(xiàn)文件

      proViewController.h--省份選擇視圖控制器頭文件

      proViewController.m--省份選擇視圖控制器實現(xiàn)文件

      searchScoreViewController.h--省控線查詢模塊基視圖頭文件

      searchScoreViewController.m--省控線查詢模塊基視圖實現(xiàn)文件

      provinceViewController.h--省份選擇控制器頭文件

      provinceViewController.m--省份選擇控制器實現(xiàn)文件

      LineViewController.h--省控線查詢結(jié)果控制器頭文件

      LineViewController.m--省控線查詢結(jié)果控制器實現(xiàn)文件

      schoolScoreViewController.h--學(xué)校分數(shù)線查詢模塊基視圖頭文件

      schoolScoreViewController.m--學(xué)校分數(shù)線查詢模塊基視圖實現(xiàn)文件

      schoolViewController.h--學(xué)校選擇控制器頭文件

      schoolViewController.m--學(xué)校選擇控制器實現(xiàn)文件

      ScoreLineViewController.h--學(xué)校分數(shù)線查詢結(jié)果控制器頭文件

      ScoreLineViewController.m--學(xué)校分數(shù)線查詢結(jié)果控制器實現(xiàn)文件

      CurveViewController.h--趨勢曲線控制器頭文件

      CurveViewController.m--趨勢曲線控制器實現(xiàn)文件

      CurveView.h--趨勢曲線圖視圖頭文件

      CurveView.m--趨勢曲線圖視圖實現(xiàn)文件

      ->ConnectNetWork--網(wǎng)絡(luò)連接判斷第三方類

      Reachability.h

      Reachability.m

      ->MBProgressHUD--讀取信息進度轉(zhuǎn)輪第三方類

      MBProgressHUB.h

      MBProgressHUB.m

      ->Utility--界面布局工具

      ->ASIHttpRequest--實現(xiàn)網(wǎng)絡(luò)連接第三方類

      ->SBJson--JSon解析第三方類

      SBJson.h

      SBJson.m

      GaoKaoHelper-info.plist--項目配置文件

      infoPlist.strings--配置文件字符

      area.plist--地區(qū)信息plist文件

      GaoKaoHelper-Prefix.pch--預(yù)編譯文件

      4 基于局域網(wǎng)的教學(xué)環(huán)境搭建(Setting up teaching and learning environment based on LAN)

      下面介紹如何搭建支持App客戶端可訪問的本地服務(wù)器和如何修改的客戶端的請求URL鏈接。由于豹考通服務(wù)器端代碼是由JSP編寫,如果要讓此服務(wù)器代碼在本地機運行,則需用到的軟件包括Tomcat、JDK和MySQL。

      4.1 連接局域網(wǎng)本地服務(wù)器方法

      將實驗室的教師端電腦與學(xué)生端電腦互聯(lián)在一個局域網(wǎng)內(nèi),只需將請求的URL地址修改為教師端或任何一臺學(xué)生機服務(wù)器的IP地址即可,如192.168.1.100(教師機),192.168.1.101(小組1服務(wù)器)。若服務(wù)器連接成功,不論是手機還是模擬器都能讀取到對應(yīng)省份學(xué)校數(shù)據(jù);如果連接服務(wù)器失敗,則不顯示學(xué)校數(shù)據(jù)。

      4.2 啟動本地服務(wù)器的步驟

      (1)下載bkt_android.rar壓縮包,http://www.10LAB.cn/download/bkt_android.rar。

      (2)將壓縮包解壓,請將bkt_android解壓在不帶有空格的路徑上,如D:\bkt_android。

      (3)運行JTM1.1.exe程序,單擊“啟用(調(diào)試模式)”,Tomcat和MySQL服務(wù)器的指示燈變成綠色。需注意的是這兩個彈出窗口不能關(guān)閉,關(guān)閉后會停止相關(guān)服務(wù),導(dǎo)致本地服務(wù)器關(guān)閉。

      (4)通過瀏覽器進行訪問測試http://localhost:8080/,若出現(xiàn)“服務(wù)器搭建成功測試頁”信息,表示JSP服務(wù)器環(huán)境搭建成功。

      4.3 修改客戶端URL訪問本地服務(wù)器

      Android端:

      修改豹考通NewScore_Test項目src下包名為iet.jxufe.cn.android.score.util的工具類Constants.java。將類中的遠程服務(wù)器地址URL修改為:http://{IP}:8080/bkt/;即public static final String URL=" http://192.168.1.101:8080/bkt/";修改URL后,重新發(fā)布App和啟動Android模擬器,這樣Android客戶端訪問的數(shù)據(jù)就是本地服務(wù)器中的數(shù)據(jù)。

      IOS端:

      與Android端類似,IOS端訪問本地服務(wù)器只需要將進行網(wǎng)絡(luò)訪問接口域名更換成本地服務(wù)器所在PC機的IP地址即可。遠程服務(wù)器的url為:

      http://www.10LAB.cn/zhushou/getRecommendSchoolsJson.action?

      域名為:www.10LAB.cn,將域名更換成服務(wù)器本機IP地址加上端口號,http://{IP}:8080/bkt/。

      即URL="http://192.168.1.102:8080/bkt/";修改URL后,重新發(fā)布App,這樣IOS客戶端訪問的數(shù)據(jù)就是本地服務(wù)器中的數(shù)據(jù)。

      IP為本地服務(wù)器PC機的IP地址,比如http://192.168.1.101:8080/bkt/,然后再次編譯運行,即可訪問本地服務(wù)器。

      5 結(jié)論(Conclusion)

      通過“豹考通”軟件引入App開發(fā)流程,并對“豹考通”App進行相關(guān)介紹,最后介紹了服務(wù)器端局域網(wǎng)配置的基本知識,讓讀者通過本地服務(wù)器進行與客戶端的交互。

      參考文獻(References)

      [1] Levin B. B.Using Case Method in Teacher Education:The Role of Discussion and Experience in Teachers' Thinking about Cases[D].Unpublished Doctoral Dissertation,University of California-Berkeley,1996:22-24.

      [2] Laurence.E Lynn Jr.Teaching&Learning with Cases,A Guide book[M].Chatham House Pub,1999:98-161.

      [3] 鐘元生,高成珍.高校Android編程教材設(shè)計研究[J].計算機教育,2014(10):105-107.

      [4] 蔡建平.軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)[J].計算機教育,2011(20):102.

      [5] 李偉.基于工具軟件和案例開發(fā)的軟件工程教學(xué)方法[J].中國科教創(chuàng)新導(dǎo)刊,2014(01):152-153.

      作者簡介:

      鐘元生(1968-),男,博士,教授,博士生導(dǎo)師.研究領(lǐng)域:電子商務(wù),教育技術(shù).

      曹 權(quán)(1991-),男,碩士生.研究領(lǐng)域:移動學(xué)習(xí)與手機軟件開發(fā).

      猜你喜歡
      移動應(yīng)用實踐教學(xué)
      T學(xué)校公共設(shè)施便捷報修平臺的移動應(yīng)用研究
      東方教育(2016年18期)2017-01-16 16:42:44
      云計算環(huán)境下的微課移動云平臺設(shè)計
      大數(shù)據(jù)時代下免費手機軟件盈利模式探討
      基于APICloud的“校園健身達人”APP設(shè)計與實現(xiàn)
      茶學(xué)專業(yè)校企合作實踐教學(xué)探索
      考試周刊(2016年79期)2016-10-13 23:35:16
      《電氣工程畢業(yè)設(shè)計》 課程的教學(xué)設(shè)計
      考試周刊(2016年79期)2016-10-13 23:26:02
      研究型學(xué)習(xí)在傳熱學(xué)實踐教學(xué)中的應(yīng)用
      思想政治理論課實踐教學(xué)研究述評
      高職院校商務(wù)禮儀課程教學(xué)改革探索芻議
      《數(shù)據(jù)庫高級應(yīng)用》教學(xué)創(chuàng)新方法研究
      科技視界(2016年20期)2016-09-29 11:25:15
      池州市| 庐江县| 环江| 武夷山市| 加查县| 湟中县| 宁远县| 通化市| 赤水市| 长海县| 绍兴市| 奈曼旗| 湘潭县| 清徐县| 沂水县| 岳池县| 江津市| SHOW| 平湖市| 宁海县| 讷河市| 西林县| 南涧| 锡林郭勒盟| 张家口市| 平舆县| 台南县| 乌审旗| 纳雍县| 禹州市| 新河县| 龙川县| 舟山市| 淮滨县| 莱州市| 内丘县| 民和| 绥芬河市| 曲麻莱县| 丹江口市| 绍兴县|