Android 開發(fā)中知識點記錄

1、retrofit2 addConverterFactory
返回值有兩種不同情況,一種是gson直接轉(zhuǎn)換對象 添加GsonConverterFactory.create()、
一種返回原本json串,添加ScalarsConverterFactory.create()
項目中碰到的情況是,獲取html代碼,然后解析圖片地址。但是使用了統(tǒng)一的retrofit,是gson自動轉(zhuǎn)換結(jié)果的。

2、集成ReactNative步驟。
1、copy node_modeles .flowconfig package.json index.android.js進項目。
2、配置gradle:app project。配置RNActivity。
3、配置manifest權(quán)限以及DEVactivity。
4、npm start.

3、自定義ViewGroup動態(tài)添加子view,子view的LayoutParams問題

TextView textView = (TextView) TextView.inflate(context, R.layout.tag_text_layout, null);

如果子view是通過上面方式在代碼里動態(tài)添加進自定義的ViewGroup中的,要給子view設(shè)置LayoutParams,否則,會調(diào)用父容器,也就是自定義ViewGroup的generateDefaultLayoutParams(),進行設(shè)置。

 LayoutInflater inflater=getLayoutInflater();
TextView textView = (TextView) inflater.inflate(R.layout.tag_text_layout,articleFlow,false);

但是以這種方式去生成TextView,就可以拿到在XML內(nèi)設(shè)置的參數(shù)。
因為以第一種方式生成View,會失去XML內(nèi)根布局(最外層布局)的屬性設(shè)置,并且默認沒有LayoutParams,通過父容器的generateDefaultLayoutParams(),重新生成的LayoutParams沒有任何額外屬性,所以需要手動設(shè)置LayoutParams給子View,第二種方式拿到的View,可以拿到XML中設(shè)置的值。并且正常生效。

4、服務(wù)端接口內(nèi)報錯,回應(yīng)的Content-length為0
使用Retrofitd的Gson轉(zhuǎn)換會報錯。因為回傳的報文長度為0,一個長度都沒有。也不是空字符串,所以解析會失敗,出現(xiàn)錯誤。

如果該文章對您有所幫助,希望您可以點下喜歡~給作者一點鼓勵!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容