999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android 的校園應用軟件開發與實現

2014-01-21 00:52:10李寧寧王遠飛
電子設計工程 2014年20期
關鍵詞:數據庫校園信息

李寧寧,王遠飛,張 冉

(1.大連東軟信息學院 遼寧 大連 116023;2.大連理工大學 遼寧 大連 116023)

隨著網絡與通信技術的不斷發展,當代大學生的校園生活也在發生著時代性的變化。當前流行的軟件、游戲和電子產品等,都能在校園里得到及時的關注和反饋;同時,大學生也能及時發現身邊所需的應用,從而著手進行開發和推廣。而智能手機和網絡的迅速發展和普及,使得校園應用的移動化勢必成為未來的趨勢。

Android作為Google移動互聯網戰略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息”這一企業目標的實現[1],它是一個真正意義上的開放性移動設備綜合平臺,包括操作系統、用戶界面、中間件和應用程序,擁有移動電話工作所需的全部軟件,同時其開放性保證該平臺不存在任何阻礙移動產業創新的專有權障礙[2]。為了探索校園學習與生活的各種移動應用開發思路與過程,本文以大連東軟信息學院的校園應用為背景,基于開放的Android技術,實現了手機端的一系列應用軟件,并在校園內進行推廣,現已擁有一定的使用量和客戶群。在此基礎上,搭建了服務器端+客戶端的Android應用開發架構模式,開發結構類似的應用軟件,從而縮短開發流程。

本文介紹了使用服務器端+客戶端結構,在Android系統上進行校園軟件的開發與設計——使用Android平臺推出的SDK和Eclipse開發環境[3]實現了校園飲食軟件、東軟新聞客戶端、校園留言板等校園應用,方便學生在手機端隨時隨地獲得校園信息,感受大學生活的便捷和學以致用的樂趣。以上應用已在模擬器和真機上通過測試。

1 系統分析和關鍵技術

當前的校園移動應用通常是針對于學生手機端的信息發布和交流,而信息數據是需要通過網絡來進行獲取。也就是說開發過程中,應包括信息提供端和手機接收端,即服務器端和客戶端兩部分:服務器端負責提供數據和維護數據,客戶端負責信息的發布和顯示,服務器端和客戶端的紐帶是網絡連接。該系統的物理架構主要由后臺數據庫服務器、Web服務器、無線網絡、Android校園客戶端等部分組成。客戶端(主要由學生使用),通過無線網絡訪問后臺服務器,相關數據信息由后臺數據庫服務器提供,客戶端的部分數據存儲使用SQLite數據庫,應該保持客戶端的數據和服務器數據庫中的數據一致。運行過程中要保證Web服務器始終處于開啟狀態。圖1為校園應用的系統物理架構。

圖1 系統物理架構Fig.1 System physical architecture

我校的校園移動應用系統Web服務器端采用MyEclipse+Tomcat+MySQL的組合進行開發,采用Struts2[4]框架實現了數據維護。客戶端建立了Android SDK+Java JDK+Eclipse的開發環境,獲取服務器端的數據,將其加載到Android應用程序中,發布到手機客戶端。用戶只需要到校園電子市場下載客戶端軟件(.apk文件),安裝至手機即可。Web服務器和數據庫服務器由開發者在校園內網服務器中進行搭建和發布,并保持長期運行狀態。

2 設計思路

針對上文的系統體系結構,我們將校園應用軟件的開發分成服務器端設計、數據存儲、網絡傳輸和客戶端設計4部分。下面我們詳細介紹每一部分的作用和開發思路。

2.1 服務器端設計

服務器設計采用Struts2框架,并采用MVC三層結構處理。由于數據信息不是很大,系統采用的是MySQL數據庫。頁面通過JSP技術,將需要維護的數據信息以表格的形式列出,提供增加、刪除、修改的鏈接即可。通常,除了基本的文字信息外,也包含圖片信息。圖片信息是統一放在服務器的指定目錄中,數據庫中存儲其對應的地址。

服務器端另一個很重要的作用是提供JSON(JavaScript Object Notation)格式的數據,并返回給客戶端。JSON是一種輕量級的數據交換格式,能夠替代XML的工作。在可讀性、可擴展性、編碼以及解碼等方面,JSON和XML語言相當,甚至是有更強的優勢。在Java平臺上可用的JSON類庫較多,本系統選擇的是Google的Gson類庫。

