原创 Android-觸摸事件分發

一、什麼是觸摸事件分發,分發的是什麼? 觸摸事件分發,顧名思義就是將觸摸事件(MotionEvent)進行傳遞的過程。 MotionEvent也就是觸摸事件,主要分爲幾種類型: 類型 介紹 MotionEvent

原创 Android 打包沒有classes.dex文件

偶然的一次發現 升級版本的時候打包 發現原來6MB多的apk現在打出來只有2點幾MB 看了下就是缺失classes.dex 花了快一週的時間排查 才發現是因爲自己引入了一個這樣的aspectjx插件(本意是想利用AOP做按鈕防抖動)導致的

原创 關於ButterKnife.Bind(Activity)後控件空指針的問題

好幾次在這個地方栽跟頭,全因沒有加上到這個庫的annotationProcessor。包括dagger,eventBus也是一樣,沒生效首先看build.gradle(app)裏面有沒有加上annotationProcessor。 ann

原创 Android ClassNotFoundException/NoClassDefFoundError

在引入Glide4.8.0後,開始使用Glide,結果就報如下這個錯:  經過很長時間的排查,發現是第三方依賴與我app引入的glide版本不同,我使用的mvpArms 2.5.2依賴4.11.0的Glide庫,而我本地項目用的4.8.

原创 Parcelable踩坑

問題 ************* Crash Log Head **************** Device Manufacturer: alps Device Model : S21 Android Version

原创 對Handler的理解學習

一、Handler的作用 官方解釋 Handler允許你發送和處理Message和與線程的MessageQueue關聯的Runnable對象。每個Handler實例與一個線程和它的MessageQueue相關聯。當你創建一個新的

原创 關於map的細節-map.get(Object key)爲null

現象 map.get(Object key)爲null,我很確定這個key是我傳進去並且自認爲是與put進去的值相等。 過程 我有一個用於儲存成績信息的座標(key)及成績值(value)的LinkedHashMap: pri

原创 DBFlow修改表結構-增加主鍵

注意:此方式存在問題,解決方案請看文章最後“缺陷-解決” 目的 原有表Reform設計是一個主鍵reformId,由於業務需求需要設置聯合主鍵(reformId, userId)。 思路 由於sqlite不支持建表後刪除列和修改

原创 EditText獲取不到焦點以及不自動彈出軟鍵盤

按照廣大熱心網友的指導,做了以下操作: ditText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); ac

原创 ANR產生原因和處理

ANR定義 ANR是Application Not Responding的縮寫,指應用無響應。這是Android設計的一種機制,希望我們在其規定時間內完成動作,如果沒有完成,給用戶提示某一過程耗時太長。 ANR產生原因 接着上面所

原创 動態加載so庫

今天在集成虹軟的人臉demo的時候,發現so庫太大也就導致apk體積大。於是用動態加載,理論上是從服務器下載,然後放到指定位置進行加載,這裏先在本地進行拷貝。一共兩個文件:libarcsoft_face.so和libarcsoft_fac

原创 Resource IDs cannot be used in a switch statement in Android library modules.

在組件化開發中,當我們使用switch來進行判斷操作時,會報這個錯誤,原因是R.id.XXX這類資源id在主application中是final,是常量,而在library中,是沒有final的。這裏盜個圖: 所以我們需要將switch

原创 Java版Wanandroid

JWanandroid 項目地址 JWanandroid 介紹 Java版Wanandroid客戶端,主體使用MVPArms,利用 MVP + RxJava + Retrofit + Glide + EventBus等框架開發。

原创 Retrofit小細節

一、動態替換BaseUrl 在平時開發過程中,可能會遇到使用不同的BaseUrl請求的情況,比如我業務邏輯有一個url,然後請求資源(比如圖片)又是另外一個地址。這裏我的例子是wanandroid的api和必應的每日一圖接口(來自

原创 對Handler的理解

一、Handler的作用 官方解釋 Handler允許你發送和處理Message和與線程的MessageQueue關聯的Runnable對象。每個Handler實例與一個線程和它的MessageQueue相關聯。當你創建一個新的