原创 組件化開發中引用aar包引起的jar包衝突問題

背景: 公司項目需要引用公司內部開發的IM組件,組件以AAR包的形式進行引入,由於IM組件相當於一個完整的項目,所以用到的jar包比較多,比如fastjson、okhttp、glide。 這些jar包在項目中的common庫中也有引用,所

原创 Application回收重啓程序

背景:   Android系統會自動回收退到後臺的應用,我們可以運行一個後臺Service,讓我們的應用被回收的優先級變低,當時終歸還是無法保證我們的進程被系統回收。 當系統被回收之後,我們緩存的一些數據也會被回收,當再次進入Activi

原创 Drawable分類

android中的drawable一般用於設置View的背景,我們常用xml定義的drawable的有ShapeDrawable,StateListDrawable,下面我們介紹一下android中的drawable,這對我們自定義顏色圖

原创 Android View的事件分發機制

Android工資翻倍篇之事件分發機制 1 案例描述 我們在開發中經常會遇到滑動衝突和點擊衝突的情況,比如ScrollView和ListView的滑動衝突,listView中button點擊事件和ListView本身的點擊事件衝突等,這

原创 RecyclerView使用ItemDecoration設置分割線

RecyclerView使用ItemDecoration設置分割線 public class MySpaceItemDecoration extends RecyclerView.ItemDecoration { private

原创 如何對Android設備進行網絡抓包

問題描述:        前段時間自己的app訪問服務器的url總是會出現間接性失敗的問題,於是和服務器的同事開了個會,提出了他們服務器存在的這個bug,我的同事自然說自己的服務器沒問題,然後要我重現bug然後提供抓包給他分析。所以我自己

原创 工廠方法模式(factory method)

Android工資翻倍篇之工廠模式 試想一下這樣的場景,假如代碼中用new創建一個類創建了20次,也就是說new了20次,突然有一天發現這個類的構造方法需要改變,裏面需要新加一個參數,這個時候,就需要去找到這20個new的地方,然後分

原创 Handler詳解

一、問題描述: 利用Handler能夠輕鬆的將任務發送到Handler所在的線程進行處理。Android中用到最多的是將在線程中訪問網絡獲取到的數據通過Handler發送到UI線程進行UI操作。那麼Handler的實現原理是什麼呢。 二

原创 適配器模式在Android中的應用

工資翻倍篇之適配器模式 先了解一下適配器的基本概念,然後再具體分析一些適配器的例子,最後通過Android開發中常用的適配器模式進行分析,保證對適配器模式理解透徹。 適配器模式可分爲三類:類的適配器、對象的適配器、接口的適配器。1、適配

原创 Handler.post執行時所在線程分析

問題描述: Android中Handler.post可以用來修改UI佈局,關於Handler機制可以參看我的另一篇博客《Handler詳解》。handler.post(Runnable r)方法是將Runnable對象發送到主線程中執行,

原创 通過Observer(觀察者模式)來看Android的MVC

Android工資翻倍篇之觀察者模式 android中運用最多的observer模式就是listener的使用 比如一個activity中點擊button響應onClick事件 View就是一個被觀察者(observable) 這個

原创 JNI和NDK

JNI簡稱JAVA Native Interface ndk簡稱Native Development Kit本地開發工具包 jni的作用 由於android的應用層都是用java寫的,這些java類編譯爲DEX類型的bytecode後,

原创 2015年總結

       今天是2015年的倒數第二天了。到上海已經快兩年了,2014年的三月份到上海,然後開始了自己在上海的征程,爲什麼說是征程,因爲我覺得我一直在突破自己,挑戰自己,這個過程更多有的是對自己和對生活不服輸的心態。到今天我想我還遠遠

原创 Android權限管理

問題背景:Android權限管理分爲6.0以上和以下。其中6.0以下的權限管理有很多的坑,爲了兼容6.0,我們需要對5.0的權限進行對應的處理。 5.0的權限機制 5.0的權限無論你怎麼獲取都是已經授權,因爲6.0以下的權限只要你在

原创 抓包分析TCP的三次握手和四次握手

問題描述:        在上一篇《如何對Android設備進行抓包》中提到了,服務器的開發人員需要我bug重現然後提供抓包給他們分析,所以抓好包自己也試着分析了一下。發現裏面全是一些TCP協議和HTTP協議。所以要想進行抓包分析,必須先