也談DataBinding遇到的惡心的Bug,踩坑踐行者章蚣。

項目中遇到的一個問題站欺,分享出來,希望大家可以不踩這個坑

前話纤垂,公司是用Mac開發(fā)矾策,在家里有時候會用Win加加班,公司的項目有幾個使用了Databinding峭沦,在Mac上運行都是沒有問題的贾虽,我推到Git上,回家拉下來吼鱼,其中的一個報錯了蓬豁,另外的都沒有問題!

分析問題
  • 公司項目本身沒有錯,在家里報錯几苍,問題應(yīng)該不在代碼層面上
  • 之前處理過一次utf8的問題翻屈,win下gradle 添加這么一行東西
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

那么這一次極有可能仍然是編碼的問題,其中報錯有兩行比較重要的摘錄出來
android.databinding.annotationprocessor.ProcessExpressions@65ff4c24 javax.xml.bind.UnmarshalException with linked exception:
Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.

我們遇到的坑大概率是別人踩過的坑妻坝,Google或者其他的搜索引擎伸眶,據(jù)說是IDE的一部分,于是找到了這個博客,確定了自己的猜測刽宪。

http://blog.csdn.net/lablenet/article/details/52305529

題外話&問題原因&個人習(xí)慣

Databinding最好的使用厘贼,通常是后臺返回直接展示的數(shù)據(jù),而實際上后臺返回的數(shù)據(jù)有時候需要我們在處理一下圣拄,我的同事的方法是跟鏈接博客中一樣嘴秸,喜歡在xml里面做操作,(比如android:text='@{monthBean.onlineCount+"單"}')我自己則是喜歡在bean對象里面做處理庇谆,通過前綴為getStringXXX的方式來獲取岳掐,而導(dǎo)致這個問題原因正是因為在xml里面做拼接的字符不能被正確的解析,那么問題來了饭耳,另外其他的項目串述,同事也有在外面做處理,為什么沒有報錯寞肖,猜測是特定的字符不能被解析造成的纲酗。

剩下的就是力氣活,由于有段時間沒有拉這個代碼逝淹,積累的較多耕姊,我不能確定是什么時候造成的,只能猜測著用Git不斷的切換,定位到產(chǎn)生的原因.
不管怎樣終于找到了,奇怪的是有的拼接沒有問題有的拼接有問題,這其實是另外兩個同事寫的,看來同樣是mac還是有些差別,anyway總算解決了可以繼續(xù)寫應(yīng)該寫的了.

android:text='@{monthBean.onlineCount+"單"}'            報錯
android:text='@{billCheckoutInfo.runKm+ "公里"}'      不報錯```

#####解決和建議
```android:text='@{monthlyBeanBinding.onlineCount + @string/dan}'```
我會在跟同事核實為什么一個人的拼接沒問題另一個人報錯,建議是用getStringXXX的方式來拼接,那樣可以避免這些問題,如果非要拼接就要用@String/XXX的方式.
希望以后不要再遇到這樣的問題,耽擱了一段時間,但是我還是喜歡win系統(tǒng),總感覺文件系統(tǒng)就應(yīng)該是win這樣而不是mac那樣,很不習(xí)慣.
###測試評論網(wǎng)友的方法好用
有人詢問是如何配置,截圖貼明,編譯時候會有嘆號,不過沒關(guān)系,就跟高德地圖報錯864個,但是不影響使用.

![圖片.png](http://upload-images.jianshu.io/upload_images/1927528-628f12d0330b42dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后放上CC
![圖片.png](http://upload-images.jianshu.io/upload_images/1927528-9bc3ee3b692c99c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桶唐,一起剝皮案震驚了整個濱河市栅葡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌尤泽,老刑警劉巖欣簇,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坯约,居然都是意外死亡熊咽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門闹丐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來横殴,“玉大人,你說我怎么就攤上這事∩缆兀” “怎么了梨与?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長文狱。 經(jīng)常有香客問我粥鞋,道長,這世上最難降的妖魔是什么瞄崇? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任呻粹,我火速辦了婚禮,結(jié)果婚禮上苏研,老公的妹妹穿的比我還像新娘等浊。我一直安慰自己,他們只是感情好摹蘑,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布凿掂。 她就那樣靜靜地躺著,像睡著了一般纹蝴。 火紅的嫁衣襯著肌膚如雪庄萎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天塘安,我揣著相機與錄音糠涛,去河邊找鬼。 笑死兼犯,一個胖子當著我的面吹牛忍捡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播切黔,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼砸脊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纬霞?” 一聲冷哼從身側(cè)響起凌埂,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诗芜,沒想到半個月后瞳抓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡伏恐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年孩哑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翠桦。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡横蜒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丛晌,我是刑警寧澤鹰霍,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站茵乱,受9級特大地震影響茂洒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓶竭,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一督勺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斤贰,春花似錦智哀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至送巡,卻和暖如春摹菠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骗爆。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工次氨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摘投。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓煮寡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親犀呼。 傳聞我的和親對象是個殘疾皇子幸撕,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容