王玉琴
(烏蘭察布醫學高等專科學校 內蒙古 烏蘭察布 012000)
近些年來,智能手機的普及促進了移動學習的研究與應用。不同的資源站點可以在移動設備上安裝所有的微課應用程序。有些學校比較落后,有些大學和小學擁有自己的資源網站,然而,學校資源應用程序默認不使用移動平臺。針對學生在移動終端上隨時隨地上網的學習需求,設計開發了基于iOS平臺的學習應用軟件。學生可在任何時間瀏覽學校現有的微課資源,觀看有關的微課視頻。
整體而言,它包含三個層:數據層、應用層和表示層,表示層將HTTP查詢發送到應用層,以顯示JSON數據作為應用層的應答;應用層主要是響應表示層的HTTP請求,處理業務邏輯,以及數據層的返回格式,然后在表示層處理。
從2007年起,蘋果IOS的操作系統就不斷改進。蘋果手機也是隨著IOS的發展而發展起來的,在蘋果手機中的應用越來越廣泛。與其它應用相比,IOS系統更安全,Apple獨特的設備和軟件使系統運行更平穩。與此同時,AppleSystem的界面也很漂亮,給用戶帶來了很好的體驗。它是移動設備上最受手機用戶歡迎的操作系統。
PHP是在不同服務器上廣泛使用的腳本語言。相對于其他技術,PHP是一個開放源碼的免費技術。支持開放數據庫連接的PHP,可以與MySQL、DB2和其他標準的數據庫交互式地使用,而且也支持數據到PHP的轉換。它們被廣泛用于應用界面開發,通常是PHP、MySQL的后臺開發。它是一個小型的、快速的數據庫系統。本系統支持標準的SQL查詢語言,可廣泛應用于中小型網站同步,并支持開發高級語言,如Java、C++和PHP。所以這個應用選擇了PHP+MySQL作為一個測試服務器來管理后臺數據和開發界面。
作為Java腳本的一個子組,JSON是一個小型的數據交換格式,它的數據格式獨立于開發語言,在多個語言間交換數據。這種數據交換格式廣泛應用于Android和IOS應用程序開發。JSON中主要有兩種數據結構。首先,數據結構由不同語言實現的密鑰對組成。其次,可以使用nsarray、vector、 Data和sequence實現此數據結構,因為JSON數據屬性可以被轉換成不同語言的數據類型,所以JSON數據可以被轉換成相應語言的數據格式。
微課以簡短、完整的課堂活動為主,圍繞課堂視頻和相關資源的有機結構展開演講、習題練習、難題、實驗作業等。根據這一概念,可以得出結論:“微型課堂”是一種短小而完整的教育活動。內容既有視頻,也有練習等。
主體以這些屬性為基礎。第一,微型視頻只需幾分鐘,視頻文件很小,可以通過網絡在移動設備上傳輸播放。該 APP不僅能播放微課程視頻,還能離線上傳和下載相關微課程學習資源。除針對微課特點設計相關功能外,APP還結合了學生的學習特點,從簡單與有趣入手。接口及功能設計非常簡單。這款應用主要涉及賬戶管理、視頻學習、在線咨詢和課后練習。登記和登錄也是基于方便和實用的原則。用戶只需用手機號注冊和登錄即可,也可以通過iPhone的指紋識別技術在APP上注冊指紋。在網上推薦使用QQ登錄,上課結束后的練習,使用游戲答題法。
通過上述分析,本項目主要實現了以下功能。(1)完成用戶注冊和帳戶管理。(2)用學生身份證注冊功能將學生手機號碼綁定為萬能鑰匙。(3)用學生卡或者指紋密碼登錄。(4)聯機下載視頻學習功能,也可在本地播放。(5)課余訓練功能是一種考試游戲,課后訓練成績可為教師評價學生總體表現提供參考。(6)網上咨詢可通過第三方騰訊QQ接口實現在線溝通。
通過對項目需求的分析,我們精心設計了一個基于 IOS平臺的小型課程視頻學習系統。圖1展示了系統架構。

圖1 系統結構圖
本系統主要包括登錄、注冊、網站、視頻分類、視頻練習、個人中心等模塊。登陸登記模塊為師生設置了兩個登陸界面。包括用戶登陸、密碼修改、密碼查詢。首頁模塊包括啟動應用程序,載入和顯示視頻列表。其中包括視頻的分類、播放、下載、收集、分享、評論等功能。采用左側導航設計,頁面分類清晰,使用方便,能夠很容易地找到并查看各種任務。錄像練習模塊包括觀看錄像和練習。使用者可通過練習,學習如何掌握知識,熟悉課程進程和學習計劃。個人中心模塊包含了個人信息、收藏、歷史記錄、安全升級、系統設置和反饋等。主要用來記錄觀看視頻、運動、賬戶信息以及最后使用時間。這一部分的主要內容是用清晰而簡潔的列表樣式和列表設計顯示模塊,使用戶能夠一目了然。
作為應用程序的核心,MVC框架(Model-View-Controller)用于整個應用程序客戶端,它將業務邏輯、數據和接口分離開來。要改進界面和用戶交互,無需重新檢查業務邏輯和數據模型,這些都由應用程序的輸入、處理和輸出表示。這個方法用來處理應用程序需要的數據,該視圖代表一個應用程序的單個數據格式,也就是應用程序的數據顯示。通過uilabel、uitext、uibutton、uicollectionview和其他IOS提供的控件,可以為需要的應用程序數據實現頁面布局。通常考慮美觀,功能和效率等因素。代表了用戶交互和應用程序邏輯的通用控制。
通常使用的控制器有uivi-EW控制器、非發送控制器、輸出控制器和uiviewcontroller,這些都是用來控制功能模塊或與用戶交互的。這個應用程序使用了Uinavgate控制器和輸出控制器,包括四個主要模塊:首頁、分類、練習、登錄、注冊模塊。uitarbarcontroller和nondepartmentcontroller負責控制和管理這兩個部分,對各個功能模塊進行控制和跳轉,見圖2。

