• 
    

    
    

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

      ?

      基于Android 的老年人輔助APP 研發(fā)

      2016-06-17 19:32葉旺旺湯瓊葛燦飛
      電腦知識與技術 2016年11期
      關鍵詞:智能機

      葉旺旺++湯瓊++葛燦飛

      摘要:隨著智能機的普及,各種各樣App的觸角伸向了人民生活的方方面面,為老年人居家生活提供智能輔助的應用也越來越受到大眾的關注。該文在分析了智能機和Android為使用者帶來便利的基礎上,針對老年人群體智能養(yǎng)老的需求,該文詳細介紹基于Android平臺為老年人生活提供輔助功能的App設計和開發(fā)。該App的應用將為老年人的居家生活提供有力的支持。

      關鍵詞:Android;智能機;智能輔助

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)11-0068-04

      Abstract: With the popularity of smart phone, the tentacles of various Apps have extended to every aspect of people's lives, and the applications provided the elder people with intelligent assisted living are increasingly concerned by the general public. Based on the analysis of the convenience and benefits from Android and smart machine, the design and development of the App for the elder people is introduced in the paper, which will provide strong support for the elderly living at home.

      Key words: Android; Smartphone; intelligent assistant

      1 背景

      進入老年階段,人們往往會隨著年齡越大記憶力越來越衰退,近期愈演愈烈的老年性癡呆癥引起人們的普遍關注。據人民日報刊載,中國老年癡呆患者已超 6 百萬人。很多人認為,人老了犯糊涂是正?,F(xiàn)象,實際上這是一種病,學名老年性癡呆,也稱阿爾茨海默病。該病在我國發(fā)病率約為 5%,多發(fā)于 65 歲以上人群,患病人數約為 600 萬人,并以每年三四十萬人的數量增長。老年性癡呆是一種漸進性的大腦功能衰退性疾病,其多表現(xiàn)為丟三落四、健忘、迷路等等。

      近年來,隨著智能手機和移動互聯(lián)網的迅速普及,其應用涵蓋了生活的方方面面。這不僅因為手機使用起來方便,更源于移動應用可以幫人們做很多事情[1]。因此,在智能手機上實現(xiàn)協(xié)助老年群體安居生活的輔佐應用軟件,提供類似護工時刻在身邊提示老人生活細節(jié)的功能,具有一定研究價值和實用價值。

      2 Android介紹

      2.1 Android簡介

      Android是由Google公司和開放手機聯(lián)盟領導及開發(fā)的基于Linux的自由及開放源代碼的操作系統(tǒng),主要用于移動設備,如智能手機和平板電腦。目前Android尚未有統(tǒng)一的中文命名,但我們習慣稱之為“安卓”。Android的一個最大優(yōu)勢在于其開放性,開放的平臺允許任何移動終端廠商加盟,顯著的開放性也使其擁有更多的開發(fā)者。隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。

      2.2 Android四大核心組件

      Android擁有4大核心組件,分別如下。

      組件一:活動(Activity)

      對于Android 來說,Activity是所有程序的根本,所有程序的事物處理流程都運行在Activity 之中;應用程序中,一個Activity顯示一些控件也可以監(jiān)聽并處理用戶的事件做出響應。

      組件二:服務(Service)

      Service與Activity的級別差不多,但不能自己運行,他是一個在后臺運行的組件,用來執(zhí)行長期操作或執(zhí)行遠程過程,并且可以和其他組件進行交互。

      組件三:廣播接收器(Broadcast)

      Broadcast是一個專注于接收廣播通知信息、并做出對應處理的組件。它們可以啟動一個activity來響應它們收到的信息,或者用NotificationManager來通知用戶。

      組件四:內容提供者(Content Provider)

      Content Provider的主要功能在于將一些特定的應用程序數據供給其他應用程序使用。

      這些組件之間的通訊要是由Intent協(xié)助完成的。Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,找到對應的組件,將 Intent傳遞給調用的組件,并完成組件的調用[3]。

      3 系統(tǒng)設計與實現(xiàn)

      3.1 MVC

      本項目的應用開發(fā)框架為MVC(Model View Controller)。MVC是一種軟件設計典范,用一種把業(yè)務邏輯、數據、界面顯示分離的方法組織代碼。MVC主要分三塊,模型(model)-視圖(view)-控制器(controller)[2]。

      模型是應用程序中用于處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。在本項目中主要職責是為視圖提供數據和信息以及把用戶輸入的數據傳送給控制器。

      視圖是應用程序中處理數據顯示的部分。通常視圖是依據模型數據創(chuàng)建的。在本項目中視圖主要為Activity類和定義界面的XML文件組成,他們共同負責將模型中的數據以一種用戶能理解的形式顯示在界面上。

      控制器是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發(fā)送數據。在本項目中,控制器負責大量的業(yè)務邏輯處理,主要是對視圖傳達的操作進行處理并返回,根據視圖中傳送來的參數,封裝好對應的模型,在處理后將結果封裝入模型后再交給視圖進行顯示,以此來滿足用戶交互的需求。

      綜上所述,本項目的系統(tǒng)框架圖如圖1所示。

      3.2 SQLite數據庫

      本項目的數據庫為SQLite。SQLite是一款非常流行的輕型數據庫,是遵守ACID(事務的四個基本要素)的關系型數據庫管理系統(tǒng),支持 SQL 語言,并且只需使用很少的內存就有很好的性能;并因為它是開源的,所以受到了越來越多的開發(fā)者的喜愛。

      4 系統(tǒng)功能設計

      通過調研和分析,系統(tǒng)的功能如圖2所示進行設計。

      賬戶管理:WEB端,用戶可以在該頁面上進行賬戶的注冊和登錄;

      手機端混合+GPS定位:該功能是一個service,運行于手機后臺。每隔一段時間會向后臺服務器上傳用戶的定位信息;

      日程設置:手機上,用戶可以設置日程安排。由一個運行于后臺的service負責管理,到了用戶設置的時間后,將自動點亮用戶手機并發(fā)聲告知用戶;

      語音播報:對日程設置的文本內容和求助語音的內容進行語音合成后調用系統(tǒng)的揚聲器進行播報;

      一鍵求助:按下后將用戶的定位信息發(fā)送到指定的家屬手機上。

      5 核心功能的實現(xiàn)

      5.1 登錄功能

      為了配合登錄功能,作者專門寫了JSP的服務端。服務端使用MVC框架,域名為http://lncdz.iok.la/myant/運行在tomcat7.0的服務容器中,手機端的登錄都將通過這個域名進行操作。家屬也可以登錄該網站獲取當前手機端用戶的一些基本信息,包括用戶的最近一次定位位置,日程設置信息等。

      服務端主要是使用Servlet來提供服務,用戶在手機端輸入用戶名和密碼后,手機端通過HttpURLConnection類的openConnection()建立與服務器的連接,并將用戶名和密碼傳輸至服務器。服務器接收到請求后,根據GET還是POST的的方法調用Servlet的doGet()或者doPost()方法。我們繼承javax.servlet.http.HttpServlet類并覆蓋這2個方法,實現(xiàn)自定義對數據的處理和結果的返回。即可實現(xiàn)登錄,又不僅限于登錄的功能。

      5.2 首頁設計

      首頁使用Android的DrawerLayout和Fragment來實現(xiàn)側邊滑動的功能菜單欄。向左滑動可以調出,選擇相應的菜單可以前往不同的功能模塊。具體實現(xiàn)如下:

      在activity_main.xml文件中,使用FrameLayout定義了首頁的容器,即容納內容顯示的區(qū)域,并用ListView定義了側邊欄滑動出來的寬度和背景色等樣式。程序運行時,手指從左側屏幕邊緣,持續(xù)滑動到屏幕中心之后的位置即可呼出側邊的功能菜單欄。

      5.3 定位功能

      目前Android 定位 SDK可以實現(xiàn)混合定位、GPS 定位和網絡定位(基站+ WiFi)。混合定位方式,定位 SDK 會自動根據用戶的實際情況進行智能判斷使用網絡定位或 GPS 定位,以達到最佳的定位效果。

      1)在HelpMain_Fragment類上實現(xiàn)定位接口AMapLocationListener接口,該類繼承至Fragment。AMapLocationListener是高德地圖SDK包中提供的類。這樣該類就可以操作定位的功能了。

      2)初始化定位對象LocationManagerProxy,該對象使用LocationManagerProxy的getInstance()方法獲取,其需要一個Activity對象作為參數。而由于我們的是Fragment,不用通過this來給LocationManagerProxy傳入一個Activity對象。不過Fragment提供了this. getActivity()來獲取一個Activity對象。所以這里可以通過調用this. getActivity()來傳入一個Activity對象。

      3)注冊定位。使用之前初始化的對象LocationManagerProxy的requestLocationData(LocationProviderProxy.AMapNetwork, -1, 15, this)方法來定位。該方法的四個參數分別是定位類型,LocationProviderProxy.AMapNetwork表示使用高德定位的混合定位模式即GPS+網絡定位,定位頻率,移動距離,回調監(jiān)聽。鑒于應用的實際使用情況,使用-1表示定位一次即可,15表示移動距離15米即調用定位一次。定位的結果接受對象為this即實現(xiàn)了AMapLocationListener的HelpMain_Fragment。

      4)onLocationChanged()為定位回調方法。無論定位是否成功,該方法都將會被調用。該方法內,定位成功后,我們將地址信息保存起來,并組裝成指定格式的短信文本信息。通過SmsDeliveredBroadcastReciver類將短信文本廣播給手機的短信服務“SMS_DELIVERED_ACTION”。這是Android系統(tǒng)提供的一種系統(tǒng)服務,他將代我們將短信通過移動運營商發(fā)送的指定的手機上并返回接受結果。具體代碼如下:

      5.4 語音提醒

      訊飛語音是國內較為成熟的語音合成平臺,目前其免費對開發(fā)者提供語音合成,語音+等免費服務。鑒于實際情況,作者最終決定使用訊飛語音提供的SDK來開發(fā)語音提醒功能。

      1)創(chuàng)建VoiceTTS類,并在其中實例化語音合成對象SpeechSynthesizer ,該對象為語音合成的核心對象。此過程中使用SpeechSynthesizer類的createSynthesizer()方法,該方法需要(context,myInitListener)2個參數,第一個是Activity本身,第二個為初始化監(jiān)聽接口的一個實現(xiàn)對象InitListener。SpeechSynthesizer對象可以使用setParameter方法,通過設置 (SpeechConstant.VOICE_NAME, "xiaoyan") (SpeechConstant.PITCH, "50") (SpeechConstant.VOLUME, "50")這幾組參數來分別設置發(fā)音人,音調和音量。

      2)為語音合成對象設置開發(fā)者應用ID,該ID可在訊飛語音開放平臺注冊應用獲得,如果沒有該ID,將導致在線語音合成失敗。使用SpeechUtility對象的createUtility(context, "appid=xxx")方法設置,該方法有2個參數,分別為Activity本身和字符串”appid=xxx”,xxx就是注冊獲得的appid如557ecf58

      3)在HelpMain_Fragment,當要播放求救語音時,可以通過調用VoiceTTS類來播放語音內容。

      該段代碼從UserInfoBean中取出之前的設置的求助語音文本,并實例化了一個VoiceTTS類,傳入了需要語音合成的文本。在云端合成后將返回用戶端,并調用手機的揚聲器將合成后的聲音播放出來。以期周圍的人能聽到,并通過語音的內容幫助老人。

      5.5 日程功能

      日程功能是通過日歷的設置和提醒功能來安排老年癡呆患者的行程。

      創(chuàng)建一個CalendarActivity類作為該日程顯示的activity,該類的視圖效果在main.xml中定義。

      其他還有CalendarConvert類是用來陰陽歷的轉換,ScheduleView類作為該日程添加日程功能的activity。通過LunarCalendar、SpecialCalendar這兩個類來設置一年中的節(jié)日、特殊日子。

      6 結束語

      老年人輔助項目使用了當前流行的Android平臺,其豐富的開發(fā)資源和各類Jar包以及API大大減少了開發(fā)者開發(fā)應用的難度,滿足了開發(fā)一個應該的大部分需求。Android還具有開放性特征,使的普通的開發(fā)者進入Android開發(fā)應用零門檻。另外,Android應用使用可視化操作界面,通過簡單易懂的圖標和文字,能讓用戶快速學會使用一個Application(應用)。隨著移動平臺的普及率越來越高,Android應用如智能養(yǎng)老必將進入我們生活的方方面面。

      參考文獻:

      [1] 王健生. 我國現(xiàn)代養(yǎng)老方式將逐步走向智能化[J]. 中國改革報, 2012(11).

      [2] 孫久騰. 未來智能手機界面發(fā)展趨勢[J]. 科技與創(chuàng)新, 2015(11).

      [3] 傳智播客高教產品研發(fā)部. Android移動應用基礎教程[M]. 北京: 中國鐵道出版社, 2015: 102-105.

      猜你喜歡
      智能機
      百變智能機
      智能機柜在取消高速公路省界收費站中的應用
      高速公路ETC門架系統(tǒng)一體化智能機柜淺談
      無人機升空播種 智能機施肥澆水
      聯(lián)發(fā)科技攜智能機解決方案隆重亮相通信展3D、雙核、多媒體引領平價智能機新風尚
      惠州市| 兴宁市| 翼城县| 泊头市| 钟山县| 鲜城| 泗阳县| 上虞市| 河西区| 昂仁县| 兰州市| 黑河市| 徐水县| 平塘县| 锡林浩特市| 铜鼓县| 辉南县| 张家港市| 安宁市| 灵寿县| 郧西县| 永川市| 东阿县| 深州市| 新野县| 中西区| 郑州市| 陕西省| 偏关县| 雷山县| 乌兰察布市| 观塘区| 碌曲县| 高清| 南召县| 枝江市| 长白| 大名县| 南部县| 台江县| 崇礼县|