【正文】
................................................................... 38 致謝 ........................................................................................................................................................ 39第一章 緒論 研究背景及研究意義 研究背景 由于人們對于信息的隨時隨地的訪問需求,移動技術得到了飛速的發(fā)展。本文將在對 Android 移動平臺的分析和研究的基礎上,設計并實現(xiàn)基于 Android 的移動警務查詢系統(tǒng)。當此之際,公安部提出了“科技強警”的戰(zhàn)略。通過先進的無線通訊網(wǎng)絡和無線終端來隨時隨地獲取警務信息,已被列為“科技強警”的一個重要組成部分。 關鍵詞:移動警務;Android;科技強警 Design And Implementation of Mobile Police Inquiry System Based on AndroidAbstract In the highspeed information era, any field needs to gain valuable information timely. At the same time, the Public Security Department made a policy decision: “Scienceamp。傳統(tǒng)的公安系統(tǒng)是以固定專網(wǎng)的形式訪問的。因此, 這些工作特點和性質決定了他們需要在非辦公環(huán)境下進行隨時隨地訪問公安專 網(wǎng)的需求。然而,移動系統(tǒng)的開發(fā)和常規(guī)的基于 PC 的軟件開發(fā)還是有很大的區(qū)別。同時,Android 出自 Google 之手,自然,Google 已將其強大的 Web 訪問和搜索功能內嵌進了 Android 操作系統(tǒng)中。通 過將公安專網(wǎng)現(xiàn)有的業(yè)務邏輯封裝成 Web 服務,在無線終端,通過無線通信技 術,以特定的 Web 服務對應的協(xié)議進行訪問。 研究意義 通過該移動警務查詢系統(tǒng)的研究與開發(fā),將率先模擬實現(xiàn)移動警務查詢系統(tǒng)對于公安干警的日常工作的實際意義。雖然有相關資料,但很多并沒有 給出系統(tǒng)而全面的分析和設計。 選擇基于 Android 移動平臺來設計并實現(xiàn)移動警務系統(tǒng),有著豐富的資料和技術 支持。 4)采用面向對象的技術分析設計移動警務查詢系統(tǒng)。 第三章著重討論了移動警務查詢系統(tǒng)的面向對象的分析與設計。 第二章 Android 移動平臺和 Webservice 相關技術 Android 移動平臺 Android 是一款開源手機操作系統(tǒng),由 Google 和開放手機聯(lián)盟(中國移動、 摩托羅拉、TMobile 等 30 多家技術和無線應用的領軍企業(yè))合作開發(fā)。同時,Google 也同步推出了各個 SDK 版本對應的模擬器, 方便基于 Android 移動軟件的部署和測試。 l l Activity Activity 簡單來說,就是一個窗體,可以讓應用程序以直觀的方式呈現(xiàn)在用戶的面前,也就是說,呈現(xiàn)在用戶面前的界面就是一個 Activity。Android 通過堆棧來管理 Activity。圖 展示了 Activity 完整的生命周期。如果 Service 運行自己的進程中,那么 應用程序可以通過 AIDL①和 Service 進行通信。開發(fā)者既可以在代碼中通過使用 () 來注冊一個 Receiver 實例, 也可以在 文件中使用receiver標簽來注冊。對于普通的 Broadcast,它的所有 Receiver 運行在一個無序的環(huán)境,甚至同時運行。主要向應用程序提供數(shù)據(jù)。 Android 應用框架 API 類型 在 Android SDK 中,應用框架層表現(xiàn)為一系列組件,開發(fā)者可以利用這些組 件開發(fā)出各種應用程序。 ll Activity Manager:管理所有應用程序的生命周期。 l l Resource Manager:為應用程序提供非程序代碼的資源。 l l Notification Manager:提供提醒功能的 API,提供應用程序在狀態(tài)欄中顯示應用程序自定義的提示信息。 l l 下載 eclipse,解壓就可以使用,并安裝 ADT 插件?;蛘咴凇靶陆ā敝锌梢钥吹?Android 工程。 REST 簡介 REST,Representational State Transfer,是一種針對網(wǎng)絡應用的設計和開發(fā)方式。 ll 通過通用的連接器接口(generic connector interface)對資源進行操作。對于網(wǎng)絡應用來說,資源標識就 是 url,通用連接器接口就是 Http。在分布式和集群的環(huán)境下,則無需考慮上下文的問題了。url 具有層次性,利于資源的表述。當用戶輸入關鍵字,點擊查詢的時候, 通過 HTTP POST 將關鍵字傳給服務器,這由 create 完成。 本章小結 本章著重分析并研究了Android移動平臺,同時也介紹了WebService和REST 相關的技術,并分析了其主要思想和實現(xiàn)機制。 l l 可行性原則:需要在公安現(xiàn)有系統(tǒng)的基礎上,開發(fā)出可以真正方便外勤工作人員的系統(tǒng)。 需求分析 移動警務查詢系統(tǒng)總共包含五個功能模塊:人口查詢、案件查詢、逃犯查詢、 位置查詢和系統(tǒng)設置。同時,針對 每條案件信息,還需要查詢該案件對應的嫌疑人信息,受害人信息,受 害單位信息以及在逃人員信息。 圖 系統(tǒng)功能需求總體描述圖 系統(tǒng)分析與需求建模 在對系統(tǒng)的需求分析中,我們采用用例圖的形式來描述系統(tǒng)的功能性需求。本章采用 StarUML。Model 是對業(yè)務邏輯的處理,View 用來向用戶顯示模型信息,Control 負責接受用戶的請求,調用 Model 層的方法、返回執(zhí)行結果。它模擬客觀世界實體的對象以及對象之間的關系的映像,描述系統(tǒng)的靜態(tài)結構。在下面表格說明欄中的說明就是公安部的相關標準。第四章 基于 Android 的移動警務查詢系統(tǒng)的實現(xiàn) 主要模塊的實現(xiàn) 系統(tǒng)主界面的實現(xiàn) 系統(tǒng)主界面很簡單,只包含一個 LOGO,和一個菜單。 人口查詢功能模塊的實現(xiàn) 系統(tǒng)中人口查詢模塊的流程圖如圖 所示: 圖 人口查詢流程圖當用戶在主界面中點擊人口查詢時,進入人口查詢主界面,如圖 所示: 圖 人口查詢界面在人口查詢界面,性別、省份、城市、和工作分別是選擇列表,使用 Android 自帶控件 Spinner 實現(xiàn)。 (response)。最后調用 request 方法,訪問后臺,后臺部分與人口查詢對應的是 PersonController 類。 return new DefaultHttpHeaders(index).disableCaching()。 StringBuilder hql = new StringBuilder(from Person p where 1=1)。 !()){ name = new String((iso88591),UTF8)。)。 !()){ ( and = 39。 if(idCard!=nullamp。)。 !()){ province = new String((iso88591),UTF8)。 } String city = ()。 ( and = 39。 if(work != null amp。 + work).append(39。 } Query query = (())。如圖 所示: 圖 人口查詢結果列表界面人口查詢結果列表也是一個ListView,顯示的結果是由PersonListener解析的,在 PersonListener解析結果后,啟動該Activity。主要代碼如下: Person p = (position)。 (intent)。具體案件、 嫌疑人、受害人、受害單位、在逃人員的查詢操作、訪問網(wǎng)絡的方式,查詢結果 的解析等,和人口查詢模塊基本相同,這里不再列出主要功能代碼。這樣,便于逃犯的追捕和案件 的偵破。延伸了 GIS 在手機客戶端的應 用。 l l 地圖的載入:((),/sdcard/OpenSource )。 l l 地圖的平移: ().setPanTool()。 StringBuilder sb=new StringBuilder()。 ()。 (string,())。 (msg)。 (new IPathSearchListener(){ Override public void pathSearchFinished(OpenSourceMapLayer$Path path) { if (path==null) return。 ()。++i) { (拐點名稱:)。 Bundle b=new Bundle()。 (b)。 l l 切換數(shù)據(jù)源: OpenSourceMapLayer oslayer=(OpenSourceMapLayer)().getMap().getLa yer(0)。 case BING: (0)。 switch (()) { case 0: (1)。 } ().refresh()。本地存儲使用的是 SQLite,使用 ContentProvider 進行數(shù)據(jù)的管理。)。這部分代碼較多,見附件。 ().getContentResolver().notifyChange(pUri, null)。相關設置代碼如下: Uri uri = 。 (, (port))。 連接速度測試 用戶在使用手機連接 Web 時的速度根據(jù)不同的上網(wǎng)方式、不同的時間段都 可能不同,當下載一個應用時,用戶也許可以等待較長的時間,但是如果查看一 個人員信息界面,系統(tǒng)響應時間太長,用戶則會因為沒有耐心而離開。 l l 信息提示一致性:在各個模塊相似信息的提示是否是相同的。第五章 總結與展望 總結 在導師、同事的指導和幫助下