原创 PX、DP和SP之間的換算

在Android開發中,尺寸換算可以說既簡單又複雜,而且還比較碎,特別是屏幕適配的時候肯定會用到他們。今天就來總結一下他們三者的關係,首先說下他們都是什麼。 px:像素單位。最基礎的圖像構成元素單位 dp:與密度無關的像素,這

原创 Android Design Support Library使用詳解(一)

Design Support Library是在Google I/O 2015上發佈的一個全新兼容函數庫,它使得開發者可以在Android2.1(API = 7)及以上的設備中實現Material Design效果,這個函數庫提

原创 註解在Android中的應用

《Android 高級進階》讀書筆記 Android 開發中在很多地方都用到了註解,註解在Android中的作用不可謂不大。Android Support Library甚至專門推出了一個支持庫Support Annota

原创 23種設計模式之享元模式

享元模式是對象池的一種實現,用來儘可能減少內存使用量,它適合用於可能存在大量重複對象的場景,來緩存可共享的對象,達到對象共享,避免創建過多對象的效果,這樣就可以提升性能、避免內存溢出等。 享元對象中的部分狀態是可以共享的,

原创 Android Design Support Library使用詳解(二)

上一篇文章咱們已經學習了Snackbar,TextInputLayout、TabLayout、NavigationView、FloatingActionButton這四個MD新特性佈局。如果還沒有看的請先看下Android De

原创 Android View的繪製流程

View的繪製和事件處理是兩個重要的主題, 之前說過View的事件分發處理機制,如果還不太清楚的同學可以先看一下Android Touch事件的傳遞機制,這裏不再多說了。對於一些系統自帶控件實現不了的功能,就需要我們自己去自己繪

原创 23種設計模式之外觀模式

外觀模式在開發過程中的運用頻率非常高,通過一個外觀類使得整個系統的接口只有一個統一的高層接口,這樣能夠降低用戶的使用成本,也對用戶屏蔽了很多實現細節。 外觀模式的定義 要求一個子系統的外部與其內部的通信必須通過一個統一的對象

原创 Android Touch事件的傳遞機制

android中會經常遇到多個View ViewGroup嵌套的問題,如果想要快速的解決這種問題,就需要對View的事件傳遞有較深入的理解。一次完整的事件傳遞機制,主要是三個階段,分別是事件的分發,攔截和消費。 1 觸摸事件的

原创 MVC的介紹與實戰

MVC的基本簡介 MVC全稱是Model - View - Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。MVC是一種框架模式而非設計模式,GOF把MVC看作是3種設計模式:觀

原创 Android動畫機制完全解析

在Android 3.0之前的版本,我們能使用的動畫類型有兩種,分別是逐幀動畫和補間動畫;在Android3.0發佈時,Android SDK又爲開發者帶來了更加強大靈活的屬性動畫,使得實現複雜的動畫效果更加容易;隨着時間的推進

原创 Android進階Support Annotation Library 使用詳解

Support Annotation Library是從Android Support Library 19.1 開始引入的一個全新的函數包,它包含一系列有用的元註解,用來幫助開發者在編譯期間發現可能存在的Bug。Support

原创 Android 7.0 更新APK在安裝時的報錯 android.os.FileUriExposedException解決辦法

這幾天項目更新遇到的問題 Android 7.0 更新APK在安裝時的報錯 android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/

原创 23中設計模式之組合模式

組合模式也稱爲部分整體模式,結構型設計模式之一,組合模式比較簡單,它將一組相似的對象看作一個對象處理,並根據一個樹狀結構來組合對象,然後提供一個統一的方法去訪問相應的對象,以此忽略掉對象與對象集合之間的差別。 組合模式的定義

原创 ANR產生的原因及定位分析

ANR全稱是Application Not Responding,意思是應用程序無響應。相信從事Android開發的肯定遇到過。ANR的直觀體驗是用戶在操作App的過程中,感覺界面卡頓,當界面卡頓超過一定時間(一般5秒),就會出

原创 Android Studio中的NDK開發

讀書筆記:《Android 高級進階》 NDK簡介 NDK 是 Native Developmentit的縮寫,是Google在Android開發中提供的一套用於快速創建native工程的一個工具。 使用這個工具可以很