圖2 整體架構
這個應用程序的主頁主要用來查看用戶可以瀏覽的課程,包括我的課程、最新的課程、推薦的課程等,這些內容會隨著背景數據的改變而改變,但是首頁會被修正。IOS提供了重用機制,以避免應用程序重復地為不同數據創建可見的對象。分析格式屬性,并通過以上分析,充分利用uicollectionview的復用功能來顯示所使用的視頻資源。分類器是用來分類和顯示系統中的所有視頻資源的。在IOS環境下,通過可配置的視圖可以實現該模塊,并且表視圖是一個典型的多路控制。這個視頻列表是由一個獨立的單元組成,通過這個界面分配的數據可以在同一時間顯示不同的視頻信息,包括最近的數據加載或者重新加載數據。左欄中使用了自定義視圖,可以通過選擇不同的標簽來識別不同類型的自然視頻資源。
錄像回放是最重要的應用功能。這一頁用 avfoundation框架中的avplayer類定義了一個玩家。評論區也同時設在該界面上,使用者可以相互評論教學,詢問問題。
將我的緩存添加到下載中,方便以后查看,還可以添加到我的收藏中。
在IOS應用開發中,數據請求是非常重要的。無數據的應用程序只有一個shell。MySQL數據庫存儲應用程序數據。要訪問數據,使用PHP技術你可以查詢數據庫,把它轉換成JSON數據格式。JSON數據格式提供了所有數據接口,可以通過網絡進行下載或查詢。需要時,數據庫中使用的圖像、問題、答案和其他信息將被轉換成JSON文件格式。此格式的數據采用鍵對表示[1]。通過網絡,應用程序的接口數據可以接收JSON數據內容用于實現接口表示。單獨的內容和獨立的界面布局用于閱讀某些界面內容,以確保目錄和服務器頁面數據與客戶站點數據的一致性,同時接受相對獨立的數據,這對于數據和接口的傳輸具有實際意義。
服務器中存儲的數據,客戶機必須向服務器發送 HTTP請求以供使用。對應用程序而言,數據采集的類型和次序會影響數據采集的速度,而整個應用程序的數據包括文本數據、圖像數據和視頻數據。采用異步郵政數據請求模式以滿足需求[2]。多任務處理是在異步需求過程中伴隨的,例如數據需求和采集數據的顯示。這個問題必須用線程來解決。每一個線程每次只能處理一個任務。當多任務同時執行時,必須使用多線程。要求提供資料是一種耗費時間的活動。包括伺服器的反應速度、網路延遲及其他問題,在資料要求完成前,必須在使用者介面顯示。這是一種非常糟糕的體驗,如果用戶在此期間沒有得到任何回應。當用戶交互操作放在主線程時,數據請求操作放在線程上,以確保應用程序及時響應用戶的操作[3]。將多線程技術GCD用于GCD的多任務處理是Apple針對多核計算的一種解決方案,它基于C語言自動增加GCD處理器的數量。該工具負責創建線程和任務調度。System Administrations.GCD提供一個隊列,用于在成功的數據請求之后,在應用程序中管理多個任務,分析服務器從JSON返回的數據,并更新UI界面以顯示結果。
在實現了應用程序之后,必須通過模擬器或者實機 can測試系統來測試。Xcode提供了iPhone模擬器的不同版本。要確保應用程序與每種iPhone的版本都是與之兼容的,根據需要選用屏幕尺寸。另外,通過實機測試,可以更好地反映應用程序在實機上的運行性能。這個程序已經在iphone6和iphone6 plus上測試過了。為了注冊App ID并在測試前申請開發人員證書,真正的測試系統需要開發人員證書。體系測試主要是功能的測試與性能的測試[4]。
在微課堂視頻學習應用功能設計的基礎上,選擇了以下幾個主要功能:用戶注冊和登錄功能,根據手機驗證碼進行用戶注冊;用戶可以使用他們的手機號碼和密碼在成功注冊之后進行注冊。成功登入移動電話號碼后,系統還可以覆蓋登入碼的使用,初始設計必須在測試服務器上進行,通過應用程序可以讀取多種微講座視頻及相關練習視頻,App的視頻播放和練習功能也能正常使用。可播放、可停止、可快進,通過練習可實現選課及判錯[5]。
當確定應用程序已經正確地運行并且實現了設計功能后,最后的步驟是測試它的性能。通過運行Analyze Performance Test Tool,沒有出現內存泄漏、空指針、對象引用、值映射等錯誤。Instruments Publishing有多個動態分析和跟蹤內存的跟蹤模塊,存儲器可動態地分析和跟蹤。對CPU和文件系統應用程序的代碼進行了優化和改進,并對應用程序的性能進行了測試,包括負載和壓力測試。其目標是檢查是否能夠實現用戶推薦的性能指標,識別系統性能瓶頸,進一步優化系統。
微課程的視頻學習應用具有很高的適用性和移植性。基于IOS的微課程平臺設計,為學習者提供了一個移動的學習平臺,滿足了個體化、交互式、可調節的學習需求。