欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android組件化開發(fā)路由的示例分析

這篇文章主要介紹了Android組件化開發(fā)路由的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為正陽企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),正陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

設(shè)計(jì)目的

  1. 解耦

  2. 跨模塊跳轉(zhuǎn)

  3. 方便服務(wù)器配置schema,實(shí)現(xiàn)動態(tài)配置跳轉(zhuǎn)目標(biāo)

  4. 對外部提供遠(yuǎn)程訪問的功能,實(shí)現(xiàn)跨應(yīng)用調(diào)用響應(yīng)

主要功能點(diǎn)

  1. 支持intent,http,schema三種跳轉(zhuǎn)

  2. 路由表支持xml配置,可自定義,支持多路徑

  3. 有攔截器

  4. 同時(shí)支持反射和隱式意圖

  5. 支持結(jié)果回調(diào)

  6. 支持參數(shù)傳遞

  7. 鏈?zhǔn)秸{(diào)用

  8. 支持url模式傳參

  9. 支持配置多個(gè)webview 實(shí)現(xiàn)指定非默認(rèn)的webview啟動url

  10. 支持配置多個(gè)prefix

重要的類

  1. VpRouter 單例模式 入口類

  2. AbsRouter 路由抽象類 主要代碼

  3. RouterTable 路由表

  4. IRouterInterceptor(攔截器) IRouterResultCallback(結(jié)果回調(diào))

類圖

Android組件化開發(fā)路由的示例分析

加載路由配置文件

//導(dǎo)入路由表 在application的onCreate中
VpRouter.load(getApplicationContext(),"router.xml");

路由配置文件

<?xml version="1.0" encoding="utf-8" ?>
<root>
  schema-prefix>
    <prefix>vf://</prefix>
    <prefix>vipjr://</prefix>
    <prefix>vpjr://</prefix>
  </schema-prefix>
  <default-webview>vpjr://h6.page</default-webview>
  <rule>
    <schema>vpjr://h6.page</schema>
    <!--<action>webview</action>-->
    <class>com.vip.hybrid.h6container.H5WebViewActivity</class>
  </rule>
  <rule>
    <schema>vpjr://h6.page.pay</schema>
    <!--<action>webview</action>-->
    <class>com.vip.vpal.paydesk.support.h6.H5ContainerActivity</class>
  </rule>
  <rule>
    <schema>vpjr://paycode.entry</schema>
    <!--<action>1111</action>-->
    <class>com.vip.vpal.paycode.presentation.activity.PaymentEntryActivity</class>
  </rule>
  <rule>
    <schema>vpjr://guide</schema>
    <!--<action>basemodule.test.mainactivity</action>-->
    <class>com.vip.vf.android.GuideActivity</class>
  </rule>
</root>
  1. schema-prefix: 前綴

  2. default-webview: 默認(rèn)webview的schema

  3. 每一個(gè)rule節(jié)點(diǎn)代表一組路由規(guī)則,被解析成Rule對象

使用示例

//啟動url 默認(rèn)的webview
VpRouter.get().context(this).jump("http://www.vip.com?web_title=唯品會");
//指定webview啟動
VpRouter.get().context(this).webView("vpjr://h6.page.pay").jump("http://www.vip.com");

//最復(fù)雜的使用
VpRouter.get()
    .context(this)
    .setInterceptor(new IRouterInterceptor() {
      @Override
      public boolean cancel() {
        return false;//return true 會把本次跳轉(zhuǎn)攔截掉
      }

      @Override
      public Bundle addExtras() {
        return null;//返回Bundle 會添加到Intent中
      }
    })
    .setResultCallback(new IRouterResultCallback() {
      @Override
      public void onSuccess() {
        //跳轉(zhuǎn)成功的回調(diào)
      }

      @Override
      public void onFail(RouterError error) {
        //跳轉(zhuǎn)失敗的回調(diào)
        LogUtils.d("error:"+error);
      }
    })
    .extra("key","value")
    .extra("key2","value2")
    .flags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
    .jump("vf://paycode.entry?title=1111");//支持url傳參

//最簡單的使用
VpRouter.get().context(this).jump("vpjr://guide");
VpRouter.get().context(this).jumpForResult("vpjr://guide",REQUEST_CODE);//REQUEST_CODE>;

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Android組件化開發(fā)路由的示例分析”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

標(biāo)題名稱:Android組件化開發(fā)路由的示例分析
URL網(wǎng)址:http://chinadenli.net/article14/gicige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務(wù)器托管、定制開發(fā)、網(wǎng)站排名、虛擬主機(jī)微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作