原创 懶加載Fragment

爲什麼要使用懶加載 比如TabLayout+ViewPager這種模式,普通加載會請求所有頁面的數據並繪製,這樣對流量,性能都造成一定的浪費。使用懶加載可以優化加載網絡數據的時機,做到在需要時加載,不需要時不加載。 實現思路 由於

原创 安卓存儲——內部存儲,外部存儲

1. 內部存儲 內部存儲空間是和應用關聯的,存儲在內部存儲中的文件只能被應用訪問到。一個應用所創建的文件都在和應用包名相同的目錄下,應用被卸載後這些文件也被刪除。 獲取存儲的方法 獲取內部存儲的根路徑:/data Environ

原创 Kotlin——02.類和對象

類的定義 Kotlin 類可以包含:構造函數,初始化代碼塊、函數、屬性、內部類、對象聲明。 Kotlin 中使用關鍵字 class 聲明類,後面緊跟類名: class Person{ // 類名爲 Person // 大

原创 設計模式——02.Build設計模式

簡介 Build模式是一步一步創建複雜對象的模式。允許用戶在不知道內部構造細節的情況下,可以更精細的控制對象的構造流程。該模式是爲了將構建複雜對象的過程和構造它的部件解耦,使得構建的過程和部件的表示隔離開,兩者之間的耦合度降到最低

原创 Retrofit——01.入門

Retrofit 是一個 Restful API 的 HTTP 網絡請求框架的封裝,網絡請求的工作本質上是 OkHttp 完成,而 Retrofit 僅負責 網絡請求接口的封裝 注:Restful API瞭解請移步 RESTf

原创 kotlin——03.擴展,泛型

擴展 Kotlin 可以對一個類的屬性和方法進行擴展,且不需要繼承或使用 Decorator 模式。 擴展是一種靜態行爲,對被擴展的類代碼本身不會造成任何影響。 擴展函數的聲明非常簡單,它的關鍵字是 < Type >,此外我們需

原创 kotlin入門——01.基礎

數據類型 Kotlin不區分基本類型和引用類型,統一都是引用類型。爲了表示數值、字符、布爾值、數組、集合等,Kotlin幫我們定義了很多類型。我們也可以稱幫我們定義好的這些類型爲“內置類型”。 變量 var (variable

原创 屏幕適配——01.基本概念

屏幕尺寸 屏幕尺寸指屏幕的對角線的長度,單位是英寸,1英寸=2.54釐米,比如常見的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等 屏幕分辨率 屏幕分辨率是指在橫縱向上的像素點數,單位是px,1

原创 設計模式——01.單例設計模式

什麼是單例設計模式? 單例模式是一種常用的軟件設計模式,通過單例,保證系統中只有一個對象實例。 具體實現 將構造方法私有化,使其不能在外部通過new實例化該對象 在該類的內部產生一個唯一的實例化類對象,將其封裝爲private

原创 android圖片濾鏡功能實現

1. ColorMatrix實現 系統使用一個顏色矩陣——ColorMatrix,來處理圖像的色彩效果。在色彩處理中,通常使用以下三個角度來描述一個圖像。 色調——物體傳播的顏色 飽和度——顏色的純度,從0(灰)到100%(飽和

原创 殺不死的服務

後臺服務 有個需求,要在android設備裏面內置app,將設備信息定時上傳服務端。 殺不死的服務 做了幾次修改,從開始的啓動設備一天app就停止服務,到現在測試一個星期沒有出現問題。show code 守護進程 <serv

原创 RxJava——2.創建操作符

just() 作用: 快速創建1個被觀察者對象(Observable) 發送事件的特點:直接發送傳入的事件 應用場景 快速創建 被觀察者對象(Observable) & 發送10個以下事件 Observable.jus

原创 Android Studio 從2.3.1升級到3.4.1遇到的問題

1.打包報錯 處理方式 如下圖,打開此文件,找到錯誤的文件,發現在我的佈局文件裏面使用了id,但是id沒有定義所以出錯了。 2.配置打包apk名字出錯 AS 2.3.1 版本如下配置沒有問題,但是3.4.1報錯 buil

原创 CoordinatorLayout使用——layout_scrollFlags參數

layout_scrollFlags參數控制AppBarLayout中控件的行爲 scroll:Child View 伴隨着scrollingView的滾動事件而滾出或滾進屏幕 使用說明: 當ScrollView將要向下滾動

原创 自定義view——01.基礎

自定義view實現方式 類型 定義 自定義組合控件 多個控件組合成爲一個新的控件,方便多處複用 繼承系統View控件 繼承自TextView等系統控件,在系統控件的基礎功能上進行擴展 繼承View 不復用系統