原创 OKHttp分析筆記一

1.OkHttp(OkHttp的版本implementation "com.squareup.okhttp3:okhttp:3.12.3")的常規用法,如下: OkHttpClient client = new OkHttpClien

原创 java 面試基礎

1.什麼是面對對象? 面向對象編程是使用類,對象,繼承性、多態性、封裝性和抽象的一種程序設計方法。 注意“基於對象”和“面向對象”的區別 1.基於對象,通常是指的是對數據的封裝,以及提供一組方法對封裝過的數據操作。 2.面向對象,則是基於

原创 AsynTask的基本使用和源碼的剖析

前言 AsynTask是Android提供的一個輕量級的異步類,使用時可以直接繼承AsynTask,在類中可以直接進行UI操作,並將後臺計算的結果及時的交給UI線程進行UI界面顯示,而這些操作之前是由Thread+Headler進行的,但

原创 關於Service生命週期的那些事

1.概述   作爲四大組件之一的Service,主要作用於後臺,例如下載等,無UI界面 2.生命週期   Service的生命週期會因其啓動方式,有所差異。Service的啓動方式有兩種startService()和bindService

原创 Handler 源碼分析

  1.概念     Handler主要用於線程之間的通信,例如刷新主界面UI等,其通信流程圖如下: Handler流程圖 在這個過程中,Handler即作爲發起者也作爲終結者,Message作爲基本信息載體,MessageQueue作

原创 Android AIDL學習(三)

1.概述 AIDL必須使用Java語言構建.aidl文件,每個.aidl文件都必須定義單個接口,並且只需包含接口聲明和方法簽名; 2.AIDl所支持的數據類型 2.1Java中基本數據類型,例如Int 、byte、Boolean、doub

原创 Android 使用Messenger跨進程通信(二)

Messenger:中文爲信使,他可以在不同進程中傳遞的Message對象,只需要在Message中放入我們所傳遞的信息(數據)即可。Messenger的使用流程可見下圖: 1.創建服務端Service來處理Client的連接請求,同事

原创 Android Binder學習(一)

1.Binder的定義和作用 1.1 從Android代碼的實現角度來講,Binder是Android中的一個類,它實現了IBinder接口。 1.2從其模型的結構、組成來說,Binder是一種虛擬的物理設備驅動,在Android的Fra

原创 Tablayout 自定義Indicator的寬度

1.有關TabLayout的使用網上有很多,關於其只是其寬度的問題目前主流的有以下幾種: 1.1利用反射,相關地址,在某些機型有問題,https://blog.csdn.net/u013134391/article/details/708

原创 Android PDF閱讀開發

最近項目裏,需要集成PDF閱讀,翻閱了很多網站,發現Android系統不支持PDF閱讀,網上現有的庫和插件,都會增大apk的體積,綜合比較了一下,解決方案有如下幾種: 1.谷歌提供了在線閱讀,在webView中調用GoogleDocs  

原创 java編程思想(第四版)中如何導入net.mindview.util.print.*包問題

首先去網上下載mindview.jar這個jar包,地址https://pan.baidu.com/s/1G_txj0OEOdb0-yr_hJfjAg,密碼:9g2v。我用的是IDEA,步驟如下:添加jar包依賴好的,完成之後,就可以使用

原创 Tablayout標題換行

在開發中,遇到當tablayout的標題文字過長時,會導致標題換行,如下圖我的xml如下 <LinearLayout android:layout_width="match_parent"

原创 SwipeToLoadLayout與webView之間存在下拉刷新和滑動衝突的問題

在下拉刷新時webView和SwipeToLoadLayout存在滑動衝突,此時自定義WebView,重寫WebView的onScrollChanged()方法,如下:public class Scroll