成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

android 記一次富文本加載之路

siberiawolf / 3109人閱讀

摘要:一段簡單的代碼程序猿原生加載富文本原生的直接加載如果是有方法,但是這種加載方式,圖片無法在顯示。以上的兩種方式按自己的需求來進(jìn)行使用的,試用于后臺接口直接返回數(shù)據(jù)給移動端進(jìn)行加載的。

文章鏈接:https://mp.weixin.qq.com/s/69TRkmFL1aNuSqfw4ULMJw

項目中經(jīng)常涉及到富文本的加載,后臺管理端編輯器生成的一段html 代碼要渲染到移動端上面,一種方法是前端做成html頁面,放到服務(wù)器上,移動端這邊直接webView 加載url即可,還有一種后臺接口直接返回這段html富文本的,String類型的,移動端直接加載的;具體的需求按實際情況而定,webview直接加載url的就不說了,這里主要說說關(guān)于直接加載html的。

一段簡單的html代碼

private String txt = "
" + "程序猿TX " + "
" + " ";
原生webView 加載富文本

原生的webView 直接加載

webView.loadDataWithBaseURL(null,txt,"text/html","UTF-8",null);

如果是textView 有setText(Html.fromHtml(txt))方法,但是這種加載方式,圖片無法在textView顯示。
如果非要使用textView 加載...

第三方庫加載富文本

這里我使用的是RichText 第三方庫

implementation ("com.zzhoujay.richtext:richtext:3.0.7"){
        exclude group: "com.android.support"
}

同時排除了support包的沖突,使用上

RichText.initCacheDir(this);

RichText.from(txt).into(tv);

更多的方法可以去github上查看,這種方式圖片是可以加載的,但是css的樣式是沒法呈現(xiàn)的。

以上的兩種方式按自己的需求來進(jìn)行使用的,試用于后臺接口直接返回數(shù)據(jù)給移動端進(jìn)行加載的。

加載html文件

一般的webView直接加載url體驗上沒那么流暢,相對的加載html文件會好點。后臺依舊返回html數(shù)據(jù)給移動端,前端負(fù)責(zé)寫html 文件模板,android將html文件放在assets 文件夾下面,通過webView.loadUrl("file:///android_asset/**.html")加載,至于數(shù)據(jù),就是移動端與前端的交互了,之前推薦過一個三方庫 [android與js的交互之jsbridge使用
](https://www.manjiexiang.cn/bl...,通過這種方式將數(shù)據(jù)傳遞給前端,同時可以監(jiān)聽到j(luò)s的方法調(diào)用。
這種方式更加適用于一個頁面模板可以反復(fù)使用的,后臺返回不同的數(shù)據(jù)進(jìn)行加載。一個場景就是 viewpager里面的每個fragment頁面結(jié)構(gòu)相同,如果使用url加載,每個fragment里的webview去加載一個url,這種在體驗上就不是很優(yōu)雅,而使用html文件加載的方式,后臺可以返回list 數(shù)據(jù)給移動端,對應(yīng)的去用webview加載本地文件,把各項的數(shù)據(jù)傳給前端展示,加載渲染的速度上會快點。當(dāng)然如果原生的可以直接渲染頁面的,優(yōu)先原生的。
如果是那種單頁面,只是瀏覽功能的,類似于 "關(guān)于我們" 那種頁面可以直接用url加載的。

這篇文章主要介紹的是關(guān)于html 加載的,目前我們使用的是第三種方式的,不同的需求場景得根據(jù)各個項目來定的,關(guān)于第三種加載 html 文件的,后續(xù)再寫一篇文章介紹移動端與前端交互的,而且我們加載的富文本內(nèi)容相對的也不一樣。

歡迎關(guān)注我的個人博客:https://www.manjiexiang.cn/

更多精彩歡迎關(guān)注微信號:春風(fēng)十里不如認(rèn)識你
一起學(xué)習(xí),一起進(jìn)步,歡迎上車,有問題隨時聯(lián)系,一起解決?。?!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/53146.html

相關(guān)文章

  • 原生Js交互之DSBridge

    摘要:傳值給原生通過方法傳值,簡單模擬了點擊事件來傳遞。第一個參數(shù)是約定注冊的名稱,與原生接受處方法名一致第二個參數(shù)是要傳遞的值第三個參數(shù)是接受原生返回的回調(diào)。 文章鏈接:https://mp.weixin.qq.com/s/Iqd0dKM-ZW4UwkIgSTnvYg 在上一篇文章「android 記一次富文本加載之路」中 介紹了關(guān)于android加載富文本的方法,其中提到的加載html...

    chunquedong 評論0 收藏0
  • 原生Js交互之DSBridge

    摘要:傳值給原生通過方法傳值,簡單模擬了點擊事件來傳遞。第一個參數(shù)是約定注冊的名稱,與原生接受處方法名一致第二個參數(shù)是要傳遞的值第三個參數(shù)是接受原生返回的回調(diào)。 文章鏈接:https://mp.weixin.qq.com/s/Iqd0dKM-ZW4UwkIgSTnvYg 在上一篇文章「android 記一次富文本加載之路」中 介紹了關(guān)于android加載富文本的方法,其中提到的加載html...

    jemygraw 評論0 收藏0
  • 一次 android 線上 oom 問題

    摘要:問題分析隨著回滾版本的放量,主端崩潰逐漸回歸正常,進(jìn)一步坐實了新版本存在問題。內(nèi)容非常多但都是重復(fù)的,看起來進(jìn)程沒有啟動,導(dǎo)致連接端一直在進(jìn)行重連。背景公司的主打產(chǎn)品是一款跨平臺的 App,我的部門負(fù)責(zé)為它提供底層的 sdk 用于數(shù)據(jù)傳輸,我負(fù)責(zé)的是 Adnroid 端的 sdk 開發(fā)。sdk 并不直接加載在 App 主進(jìn)程,而是隔離在一個多帶帶進(jìn)程中,然后兩個進(jìn)程通過 tcp 連接進(jìn)行通信...

    番茄西紅柿 評論0 收藏2637

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<