亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AgentWeb 的Android 混合應用設計與實現(xiàn)

        2020-09-18 08:23:14楊權
        現(xiàn)代計算機 2020年23期
        關鍵詞:頁面界面區(qū)域

        楊權

        (湖南省婦幼保健院信息中心,長沙410000)

        0 引言

        自2007 年Android 技術出現(xiàn)以來,基于Android開發(fā)的移動App 數(shù)量與日俱增,然而使用Android 開發(fā)移動App 仍有一些弊端,例如:Android 版本間的兼容性問題;開發(fā)周期長,維護成本高,調試困難;需要依賴第三方應用商店的審核上架[3];更新迭代周期長。為此,國內外機構或個人嘗試使用移動Web 技術構建跨平臺的移動應用;國外出現(xiàn)了React Native、Titanium、PhoneGap 等技術框架,國內較著名的有uni-app、5+App、WeX5 等框架。但是這些框架普遍存在可擴展性差、更新緩慢等問題,不能滿足復雜的個性化需求,因此越來越多的開發(fā)者開始呼吁回歸原生應用開發(fā)。鑒于此,我們既不完全采用Android 技術也不完全使用移動Web 跨平臺技術開發(fā)移動App 的所有功能與界面,而是根據需求變化將移動App 界面分成“固定區(qū)域”和“易變區(qū)域”,“固定區(qū)域”采用Android 原生技術實現(xiàn),“易變區(qū)域”采用HTML5(以下簡稱H5)技術和MUI 技術實現(xiàn),“固定區(qū)域”和“易變區(qū)域”之間的數(shù)據通信采用Android 第三方開源組件AgentWeb 實現(xiàn)。

        1 主要技術簡介

        1.1 Android簡介

        Android 是Google 推出的開源手機操作系統(tǒng),Android 基于Linux 平臺,由操作系統(tǒng)、中間件、用戶界面和應用軟件組成[4]。使用Android 提供的SDK,應用開發(fā)者可以開發(fā)個性化的移動App。

        1.2 AgentWeb簡介

        AgentWeb 是一個高度封裝的Android WebView[1],屬于第三方開源組件。它解決了Android 原生Web-View 常見的問題,同時提供更多的功能,例如支持進度條及自定義進度條、文件下載、文件斷點續(xù)傳、簡化JavaScript(以下簡稱JS)通信等。實際上AgentWeb 相當于一款Android 小型瀏覽器庫。

        1.3 MUI簡介

        MUI 以iOS 平臺UI 為基礎,補充部分Android 平臺特有的UI 控件[2],提供基于HTML5 技術的折疊面板(accordion)、操作表(actionsheet)等UI 組件、窗口管理、事件管理、下拉刷新、上拉加載等功能,是一套很接近原生UI 的前端框架。

        2 界面設計

        采用底部設置多個Tab 選項卡來布局主界面,分別為“首頁”、“選擇醫(yī)院”和“個人中心”;“首頁”分為資訊區(qū)和功能區(qū),功能區(qū)以九宮格的形式顯示常用功能的圖標和文字說明,點擊某個圖標便能打開對應的功能頁面;“選擇醫(yī)院”以列表的形式顯示醫(yī)院名稱,點擊某個醫(yī)院名稱便打開某個醫(yī)院的首頁;“個人中心”提供注冊、登錄、忘記密碼等功能,同時顯示個人相關記錄,例如:預約記錄、繳費記錄、咨詢記錄等。

        根據需求變化的頻率,將界面分為“固定區(qū)域”和“易變區(qū)域”,其中“固定區(qū)域”包括“首頁”,采用Android原生頁面實現(xiàn);“易變區(qū)域”包括“選擇醫(yī)院”和“個人中心”,采用H5 頁面實現(xiàn),如圖1 固定區(qū)域-首頁、圖2 易變區(qū)域-選擇醫(yī)院、個人中心所示。

        圖1 固定區(qū)域-首頁

        圖2 易變區(qū)域-選擇醫(yī)院、個人中心

        3 Android原生頁面與H5頁面數(shù)據通信設計

        Android 混合應用中的H5 頁面不僅僅是展示數(shù)據,還能通過JS 代碼跟原生頁面進行數(shù)據通信,實現(xiàn)特定的功能。

        實現(xiàn)Android 原生頁面與H5 頁面數(shù)據通信分為三步:首先,在Android 工程中引用AgentWeb 第三方庫,用AgentWeb 代替Android WebView 顯示H5 頁面;其次,擴展AgentWeb 提供的與JS 通訊的接口,自定義個性化接口供JS 調用;最后,在H5 頁面中編寫JS 函數(shù)供原生頁面調用。

        Android 原生頁面與H5 頁面數(shù)據通信的過程如圖3 Native 與H5 數(shù)據通信原理所示。

        圖3 Native與H5數(shù)據通信原理

        4 具體實現(xiàn)

        4.1 JS調用Android原生方法實現(xiàn)

        (1)Android 項目中引入AgentWeb 依賴包:

        (2)在Fragment 中定義AgentWeb 對象:

        (3)定義與JS 通訊的接口類AndroidInterfaceWeb,里面定義了一套供JS 調用的方法:

        (4)在Fragment 的onViewCreated 中初始化Agent-Web 對象,同時向JS 的window 對象中注冊agentWeb對象,該agentWeb 對象可以自定義名稱:

        (4)JS 調用Android 原生方法

        在H5 頁面的JS 代碼塊中使用window.agentWeb.原生方法名的形式調用Android 原生方法例如:window.agentWeb.NativeMethod1();

        需要注意的是:window.agentWeb 中的agentWeb名字必須跟Fragment 向JS 的window 對象中注冊的agentWeb 名字保持一致。

        4.2 Android調用JS方法

        (1)在H5 頁面中定義JS 方法,例如:

        (2)使用mAgentWeb.getJsAccessEntrace().quick-CallJs(JS 方法名,參數(shù))形式調用,例如:mAgentWeb.getJsAccessEntrace().quickCallJs("jsMethod1");mAgentWeb.getJsAccessEntrace().quickCallJs("jsMethod2","這是jsMethod2 的入參");

        4.3 界面示例

        如圖4 預約掛號詳情界面、圖5 空中診室咨詢支付確認界面所示,兩個界面都是用H5 頁面展示數(shù)據,雖然是兩個完全不同的業(yè)務,但是當用戶點擊界面中的“微信支付”按鈕時,都是調用了Android 原生程序中定義的喚起微信支付的方法。

        圖4 預約掛號詳情界面

        圖5 空中診室咨詢支付確認界面

        5 結語

        使用AgentWeb 第三方組件構建Android 混合應用具有較好的靈活性:一方面,修改易變區(qū)域H5 頁面以滿足業(yè)務需求變化的頻繁性和多樣性,避免頻繁提交App 到第三方應用商店審核,縮短App 迭代更新周期;另一方面,在App 內編寫一套供JS 調用的統(tǒng)一接口(如:支付、拍照、獲取設備信息接口)可以減輕App開發(fā)工作量。

        本文基于AgentWeb 設計與實現(xiàn)了Android 混合應用,可以較好地滿足界面簡單、功能較少的App 開發(fā)需要;為了適應需求的變化,在Android 原生程序中可以編寫一套完整的供JS 調用的接口,這樣能方便更多H5 應用集成到App 上,同時也節(jié)省Android 原生程序開發(fā)工作量。但是對于界面復雜,功能多樣的App 開發(fā),該Android 混合應用具有一定的局限性,仍需要更多Android 原生程序開發(fā)。

        猜你喜歡
        頁面界面區(qū)域
        大狗熊在睡覺
        刷新生活的頁面
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        人機交互界面發(fā)展趨勢研究
        關于四色猜想
        分區(qū)域
        手機界面中圖形符號的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        基于嚴重區(qū)域的多PCC點暫降頻次估計
        電測與儀表(2015年5期)2015-04-09 11:30:52
        區(qū)域
        民生周刊(2012年10期)2012-10-14 09:06:46
        女人让男人桶爽30分钟| av国产免费在线播放| 91久久国产香蕉视频| 国产美女做爰免费视频| 婷婷成人基地| 久久久亚洲精品午夜福利| 成人爽a毛片免费网站中国| 国产精品日日做人人爱| 欧美肥胖老妇做爰videos| 一本色道久久综合亚洲精品小说 | 国产一区二区三区色区| 91偷拍与自偷拍亚洲精品86| 亚洲精品无码高潮喷水a片软| 午夜天堂一区人妻| 亚洲熟女一区二区三区| 亚洲第一看片| 亚洲天堂av大片暖暖| 综合色免费在线精品视频| 亚洲av午夜福利精品一区二区 | 91精品国产92久久久| 国产精成人品日日拍夜夜免费| 精品国产一级毛片大全| 亚洲高清一区二区三区视频| 男女裸体做爰视频高清| 好看的欧美熟妇www在线| 在线a亚洲视频播放在线观看| 午夜一区二区三区在线观看| 国产精品日日做人人爱| 内射少妇36p九色| 国产成社区在线视频观看| 五月婷婷开心五月播五月| 丰满少妇被粗大猛烈进人高清| 69精品丰满人妻无码视频a片| 久久久精品国产视频在线| 久久丝袜熟女av一区二区| 曰本无码人妻丰满熟妇啪啪| 亚洲国产精品久久久天堂不卡海量 | 亚州五十路伊人网| 沐浴偷拍一区二区视频| 国产男女猛烈无遮挡免费网站| 色欲av一区二区久久精品|