摘 要:在汽車保有量不斷增加的情況下,設(shè)計滿足汽車用戶需求的軟件顯得十分必要。本軟件采用Eclipse作為開發(fā)工具,以安卓操作系統(tǒng)作為顯示平臺。用戶可以足不出車,在自己的Android手機(jī)上就可以查看要查詢的汽車信息,方便對汽車相關(guān)信息的查詢,提高了工作效率,節(jié)省了時間,方便了汽車出行。
關(guān)鍵詞:車助理;Android;保險;WebService
中圖分類號:TP311.52
1 概述
1.1 本文研究的目的及意義
在信息化的今天,使用安卓手機(jī)已經(jīng)成為我們的一種生活方式,一個巨大的信息庫。而Android軟件的功能更是得到了很大的擴(kuò)充,Android軟件的用戶已經(jīng)擴(kuò)展到各行各業(yè)。通過Android系統(tǒng)來和別人交流經(jīng)驗(yàn)、開展話題、發(fā)表文章、上傳和轉(zhuǎn)帖圖片、音樂、flash等,給愛好分享者提供了一個互相交流的空間。在這里能夠找到你所需要的各種信息。越來越多的人通過使用安卓軟件的各種應(yīng)用獲取了自己想要的信息,實(shí)現(xiàn)了信息共享,五花八門的應(yīng)用也便利了我們的生活。
1.2 本文的工作
通過Android車助理系統(tǒng)提供給汽車用戶一個平臺,在Android環(huán)境下,汽車用戶可以進(jìn)行汽車價格計算,汽車保險計算,查詢汽車配置信息,查詢二手車信息,查詢天氣預(yù)報,瀏覽汽車資訊,查詢車險知識,查詢出險流程,電話服務(wù)等等。
Android車助理采用C/S結(jié)構(gòu),用戶界面完全通過客戶端來實(shí)現(xiàn),有一小部分事務(wù)處理需要聯(lián)接互聯(lián)網(wǎng)實(shí)現(xiàn),但是主要事務(wù)處理都是在客戶端實(shí)現(xiàn),完成系統(tǒng)的基本功能。
2 開發(fā)平臺與主要技術(shù)
2.1 開發(fā)平臺
Eclipse:是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。
SDK:Software Development Kit 的縮寫,中文即“軟件開發(fā)工具包”。SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合,一般而言SDK即開發(fā)Windows平臺下的應(yīng)用程序所使用的SDK。它可以簡單的為某個程序設(shè)計語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。
ADT:目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。
Android模擬器:Android SDK自帶一個移動模擬器。它是一個可以運(yùn)行在你電腦上的虛擬設(shè)備。Android模擬器可以讓你不需使用物理設(shè)備即可預(yù)覽、開發(fā)和測試Android應(yīng)用程序。它能夠模擬除了接聽和撥打電話外的所有移動設(shè)備上的典型功能和行為。還提供了大量的導(dǎo)航和控制鍵,你可以通過鼠標(biāo)或鍵盤點(diǎn)擊這些按鍵來為你的應(yīng)用程序產(chǎn)生事件。同時它還有一個屏幕用于顯示Android自帶的應(yīng)用程序和你自己的應(yīng)用程序。
2.2 主要技術(shù)
本設(shè)計使用的主要技術(shù)是SSH—Struts+Spring+Hibernate。這種技術(shù)的優(yōu)點(diǎn)是功能完整、強(qiáng)大,已經(jīng)使用了很多年。
3 需求分析
3.1 項(xiàng)目背景
21世紀(jì)是以網(wǎng)絡(luò)為核心的信息時代,網(wǎng)絡(luò)已經(jīng)成為信息社會的命脈和全球經(jīng)濟(jì)發(fā)展的重要基礎(chǔ)。有線電視網(wǎng)絡(luò)、電信網(wǎng)絡(luò)和計算機(jī)網(wǎng)絡(luò)的“三網(wǎng)合一”正在被推進(jìn),為了實(shí)現(xiàn)在電信網(wǎng)絡(luò)與計算機(jī)網(wǎng)絡(luò)之間的通信和資源共享,迎接IT“移動時代”的到來,Android搭建了電信網(wǎng)絡(luò)與計算機(jī)網(wǎng)絡(luò)溝通的平臺。本文首先給出了系統(tǒng)研究背景,對當(dāng)前手機(jī)操作系統(tǒng)發(fā)展做了簡單的介紹。進(jìn)而詳細(xì)的分析了Android的特征、架構(gòu)、以及Android應(yīng)用的構(gòu)成和工作機(jī)制,并將Android與其他手機(jī)操作系統(tǒng)進(jìn)行了比較,說明了Android在手機(jī)操作系統(tǒng)中的優(yōu)勢。
3.2 功能概述
本軟件使用Android語言進(jìn)行開發(fā),基于Android平臺,是針對汽車用戶所開發(fā)的汽車信息查詢系統(tǒng),實(shí)現(xiàn)對汽車價格的計算,汽車保險的計算,天氣情況的查詢,二手車信息的查詢以及各種車險知識的介紹。系統(tǒng)的功能結(jié)構(gòu)圖1如下:
系統(tǒng)各功能描述如下:
(1)汽車價格計算:用戶輸入待計算的汽車價格,點(diǎn)擊查詢按鈕,輸出查詢結(jié)果。
(2)汽車保險計算:用戶輸入待計算保險的汽車價格,選擇相應(yīng)的條件,點(diǎn)擊查詢按鈕,輸出保險的查詢結(jié)果。
(3)汽車配置信息:用戶選擇待查詢的汽車型號,點(diǎn)擊汽車型號按鈕,輸出汽車配置信息的查詢結(jié)果。
(4)二手車信息:用戶選擇待查詢的二手車型號,點(diǎn)擊二手車型號按鈕,輸出二手車配置信息的查詢結(jié)果。
(5)天氣預(yù)報:用戶輸入待查詢天氣的城市,點(diǎn)擊查詢按鈕,輸出城市天氣的查詢結(jié)果。
(6)汽車資訊:用戶查詢當(dāng)前汽車的資訊新聞信息。
(7)車險知識:用戶查詢汽車的保險理賠知識。
(8)出險流程:用戶查詢汽車保險的出險流程。
(9)電話服務(wù):提供一鍵撥打關(guān)于汽車服務(wù)的相關(guān)電話。
3.3 性能需求
手機(jī)操作系統(tǒng):Android2.3.3及以上版本。
Java虛擬機(jī)版本:Windows下或Linux下JDK1.6以上版本。
Android-sdk-windows:20.0.3及以上版本。
4 詳細(xì)設(shè)計
4.1 結(jié)構(gòu)設(shè)計
結(jié)構(gòu)設(shè)計對一個系統(tǒng)的設(shè)計來說,是尤為重要的。好的設(shè)計會給系統(tǒng)的開發(fā)帶來極大的方便,使系統(tǒng)開發(fā)有事半功倍的效果,同時好的設(shè)計會減少數(shù)據(jù)的冗余,提高系統(tǒng)的效率。
Android車助理軟件使用了適合Android手機(jī)用戶使用的軟件布局,采用3*3的九格布局模式,每個功能模塊都配上小圖標(biāo),使用戶一目了然。
Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和linux核心層。
4.2 搭建運(yùn)行環(huán)境
第一步:下載JDK,Eclipse ,SDK下載,ADT。
第二步:首先安裝JDK,然后配置環(huán)境變量:
(1)首先點(diǎn)擊我的電腦-屬性-高級-環(huán)境變量
(2)點(diǎn)擊系統(tǒng)變量-新建(變量名 變量值)
√JAVA_HOME:JDK的安裝路徑 如C:\Program Files\Java\jdk1.6.0_21
CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(3)在CMD中輸入java,javac, java -version命令如果都能出現(xiàn)信息說明安裝成功。
第三步:安裝Eclipse。
第四步:安裝ADT,打開Eclipse,在導(dǎo)航菜單中選擇Help-Install New Software。在work with中,輸入 https://dl-ssl.google.com/Android/eclipse/ ADD 然后輸入name:隨便取個有意義的,都選中安裝,完畢后重啟Eclipse,在Eclipse里配置SDK路徑,選擇Windows->Preferences->Android,選擇Android SDK的位置就OK了。
第五步:創(chuàng)建AVD(Android Virtual Device),打開Eclipse,選擇windows-Android SDK and AVD Manager,開始沒有AVD需要點(diǎn)擊new 然后出現(xiàn)圖中的對話框,然后輸入name:取個有意義點(diǎn)的后面要用到,size輸入大小,target選擇一個SDK platform(步驟3安裝過的),其他默認(rèn)就可以了。然后點(diǎn)擊create avd就OK。
第六步:啟動模擬器,用CMD進(jìn)入到SDK的tool目錄下,輸入命令:emulator -avd第五步的name名字。
4.3 安裝方法和步驟
(1)把.apk文件拖到手機(jī)里后,找到你在手機(jī)里的存放目錄,直接點(diǎn)就會提示安裝,安裝完成可以使用軟件。
(2)通過第三方軟件,在手機(jī)與電腦連接后,在電腦端直接下載并安裝到的手機(jī),只需要在電腦上點(diǎn)擊“安裝”,就可以完成“下載”并自動“安裝”到手機(jī)的過程,而不需要擺弄手機(jī)。這類軟件常用的有:豌豆莢,91手機(jī)助手,360手機(jī)助手。
(3)安卓手機(jī)連接電腦,打開應(yīng)用程序管理的USB調(diào)試模式運(yùn)行軟件。
5 項(xiàng)目創(chuàng)新點(diǎn)
5.1 實(shí)時提供天氣預(yù)報服務(wù)
首先,點(diǎn)擊出行天氣的按鈕,用戶可以實(shí)時查詢?nèi)珖鱾€城市的天氣預(yù)報信息。在輸入框輸入城市名稱,點(diǎn)擊查詢按鈕,就可以查詢需要知道的城市天氣預(yù)報了。在代碼中,通過傳入的接受者(from)和發(fā)送內(nèi)容(content)參數(shù),來顯示天氣預(yù)報的內(nèi)容。這是Android手機(jī)的一個基本的功能。
5.2 退出系統(tǒng)時查殺進(jìn)程
在一個項(xiàng)目中,要退出Android程序,試了restartPackage、 killBackgroundProcesses 、通過異常并在Application的子類中重新注冊Thread的 Thread.UncaughtExceptionHandler接口+異常方式等等,都沒有效果。能不能自己控制程序創(chuàng)建的activity呢?當(dāng)然可以。本項(xiàng)目中退出時結(jié)束所有線程的方法關(guān)鍵代碼如下:
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
HttpProtocolParams.setUseExpectContinue(params, true);
SchemeRegistry schReg = new SchemeRegistry();
schReg.register(new Scheme(\"http\", PlainSocketFactory.getSocketFactory(), 80));
schReg.register(new Scheme(\"https\", SSLSocketFactory.getSocketFactory(), 443));
//解決多線程訪問安全問題
ClientConnectionManager connectionManager = new ThreadSafeClientConnManager(params, schReg);
return new DefaultHttpClient(connectionManager, params);
這樣我們的Activity都繼承AbstractTemplateActivity ,我們就不需要在每個Activity中寫諸如
ApplicationEx application = (ApplicationEx)this.getApplication();
application.getActivityManager().pushActivity(this) 等相關(guān)代碼了。
6 測試
測試是一個系統(tǒng)開發(fā)過程的重要環(huán)節(jié),并越來越受到人們的重視;隨著系統(tǒng)開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找程序中的BUG為目的的測試工作顯得更加困難。然而,為了盡可能多地發(fā)現(xiàn)程序中的BUG,寫出高質(zhì)量的程序產(chǎn)品,加強(qiáng)對測試工作的組織和管理就顯得尤為重要。
為了實(shí)現(xiàn)用戶更好的體驗(yàn),系統(tǒng)性能測試是本軟件測試的重點(diǎn),下表1是系統(tǒng)性能的測試用例:
參考文獻(xiàn):
[1]劉帥旗.Android移動應(yīng)用開發(fā)從入門到精通[M].中國鐵道出版社,2012:90-94.
[2](美)Lauren Darcey, Shane Conder.Android應(yīng)用開發(fā)入門經(jīng)典[M].人民郵電出版社,2012:126-129.
作者單位:南京交通職業(yè)技術(shù)學(xué)院 電子信息工程學(xué)院,南京 210000