2.2 數據存儲

數據存儲涉及到兩部分。服務器端通過MySQL數據庫存儲信息,同時,在客戶端用SQLite作為本地緩存,擁有和服務器端完全相同的表結構。在不能及時聯網獲得數據時,可以通過本地數據庫得到最近的數據內容,從而保證了軟件的順暢使用;在聯網后,檢查本地數據庫內容是否與網絡數據庫內容一致,如果不一致,自動更新,從而保證數據的及時性和準確性。

2.3 網絡傳輸

Android已經成功地集成了HttpClient[5],客戶端通過使用Apache的HttpClient發送GET/POST請求即可正常訪問資源,如果需要發送請求參數,可以調用setParams()方法來添加,最后調用HttpResponse的getEntity()方法可獲得服務器的響應內容。當然,在整個運行過程中,要保證客戶端和服務器端都處于聯網狀態。

2.4 客戶端設計

客戶端設計主要是通過網絡獲取服務器數據,解析JSON格式數據,然后以用戶的角度進行信息提供。為了吸引更多的使用者,美工是客戶端設計的重要因素。通過動態設置 ListView 的 顏 色 , 借 用 GridView,Gallery,ImageButton,EditText等控件,配用各種背景元素呈現出具有特色風格的界面。

3 系統功能及實現

該系列校園應用軟件的實現包括客戶端Android界面程序實現和后端服務器。它們采用服務器端收集和匯總信息,客戶端進行信息的獲取、呈現以及反饋。

3.1 服務器端功能

服務器端采用Struts2框架編寫了比較通用的代碼,完成JSON格式的數據傳輸;針對不同的校園應用,有不同的數據庫設計,在服務器端的數據庫操作代碼,完成通用功能的編寫,如數據庫的創建、關閉、表創建、版本升級等,為了簡化數據庫部分的操作,我們將數據庫表連接參數、表名、列名等通過XML寫入。另外,我們也完成了Excel文件導入導出、圖片上傳、文件讀寫等操作。其中項目源代碼部分截圖如圖2所示。

圖2 服務器端部分截圖Fig.2 Screenshot of server codes

3.2 客戶端功能實現

在客戶端,完成了網絡數據獲取的類,只需要修改服務器地址即可連接到不同的服務器上。客戶端變動較大,針對不同的應用,利用控件做具體的UI設計,并將服務器端提供的數據以清晰、方便的形式展現出來。下面從校園飲食軟件、校園留言板和東軟新聞客戶端3個應用程序的客戶端分別進行介紹。

3.2.1 校園飲食軟件

就餐飲食是大學生日常生活中必不可少的一部分。該軟件將各個食堂的飯菜做了菜譜匯總,提供出最真實、最客觀的相關信息;同時收集同學們的反饋信息,及時與校方溝通。另外,還允許商家進行拍照上傳,在后臺,管理人員將針對這些上傳的圖片進行整理,選出更恰當的圖片對當前信息進行更新。

1)菜譜列表功能

為了推廣菜譜軟件的使用,用戶不需要注冊和登錄可直接進入店鋪列表,進入店鋪后,系統以圖片的形式顯示該店鋪的食譜,用戶根據自己的口味進行選擇。店鋪列表通過ListView控件進行實現。店鋪信息由客戶端向后臺服務器請求,通過JSON格式封裝數據,在客戶端收到數據后,對其進行解析,然后通過數據適配器,將數據添加到ListView中。

2)訂餐

訂餐是飲食軟件中不可或缺的一部分。本應用在用戶選擇菜譜的同時,只需一鍵即可直接訂餐(前提是本店鋪提供訂餐和電話號碼)。訂餐的實現是借助于Android手機的電話撥打功能,獲取所在店鋪的電話號碼,直接調用手機自帶打電話應用程序。

3)搖一搖功能

搖一搖功能是針對用戶在就餐無從選擇時,可以通過該功能來輔助完成。在搖一搖界面中用戶可以通過點擊按鈕或晃動手機的方式讓系統隨機選菜,該功能的實現主要由以下三個方面組成:聲音管理器(SoundManager)、震動器(Vibrator)與加速傳感器(SensorManager)。具體實現過程如下:

