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

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

  如圖所示

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

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

見下方代碼:

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

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