原创 Gson Expected BEGIN_ARRAY but was STRING

剛開始看到Gson解析報這樣的錯誤,感覺Gson很low,定位問題也不說清楚,google查了一會,發現StackOverFlow上的情況和我的不太一樣,一長串的Json貼出來,格式也亂,看不出什麼頭緒。 但是折騰了一會,耐心看了一下,發

原创 Android定位sdk穩定打點實踐

去年我和定位sdk打交道比較多,用過了騰訊定位,百度,現在換成了高德,說實話,騰訊的sdk在普通業務中還行,如果在重定位的o2o應用中,那麼準確性,開發體驗,文檔api,耗電,耗流量方面都和百度,高德有點差距,騰訊最新的s

原创 Android 複雜佈局的ListView優化思路

         項目中用到一個內部複雜佈局的listview,每個item中都有動態的子item,相當於listview的item中還有listview的樣式。剛開始做的思路是,用一個listview,然後item中加個LinearLa

原创 Android 直接轉撥分機號碼

背景 今天產品經理給我提出一下需求,公司的客服電話號碼:101057,但是我們部門業務的分機號碼需要再按一個3鍵,這樣在APP中點擊聯繫客服之後,總是讓用戶再去選擇3,很可能選錯。所以問我能不能直接轉接3號分機,我就抱着試試看的態

原创 解決React-Native-Attached-DialogModule-to-host-with-pending-alert-but-no-FragmentManager

問題是這樣的,線上的Bugly爆出這樣一個錯誤,而且延續了好多個版本,一直沒有解決,崩潰次數已經上千次,因爲剛看過RN源碼所以斗膽嘗試解決一下。 Attached DialogModule to host with pending al

原创 SwipeRefreshLayout要點詳解

SwipRefreshLayout是google提供的support v4包下面的下拉刷新控件,他繼承自ViewGroup,內部可以放幾乎所有的滾動控件。This layout should be made the parent of

原创 想不通HTTPS如何校驗證書合法性來看

簡介 HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議 它是一個安全通信通道,它基於HTTP開發,用於在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來

原创 React-Native-源碼分析二-JSX如何渲染成原生頁面(上)

本文跳過了React-Native 的通訊過程,詳細請參考大頭鬼寫的Java和JS的通訊原理,雖然0.33版本加入了懶加載,原來配置表生成的時機和方式發生了改變,但是原理還是沒有改變:通過約定的JSON,解析出moduleName,fun

原创 React-Native-源碼分析三-JSX如何渲染成原生頁面(下)

前文中這次會反推JSX如何最終變化爲原生控件的過程,上面這部分算是原生的繪製已經結束,下面開始到JS代碼中找,JSX佈局如何傳達到原生的。 經驗之談:要憑藉我的半吊子js和C水平要去扒拉React-Native js部分的代碼,也是夠吃力

原创 EventBus要點解析

使用流程 register(object) eventBus.post(event) 舉個簡單例子 基類Activity public class CommonActivity extends AppCompatActivity {

原创 OkHttp header 中不能傳中文的坑

運營同事反饋說,有不止一個魅族用戶說,登錄不上我們的應用;我聽到這個問題,很自信的回覆他,肯定是用戶的網絡有問題,最多是後端的接口掛了,和app 沒有關係。但是bugly上看了一下,突然發現有個bug IllegalArgumen

原创 AndFix學到的東西

AndFix已經使用了一段時間了,但是到AndFix上看了一下,最近2個月都沒有更新代碼了,有141個issues和3個pull request沒人處理,其實AndFix的Contributors就倆個人,一個是rogerAce還有個是s

原创 React-Native-源碼分析

用React-Native也有1個月了,好多疑惑一直掛在心頭,沒有得到很好的答案,有道是: 紙上得來終覺淺,絕知此事要躬行 今天來源碼中一探究竟,博主使用的環境是 “react”: “15.3.1”, “react-nativ

原创 實現一個複雜的懸浮窗

且看這次的背景,產品需要實現這樣一個dialog 考慮到dialog中界面的複雜,使用dialog有點難以控制生命週期,所以我們想使用Activity來實現,但是實現了之後,發現了坑爹的事情,在按了home鍵之後在service中啓動a

原创 隊列在Android中是使用

先科普一下隊列: 隊列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱爲隊尾,進行刪除操作的端稱爲隊頭。隊列中