通過注冊和監聽SensorEventListener事件,并重載onSensorChanged方法來獲取手機加速度的變化,從而決策是否選菜。當加速度超過了預先設定的閥值SPEED_SHRESHOLD則回調方法onShake(),通知應用完成了一次搖晃操作,在主函數中同時啟動SoundManager的playSound()與Vibrator類的vibrate(500)方法,播放設置的聲音并震動0.5s,最后從數據庫中隨機選出一道菜推薦給用戶。另外,需要增加震動的權限。

其中,該應用的部分截圖效果如圖3~5所示。

3.2.2 校園留言板

該軟件的功能比較簡單,即實現校園的手機BBS交流平臺。讓學生時刻可以交流和通訊,方便了校園生活。

1)留言列表

圖3 店鋪列表界面Fig.3 Interface of store list

圖4 菜譜列表界面Fig.4 Interface of menu list

圖5 本期推薦界面Fig.5 Interface of current recommendation

該功能的界面主要是利用ListView組件進行設計的,因為ListView的數據來源靈活并可以實現自身的樣式定制。ListView中的列表數據是通過適配器將其映射到組件中。列表 的 適 配 器 類 型 有 ArrayAdapter、SimpleAdapter和SimpleCursorAdapter3種,也可以通過繼承BaseAdapter類自己定義適配器。本系統則采用的自定義的適配器類方式。編程人員通過實現getView方法為其第二個參數convertView進行賦值,在相應的控件中獲取服務器上的數據內容,實現自己定義的顯示效果,如圖6所示。

2)留言板菜單

圖6 校園留言板列表Fig.6 List of campus message board

由于留言板功能比較簡潔,所需功能比較集中。所以其他功能主要是靠菜單與用戶進行交互,如圖7所示。東軟貼吧是打開一個新的Activity頁面,頁面中通過WebView控件加載貼吧的內容;刷新是更新貼吧內容;話題征集與反饋,是借助于友盟實現的;開機動畫是跳轉到開機頁面;關于我們進入開發團隊介紹頁面;下載二維碼是通過聯網獲取服務器上的圖片。

圖7 校園留言板菜單Fig.7 Menus of campus message board

3.2.3 東軟新聞客戶端

該應用是將傳統的網頁新聞移植到移動應用客戶端,讓學生可以隨時隨地獲得校園的最新通知和信息。

1)新聞內容列表

首次進入客戶端,需要同步網絡數據,更新成功后,可以進入圖8的界面效果。點擊任意的Item項則可以閱讀具體的新聞內容頁(如圖9所示),也可以進行相應的跟帖。該新聞內容均來自于服務器端的新聞發布,通過JSON數據格式傳輸。由于新聞內容可能較多,通過繼承ListView類,實現了一個可以下拉更新的子類。

新聞客戶端的信息發布,除了文字內容還有圖片信息。圖片信息的獲取,是通過數據流的形式從網絡上獲取,并存儲到本機的SD卡中的指定文件夾中,然后應用程序讀取本地的圖片信息利用ImageView、Gallery等控件進行顯示。

2)附加功能

圖8 進入首頁Fig.8 Homepage

圖9 新聞內容頁Fig.9 News content

該應用還嵌入了百度貼吧的東軟校園貼吧內容(如圖10所示)以及天氣預報的功能。貼吧是通過聯網,利用WebView控件讀取URL地址[7],獲取網絡上的內容;天氣預報是通過程序新建一個線程,讀取天氣信息,并及時更新至應用中。

圖10 東軟校園貼吧Fig.10 Post bar for Neusoft campus

4 結論

為了給學生提供及時準確的就餐和新聞信息,公共開放的交流平臺,增加校園生活的樂趣,我們設計和實現了若干校園應用軟件。通過這些軟件的開發,師生共同探討了校園軟件的設計和實現過程,總結了校園軟件的設計模式和結構。該結構開拓了校園移動軟件應用的設計思路,為校園實現信息現代化邁出了第一步,從而進一步豐富了當地大學生的校園生活和學習。但由于該類軟件的運行和維護,均需要校園服務器的支持,并且局限于校園內網,我們正在將服務端代碼遷移至以百度云環境(BAE),利用其提供的云服務、云數據庫等完成后臺數據存儲操作,降低維護的成本,并保證網絡的暢通。從而即將推出百度云+Android客戶端的開發結構。

