原创 自定義View系列:仿微信QQ等圖片選擇展示控件

本篇主要講解如何實現一個簡易的選擇上傳圖片時的展示控件,該自定義控件繼承自ViewGroup,支持網格排列,以及橫向排列。最終效果如下圖: 網格佈局 水平佈局 自定義View 上圖中每個ImageView的右上角都有一個刪

原创 IntentService意圖服務 源碼解讀

基本概念 IntentService作用 IntentService是Service類的子類,常用來在後臺執行耗時的異步請求。我們不用去關心Service的創建和銷燬的細節。也不用單獨開線程,只管處理自己的任務,處理完過後系統會自

原创 Android中常見的XML解析方式

基本概念 概念:extensive markup language(可擴展的標記語言) XML是一種通用的數據存儲和交換格式,與平臺無關,與編程語言無關,與操作系統無關。給數據集成和交互提供了極大的便利。 將數據格式化成XM

原创 Android插件化探索(一)類加載器DexClassLoader

本文部分內容參考自《Android內核剖析》 基本概念 在Java環境中,有個概念叫做“類加載器”(ClassLoader),其作用是動態裝載Class文件。標準的Java SDK中有一個ClassLoader類,藉助它可以裝

原创 Handler消息機制 源碼解讀

基本概念 Handler消息機制的作用 大家知道子線程沒有辦法對UI界面上的內容進行操作,如果操作,將拋出異常:CalledFromWrongThreadException,爲了讓子線程能間接操作UI界面,Android中引入了H

原创 自定義View系列(一)基本概念

一直對於自定義view沒有進行深入研究過,最近抽空開始整理整理自定義view相關的知識,以便可以有個系統的深入的認識,也希望能夠給初學者一點啓示。 本篇主要介紹自定義view中一些相關API以及相關知識點。 初識Canvas和

原创 Android ImageView長按保存圖片及截屏相關知識

在日常開發中,可能會需要做長按保存圖片這個功能,又或者需要做個截屏分享功能。最近正好在研究這些東西,寫篇博客整理一下。 view長按保存圖片的幾種方式 如果是網絡圖片,我們可以直接選擇將圖片下載下來後保存,這種方式,簡單暴力,

原创 JAVA8 Lambda表達式完全解析

JAVA8 新特性 在學習JAVA8 Lambda之前,必須先了解一下JAVA8中與Lambda相關的新特性,不然對於一些概念會感到比較陌生。 1、 接口的默認方法和靜態方法 Java 8允許我們給接口添加一個默認方法,用d

原创 AsyncTask異步任務 源碼解讀

之前我們介紹了Handler的一些基本用法,也解讀了Handler的源碼。通過Handler我們可以簡便的切換到主線程進行UI操作。而AsyncTask的出現使我們不用去關心線程管理和切換的一些細節,我們可以更輕鬆的去操作UI。

原创 RxJava操作符大全

作者: maplejaw 本篇只解析標準包中的操作符。對於擴展包,由於使用率較低,如有需求,請讀者自行查閱文檔。 創建操作 以下操作符用於創建Observable。 create: 使用OnSubscribe從頭創建一個Obs

原创 TortoiseSVN新人使用指南

這篇文章源於6月份給公司新人作的關於SVN使用的培訓,轉眼已經過了幾個月的時間,丟了也怪可惜的,於是整理出來希望能夠幫助後來人快速入門。 安裝說明 使用說明 檢出項目 導入項目 提交 更新 查看日誌 版本回滾 版本控制 總

原创 使用ConstraintLayout構建一個靈活的佈局

簡介 ConstraintLayout允許你在不使用任何嵌套的情況下創建大型而又複雜的佈局。它與RelativeLayout非常相似,所有的view都依賴於兄弟控件和父控件的相對關係。但是,ConstraintLayout比Relativ

原创 OkHttp3 源碼解讀

轉載請註明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_) 開源庫地址:https://github.com/square/okhttp 解讀版本:3.4.1 OkHttp是目前非常流行的網

原创 Android插件化探索系列——文章索引

【 Android插件化探索(一)類加載器DexClassLoader】 這篇主要介紹了類加載器DexClassLoader,看完本篇就能知道如何加載插件中的類。 【 Android插件化探索(二)資源加載】 這篇主要介紹了資源加載

原创 Retrofit2 源碼解讀

轉載請註明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_) 開源庫地址:https://github.com/square/retrofit 解讀版本:2.1.0 基本概念 Retrofit