原创 Java設計模式——單例模式

概述 單例模式:確保某個類只有一個實例,並自行實例化向整個系統提供這個實例 實現單例模式的關鍵點: 構造函數不對外開放,一般爲private 通過一個靜態方法或者枚舉返回單例類對象 確保單例類的對象有且只有一個,尤其在多線程環境下 確保

原创 Android架構組件—Lifecycle

概述 Lifecycle組件是LiveData和ViewModle的基礎,包括LifecycleOwner、LifecycleObserver。所以先學習Lifecycle有助於後續理解架構組件。 爲什麼需要Lifecycle? 在我們日

原创 Android藍牙相關—藍牙打印

一、概述 最近公司剛好遇到個藍牙打印的功能,以前實習時看到過類似功能,剛好這次自己實現,順便記錄一下。 二、基本環境 權限: <uses-permission android:name="android.permission.BLUETO

原创 Android框架——dagger2知識點補缺

一、關於@Scope @Scope作用域其實是用來保持在實例有效作用域內的單例(由同一個Component提供)。比如系統自帶的@Singleton,通常用在ApplicationComponent這個用來管理app全局實例的組件中,通過

原创 Android框架—Dagger2使用

一、概述 現在android開發越來越多的應用到各種框架,一個好的app架構不但可以支持好的性能,同時也可以更方便快捷的開發功能。依賴注入是java後端開發spring的核心技術,而對於android來說現在由谷歌爸爸親管的dagger則

原创 Android Fragment學習與使用—高級篇

一、概述 上一篇已經說明了Fragment的生命週期,以及基礎的使用方法和一些api的作用。但是想要在項目中使用好Fragment必須能夠清晰明白的管理好它的狀態,以下會介紹實際開發會遇到的一些場景。 二、Fragment回退棧管理 Ac

原创 面向對象--單一職責原則和開閉原則學習(簡易ImageLoader)

一、概述 這篇是讀《Android源碼設計模式解析與實戰》的第一篇記錄,今天學習了面向對象六大原則中的其二:單一職責原則和開閉原則。單一職責原則簡單來說一個類只實現一個功能;開閉原則則是對於擴展是開放的,對於修改是關閉的。這些原則都是用來

原创 Android優化技巧—內存優化

一、查詢應用運行的內存限制 代碼如下: ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); /**

原创 Android Fragment學習與使用—基礎篇

一、概述 Fragment已經出現了好幾年了,首次接觸是在替代TabHost配合RadioButton實現底部多頁導航功能時,現在已經基本都改爲ViewPager+Fragment實現。但之後自己在開發功能時都不會下意識去使用這些技術,導

原创 Android小記——關閉實現Closeable的對象

一、背景 《Android源碼設計模式解析與實戰》學習依賴倒置原則和接口隔離原則時書中所記,平時開發過程中並沒有注意到,所以就記錄一下。 二、代碼背景 在Java6以及之前的JDK版本,有一個非常討厭的問題,那就是在使用了OutputSt