[1]楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010.

[2]顧聰,陳益強,劉軍發,等.基于Android平臺的室內LBS系統設計與實現[J].計算機工程與設計,2012,33(1):396-400.GU Cong,CHEN Yi-qiang,LIU Jun-fa,et al.Design of indoor LBS system based on Android platform and its implementation[J].Computer Engineering and Design,2012 33(1):396-400.

[3]李寧寧,鄭純軍.基于Android平臺網絡相冊的設計與實現[J].電視技術,2013,37(15):71-73.LI Ning-ning,ZHENG Chun-jun.Design and implementation of web album based on Android[J].Video Engineering,2013,37(15):71-73.

[4]范立峰,林果園.Java Web程序設計教程[M].北京:人民郵電出版社,2010.

[5]李剛.瘋狂Android講義[M].北京:電子工業出版社,2011.

[6]王向輝,張國印,沈潔.Android應用程序開發[M].北京:清華大學出版社,2010.

[7]劉一田,孔震,李萌.Web應用中故障檢測機制的研究與改進[J].陜西電力,2012(11):66-69.LIU Yi-tian,KONG Zhen,LI Meng.Research and improvement of failure detection mechanism for Web applications[J].Shaanxi Electric Power,2012(11):66-69.

猜你喜歡
數據庫校園信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
開心校園
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
爆笑校園
主站蜘蛛池模板: 91网在线| 97国产成人无码精品久久久| 国内老司机精品视频在线播出| 日韩高清一区 | 国产精品视频免费网站| 中文无码影院| 无码区日韩专区免费系列| 岛国精品一区免费视频在线观看 | 午夜福利在线观看入口| 免费看美女自慰的网站| 国产高颜值露脸在线观看| 狠狠v日韩v欧美v| 狠狠色综合久久狠狠色综合| 日韩小视频在线观看| 91免费国产在线观看尤物| 中文字幕资源站| 国产精品福利在线观看无码卡| 国产精品刺激对白在线| 成人午夜天| 国产精品综合色区在线观看| 亚洲一级毛片在线观播放| 亚洲日韩AV无码精品| 国产va欧美va在线观看| 欧美激情网址| 精品一区二区无码av| 青青青亚洲精品国产| 国产精品久久自在自线观看| 91在线激情在线观看| 国产微拍精品| 伊在人亚洲香蕉精品播放| 国产男女免费完整版视频| 久久精品中文字幕少妇| 日本一区二区三区精品AⅤ| 精品欧美一区二区三区久久久| 日韩毛片免费观看| 亚洲国产欧洲精品路线久久| 精品午夜国产福利观看| 亚洲日韩精品无码专区| 91九色国产在线| 欧美69视频在线| 特级做a爰片毛片免费69| 欧美一区二区三区不卡免费| 午夜国产不卡在线观看视频| 国产主播喷水| 亚洲最大综合网| 精品少妇人妻一区二区| 在线观看国产黄色| 国产精品亚洲片在线va| 91丨九色丨首页在线播放| 91精品国产91久久久久久三级| 国产激情无码一区二区免费| 欧美在线导航| 亚洲男人的天堂在线观看| 无码精品国产dvd在线观看9久| 亚洲天堂日韩av电影| 亚洲Av激情网五月天| 欧美无专区| 欧美日韩高清| 波多野结衣一区二区三区AV| 久一在线视频| 久久久久青草大香线综合精品| 午夜电影在线观看国产1区| 国产凹凸一区在线观看视频| 四虎在线高清无码| 国产色婷婷视频在线观看| 国产精品男人的天堂| 波多野结衣第一页| 九九九九热精品视频| 免费无码AV片在线观看中文| 无码日韩人妻精品久久蜜桃| 国产成人禁片在线观看| 97精品久久久大香线焦| 精品第一国产综合精品Aⅴ| 亚洲精品在线观看91| 欧美a在线视频| 大香网伊人久久综合网2020| A级毛片高清免费视频就| 亚洲制服丝袜第一页| 天天激情综合| 国产福利大秀91| 国产成人高清精品免费软件| 日韩乱码免费一区二区三区|