• 
    

    
    

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

      ?

      基于Android系統(tǒng)的手機(jī)縣級氣象服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2015-03-21 12:49況源周小明梁富強(qiáng)張波李云杰
      現(xiàn)代電子技術(shù) 2015年7期
      關(guān)鍵詞:手機(jī)號標(biāo)識碼客戶端

      況源,周小明,梁富強(qiáng),張波,李云杰

      (四川省宜賓市氣象局,四川宜賓644000)

      基于Android系統(tǒng)的手機(jī)縣級氣象服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      況源,周小明,梁富強(qiáng),張波,李云杰

      (四川省宜賓市氣象局,四川宜賓644000)

      為了適應(yīng)新時(shí)期氣象服務(wù)的現(xiàn)代化建設(shè)需要和提高氣象服務(wù)的綜合能力,氣象部門結(jié)合實(shí)際需求和自身優(yōu)勢,開發(fā)了一款基于Android系統(tǒng)的手機(jī)縣級氣象服務(wù)系統(tǒng)。主要從技術(shù)手段、功能設(shè)計(jì)、總體結(jié)構(gòu)和主要功能模塊的實(shí)現(xiàn)等方面作簡要介紹。該系統(tǒng)具有災(zāi)害預(yù)警、重要天氣、以及短中長期天氣預(yù)報(bào)、監(jiān)測站點(diǎn)最新實(shí)況的查看、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)檢索等功能。使用該系統(tǒng),氣象部門能夠及時(shí)、方便、快捷地提供氣象服務(wù),相關(guān)單位也能及時(shí)、自主、便捷地獲取氣象產(chǎn)品和數(shù)據(jù)資料。

      Android;手機(jī);氣象服務(wù)系統(tǒng);功能設(shè)計(jì)

      0 引言

      隨著經(jīng)濟(jì)社會的不斷發(fā)展,自然災(zāi)害對經(jīng)濟(jì)發(fā)展和社會生活造成的損失在不斷增大,預(yù)防和減輕自然災(zāi)害已成為擺在全社會面前的共同任務(wù)。手機(jī)氣象服務(wù)以其及時(shí)、便捷、靈活的特點(diǎn)為用戶獲取各種氣象信息提供了方便,在防災(zāi)減災(zāi)、氣象預(yù)警、重大氣象保障服務(wù)等方面發(fā)揮著不可或缺的作用[1]。同時(shí),Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),在智能手機(jī)操作系統(tǒng)市場擁有巨大的占有率[2]。因此開發(fā)一款面向氣象部門和相關(guān)單位的基于Android系統(tǒng)的手機(jī)縣級氣象服務(wù)系統(tǒng),能夠有效提高氣象服務(wù)的社會效益和經(jīng)濟(jì)效益。

      1 系統(tǒng)設(shè)計(jì)

      1.1 主要技術(shù)

      開發(fā)Android軟件,首先要搭建Android開發(fā)環(huán)境,具體搭建流程為依次安裝JDK、Eclipse、Android SDK和ADT[3]。其中Eclipse是一個(gè)開放源代碼、基于Java的可擴(kuò)展開發(fā)平臺,軟件開發(fā)工作在其基礎(chǔ)上進(jìn)行。同時(shí)還使用到一些第三方開發(fā)包,如實(shí)現(xiàn)圖表功能的AChartEn?gine?1.1.0.jar、地圖服務(wù)和定位服務(wù)的BaiduMapApi_v3_ 0_0.jar、多頁面滑動切換的Android?Support?v4.jar。

      1.2 功能設(shè)計(jì)

      目前市面上天氣客戶端種類繁多,但是它們的天氣信息僅有最近幾天天氣預(yù)報(bào)和少量實(shí)況數(shù)據(jù),且更新較遲緩。針對這一現(xiàn)狀,氣象部門自己開發(fā)了一款氣象產(chǎn)品豐富、實(shí)況數(shù)據(jù)全面的手機(jī)客戶端,這一研發(fā)成果具有重要意義。系統(tǒng)所有功能模塊如圖1所示,氣象產(chǎn)品有災(zāi)害預(yù)警、重要天氣消息推送、近6天圖形化天氣預(yù)報(bào),短中期天氣預(yù)報(bào)、旬天氣預(yù)報(bào)、氣候趨勢預(yù)報(bào);實(shí)況數(shù)據(jù)包括最新實(shí)況顯示(以數(shù)據(jù)列表和地圖標(biāo)注兩種方式顯示)、前24小時(shí)氣溫和降雨序列、任意時(shí)段數(shù)據(jù)統(tǒng)計(jì)、任意時(shí)段和任意站點(diǎn)的逐時(shí)數(shù)據(jù)檢索。

      圖1 功能模塊圖

      1.3 總體結(jié)構(gòu)

      在軟件開發(fā)設(shè)計(jì)中,應(yīng)用最多的就是分層技術(shù)。軟件分層采用分而治之的思想,將問題分解之后各個(gè)擊破,實(shí)現(xiàn)“高內(nèi)聚、低耦合”[4]。因此系統(tǒng)在結(jié)構(gòu)上分為應(yīng)用層、Web層、數(shù)據(jù)層和管理層4層結(jié)構(gòu),如圖2所示。

      圖2 總體結(jié)構(gòu)圖

      1.3.1 應(yīng)用層

      應(yīng)用層是呈現(xiàn)給用戶的功能界面,即手機(jī)客戶端。因?yàn)闅庀髷?shù)據(jù)的保密性,對社會公眾僅提供預(yù)警預(yù)報(bào)服務(wù),特殊用戶需要授權(quán)后才能夠查看實(shí)況數(shù)據(jù)。

      1.3.2 Web層

      因Android系統(tǒng)不能直接對遠(yuǎn)程數(shù)據(jù)庫進(jìn)行操作,所以需要一個(gè)中間件來存取數(shù)據(jù)[5]。應(yīng)用層通過URL方式提交數(shù)據(jù)請求到Web層,Web層收到請求后從數(shù)據(jù)庫中提取所需數(shù)據(jù)后生成并返回便于手機(jī)客戶端解析的XML格式頁面,這里使用Asp.net技術(shù)完成該功能。

      1.3.3 數(shù)據(jù)層

      數(shù)據(jù)層由分別存儲氣象產(chǎn)品、氣象數(shù)據(jù)和軟件管理3個(gè)數(shù)據(jù)庫組成。為了保障數(shù)據(jù)庫的安全性,數(shù)據(jù)庫的服務(wù)器使用獨(dú)立服務(wù)器,并設(shè)在氣象內(nèi)網(wǎng)中,Web層用內(nèi)網(wǎng)IP訪問數(shù)據(jù)庫。

      1.3.4 管理層

      管理層負(fù)責(zé)管理數(shù)據(jù)層的數(shù)據(jù)庫。其中后臺管理軟件可進(jìn)行新版本發(fā)布、重要天氣消息推送、授權(quán)管理、手機(jī)客戶端安裝信息查看等操作。

      2 主要功能的實(shí)現(xiàn)

      2.1 數(shù)據(jù)獲取和顯示

      在Android應(yīng)用程序中,如果UI線程處理占用時(shí)間過長(如網(wǎng)絡(luò)獲取數(shù)據(jù)、大量數(shù)據(jù)計(jì)算),就會出現(xiàn)ANR(應(yīng)用程序無響應(yīng))異常[6]。因此,為了保證良好的用戶體驗(yàn),數(shù)據(jù)獲取需要在多線程中進(jìn)行。另外,由于Andorid規(guī)定只有UI線程才能更新用戶界面[7],為此需要使用Thread+Handler來解決上述問題。在Thread中用HttpURLConnection類發(fā)送數(shù)據(jù)請求,線程請求到XML數(shù)據(jù)頁面后,使用XMLPullParser類解析數(shù)據(jù),再將數(shù)據(jù)封裝到Message類中,最后用Handler.sendMessage(message)方法發(fā)送給Handler的回調(diào)方法handleMessage進(jìn)行界面更新[8]。

      2.2 權(quán)限管理

      權(quán)限管理是通過“手機(jī)號+標(biāo)識碼”結(jié)合實(shí)現(xiàn)的。先要在后臺管理軟件新增授權(quán)用戶后(手機(jī)號為必填項(xiàng)),用戶才能在手機(jī)客戶端的授權(quán)管理頁面用手機(jī)號進(jìn)行授權(quán)。授權(quán)的具體流程為先查詢數(shù)據(jù)庫中是否存在該手機(jī)號,若不存在則授權(quán)失敗;如果存在,再查詢是否存在對應(yīng)標(biāo)識碼,有標(biāo)識碼表示該手機(jī)號已經(jīng)授權(quán)過,不能重復(fù)授權(quán),沒有對應(yīng)標(biāo)識碼則授權(quán)成功并生成惟一的標(biāo)識碼,生成的標(biāo)識碼同時(shí)保存在數(shù)據(jù)庫和手機(jī)客戶端中,如圖3所示。

      圖3 授權(quán)流程圖

      另外若用戶需要用已授權(quán)過的手機(jī)號重新授權(quán),則要在后臺管理軟件中清除該手機(jī)號的標(biāo)識碼就可以再次用于授權(quán)。為了保證之前的授權(quán)因此而失效,在每次運(yùn)行手機(jī)客戶端時(shí)都要用手機(jī)客戶端存儲的標(biāo)識碼和數(shù)據(jù)庫中的標(biāo)識碼進(jìn)行比對,如果相同才視為有效的授權(quán)。

      2.3 天氣趨勢圖

      天氣預(yù)報(bào)趨勢圖為現(xiàn)今手機(jī)天氣軟件必不可少的功能界面,具有直觀、漂亮的特點(diǎn),如圖4的第2頁面所示。為提高代碼的可復(fù)用性和可讀性,將其封裝成一個(gè)自定義控件WeatherTrendView,通過WeatherTrendView的setBitmap(List<Integer>topBmpList,List<Integer>lowBmpList)方法指定天氣現(xiàn)象圖標(biāo),setTemperature(List<Integer>topTemList,List<Integer>lowTemList)方法指定氣溫?cái)?shù)據(jù)??丶慕缑胬L制在重寫的onDraw(Canvas canvas)事件中實(shí)現(xiàn),關(guān)鍵代碼如下:

      圖4 手機(jī)客戶端重要功能界面

      2.4 地圖和定位

      地圖和定位服務(wù)均基于百度地圖Android SDK實(shí)現(xiàn),百度地圖Android SDK是一套基于Android 2.1及以上版本設(shè)備的免費(fèi)的應(yīng)用程序接口。通過調(diào)用地圖SDK接口,可以輕松訪問百度地圖服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強(qiáng)的地圖類應(yīng)用程序,效果如圖4的第5頁面所示。地圖上疊加監(jiān)測站點(diǎn)是使用標(biāo)注覆蓋物Mark?erOptions和文字覆蓋物TextOptions實(shí)現(xiàn)的,在初始化每個(gè)MarkerOptions時(shí)把監(jiān)測數(shù)據(jù)初始化在title屬性值中,在其點(diǎn)擊事件中就可以通過marker.getTitle()獲取并予以顯示。定位功能用于地圖服務(wù)時(shí)顯示當(dāng)前位置和獲取用戶安裝手機(jī)客戶端時(shí)的地理位置,百度地圖Android SDK可利用設(shè)備當(dāng)前的GPS信息(GPS定位),基站信息(基站定位)和WiFi信息(WiFi定位)完成定位,使定位更為精準(zhǔn)、快速,且提供將當(dāng)前所處地點(diǎn)的位置坐標(biāo)轉(zhuǎn)換為詳細(xì)地址描述的信息[9]。

      2.5 氣溫和降雨序列圖

      AChartEngine是為Android應(yīng)用而設(shè)計(jì)的開源/免費(fèi)的繪圖工具庫,可用于繪制折線圖、區(qū)域圖、散點(diǎn)圖、時(shí)間圖、柱狀圖、餅狀圖、環(huán)形圖等多種圖表[10]。系統(tǒng)用其繪制前24小時(shí)氣溫折線圖和前24小時(shí)降雨量柱狀圖。因手機(jī)屏幕寬度不夠完全顯示24小時(shí)序列圖,ACha?rtEngine支持左右滑動查看剩余部分。效果如圖4的第4頁面所示。

      3 結(jié)語

      Android系統(tǒng)已基本實(shí)現(xiàn)天氣預(yù)警、預(yù)報(bào)和實(shí)況數(shù)據(jù)的整合,為氣象服務(wù)業(yè)務(wù)提供強(qiáng)有力的支撐,提高了氣象服務(wù)能力。但隨著社會發(fā)展對氣象服務(wù)要求的不斷提高,系統(tǒng)功能仍需繼續(xù)努力改進(jìn)和完善,不斷提升綜合氣象服務(wù)能力,以適應(yīng)社會與經(jīng)濟(jì)的發(fā)展對氣象服務(wù)的需求。

      [1]張延龍,楊昆,李炳文,等.基于3G手機(jī)的氣象服務(wù)分析[J].現(xiàn)代電子技術(shù),2011,34(18):24?25.

      [2]劉峰,袁少雄,黃光慶,等.地質(zhì)災(zāi)害Android終端應(yīng)用系統(tǒng)及其數(shù)據(jù)庫研究進(jìn)展[J].地理空間信息,2013(6):51?53.

      [3]沈愛濤,程濤.基于Android平臺的應(yīng)用系統(tǒng)開發(fā)環(huán)境研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(7):247?248.

      [4]袁鷹.基于分層技術(shù)的計(jì)算機(jī)軟件開發(fā)分析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(1):314?315.

      [5]李洋,殷云鵬,趙勇.基于Android的網(wǎng)絡(luò)數(shù)據(jù)存儲與訪問[J].中國科技信息,2013(8):92?93.

      [6]肖柏昀.Android應(yīng)用程序中多線程應(yīng)用的方法研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(7):71?72.

      [7]解志君.Android多線程與消息循環(huán)[J].電子世界,2013(19):87?88.

      [8]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2013.

      [9]百度公司.Android SDK v3.0.0幫助文檔[EB/OL].(2014?06?05)[2014?09?15].http://developer.baidu.com/map/index.php?title= androidsdk.

      [10]4ViewSoft公司.AChartEngine 1.1.0在線文檔[EB/OL].(2013?05?15)[2014?09?20].http://www.achartengine.org/content/demo. html.

      Design and implementation of Android?based phone meteorological service system at county level

      KUANG Yuan,ZHOU Xiao?ming,LIANG Fu?qiang,ZHANG Bo,LI Yun?jie
      (Yibin Meteorological Bureau of Sichuan Province,Yibin 644000,China)

      In order to meet the needs of the modernization construction of meteorological service in the new period and im?prove the meteorological service comprehensive ability,it is imperative for the meteorological department to develop an Android?based phone meteorological service system at county level in combination with actual needs and its own advantages.The methods to realize the technology means,function design,overall structure and main function modules are introduced briefly.System to realize The functions of disaster early warning display,important weather information,short?term,medium?term and long?term weather forecast,latest live situation check from monitoring site,data statistic and data retrieval have been implemented in the system.By using the system,the meteorological department can provide meteorological services in a timely manner,and the re?lated units can get the meteorological products and data in time.

      Android;mobile phone;meteorological service system;function design

      TN911?34

      A

      1004?373X(2015)07?0043?03

      況源(1987—),男,四川宜賓人,助理工程師。主要從事氣象應(yīng)用與服務(wù)、氣象軟件和網(wǎng)站開發(fā)工作。

      2014?10?17

      猜你喜歡
      手機(jī)號標(biāo)識碼客戶端
      鉆天猴的手機(jī)號
      手機(jī)號的秘密
      縣級臺在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      神回復(fù)
      Process Mineralogy of a Low Grade Ag-Pb-Zn-CaF2 Sulphide Ore and Its Implications for Mineral Processing
      Study on the Degradation and Synergistic/antagonistic Antioxidizing Mechanism of Phenolic/aminic Antioxidants and Their Combinations
      A Comparative Study of HER2 Detection in Gastroscopic and Surgical Specimens of Gastric Carcinoma
      客戶端空間數(shù)據(jù)緩存策略
      洛南县| 闸北区| 航空| 和静县| 城口县| 寻甸| 根河市| 芒康县| 建昌县| 高陵县| 治县。| 皮山县| 本溪市| 福鼎市| 荔波县| 阿瓦提县| 育儿| 曲阳县| 分宜县| 疏勒县| 东丽区| 清丰县| 华宁县| 碌曲县| 昌平区| 喀喇| 牡丹江市| 安平县| 四子王旗| 肥城市| 桂东县| 梁山县| 镇江市| 文登市| 海淀区| 云和县| 新民市| 淮滨县| 丘北县| 乌兰浩特市| 综艺|