国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

android 記一次富文本加載之路

siberiawolf / 3090人閱讀

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

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

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

一段簡(jiǎn)單的html代碼

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

原生的webView 直接加載

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

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

第三方庫(kù)加載富文本

這里我使用的是RichText 第三方庫(kù)

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

同時(shí)排除了support包的沖突,使用上

RichText.initCacheDir(this);

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

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

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

加載html文件

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/53146.html

相關(guān)文章

  • 原生Js交互之DSBridge

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

    chunquedong 評(píng)論0 收藏0
  • 原生Js交互之DSBridge

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

    jemygraw 評(píng)論0 收藏0
  • 一次 android 線上 oom 問(wèn)題

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

    番茄西紅柿 評(píng)論0 收藏2637

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<