原创 【java基礎】POJO和JavaBean的區別

說實在話,在印象裏。這兩個概念一直覺得是一樣的,分不清他們的區別。今天特地在網上找了一篇文章(謝謝博主@lushuaiyin的分享),覺得講的很不錯。所以分享一下: 什麼是POJO  按照Martin Fowler的解釋是“Plai

原创 【Java基礎】異常

Java中什麼是Exception? 所有的異常都是通過Throwable衍生出來的。Throwable把錯誤進 一步劃分爲 java.lang.Exception 和 java.lang.Error. java.lang.Er

原创 【Webview相關問題】登陸失敗之cookie陷阱

什麼問題呢? 又是一個android獨有的問題。 12306一直登陸不上,但是在某些手機上又可以。 檢查請求數據,一個不查 什麼原因呢? 在12306登陸的時候,會有這麼個熟悉的驗證碼出現。 驗證碼及之後的交互時序圖如下:

原创 【Android基礎】動畫

Android裏的動畫分爲兩類,以3.0版本爲分水嶺。 3.0前已存在 幀動畫 補間動畫 3.0出現 屬性動畫 幀動畫 顧名思義,快速切換幾張圖片來達到動畫的效果。 建立幀動畫xml Note:不要把這個幀動畫文件放到an

原创 【java】用戶動態代理

何謂動態代理呢? 先說說代理模式吧。 當調用某個代理對象方法的時候,其實它間接的去調用委託類的方法。 代理模式的作用是: 遠程代理,就是爲一個對象在不同地址空間提供局部代表,這樣就可以隱藏一個對象存在不同地址空間的事實。an

原创 【網絡基礎】爲什麼要對url進行encode呢?

URL編碼背景 在URI的最初設計時,希望能通過書面轉錄,比如寫在餐巾紙上告訴另外一人,因此URI的構成字符必須是可寫的ASCII字符。在這些可書寫的字符裏,由於一些字符在不同操作系統的編碼有不同的解析,被包含在“不安全字符”之中

原创 【Android View繪製之旅】Measure過程

1.爲什麼要進行Measure? 替人做了原本應該做的工作。在寫xml的時候,佈局參數如 wrap_content,match_parent,weight 等等給我們開發界面的時候帶來方便,但是機器可是死的,最終繪製界面的時候需要

原创 【Android基礎】從屬性動畫看代碼設計的藝術

3.0引入的屬性動畫相比之前的幀動畫及補間動畫做出了很大的設計上的突破,功能更加強大,結構上更加鬆耦合。在設計上很值得我們去學習。 做了這麼幾層抽象 第一層:任何View的動畫都可以抽象成對View某種屬性值的改變。 Obje

原创 【Android View繪製之旅】Layout過程

1.爲什麼要進行Layout? 在【Android View繪製之旅】View之測量Measure過程後,View我們得到View的寬高,但光只有寬高值是不足以反映視圖的,更需要知道View所在的位置。 Layout第一步:lay

原创 【Gradle】藉助gradle的ProductFlavor實現多App間代碼庫複用

背景是什麼? lib A 和 lib A’ 擁有大部分相同的代碼,小部分的產品特性差異,但是lib A是用在App 1 中,而lib A’是用在App 2上,如果分開維護兩份代碼拷貝,工作量將極爲巨大。 如何代碼複用 藉助gra

原创 【Android基礎】RecyclerView的設計藝術

總覽 RecyclerView 和 ListView GridView之類比起來 可謂集大成者,通過開放更加功能強大的接口,以一擋十。有如下幾點: 強制綁定ViewHolder ——Adapter ListView的view複用可

原创 【Android View繪製之旅】主脈絡

沒搞清楚View繪製原理會怎麼樣? 只會玩玩初級的組件 看不懂哪些絢麗效果組件實現的原理,即使你有源碼 PM會對你很失望,因爲有點高級特性你就跪了 當然好的工作機會是沒有你的份的 View繪製之旅該怎麼進行呢? 先分別瞭解三大

原创 【java新】Optional pk 空指針

空指針 Person person = people.find("John Smith"); person.doSomething(); 代碼一 如果沒有對person進行判空,那麼執行doSomething()方法的時候就會出現

原创 【Java基礎】四種Java引用類型

四種引用類型說明 虛引用的補充說明 “虛引用”顧名思義,就是形同虛設,與其他幾種引用都不同,虛引用並不會決定對象的生命週期。如果一個對象僅持有虛引用,那麼它就和沒有任何引用一樣,在任何時候都可能被垃圾回收器回收。 虛引用主要用

原创 【Charles】Breakpoint 斷點

斷點的url右鍵Breakpoints 工具欄 注意清除掉Query字段 然後在app有請求到這個url的時候,可以執行Edit request/response,編輯完後,點擊excute 就可以繼續了 ;