在項目中遇到一個問題,在webveiw和原生之間進行傳值的時候,出現(xiàn)了一些encode的小問題??雌饋砗芎唵蔚膯栴},實際上卻存在不小的坑。

  首先說一下目前項目的結(jié)構(gòu),在一個activity中,webview和原生之間有多種交互。

  如圖所示

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

在原生調(diào)用webview方法,這種協(xié)議已經(jīng)非常常用了,直接調(diào)用loadJS();但是自定義協(xié)議這個過程,使用的攔截跳轉(zhuǎn)的方式,按照預定的協(xié)議來解析數(shù)據(jù),這里面就有一些情況,比如數(shù)據(jù)中出現(xiàn)了中文,webview會encode這部分內(nèi)容,這就要求我們對攔截以后的內(nèi)容進行decode。

見下方代碼:

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

1   private String decodeUrl(String url) {2             try {3                 return URLDecoder.decode(url, "utf-8");4             }&
        
		

網(wǎng)友評論