原创 設計模式之——抽象工廠設計模式

開篇致謝:http://www.cnblogs.com/zuoxiaolong/p/pattern6.html 它與工廠方法唯一的區別就是工廠的接口裏是一系列創造抽象產品的方法,而不再是一個,而相應的,抽象產品也不再是一個了,而是一系列相

原创 微信Tinker的一切都在這裏,包括源碼(一)

摘要: Tinker是騰訊在github.com/Tencent上第一個正式公開的項目。它微信官方的Android熱補丁解決方案,它支持動態下發代碼、So庫以及資源,讓應用能夠在不需要重新安裝的情況下實現更新。 最近半年以來

原创 設計模式之——工廠方法設計模式

        這個也屬於工廠設計模式的一種,上篇設計模式文章我說過,簡單工廠設計模式代碼有股味道。問題在哪呢???我們發現如果擴展運算的話,首先要創建一個對應的操作類,然後在工廠中加一層判斷,那麼我們添加功能的時候就違背了“開放-封閉原

原创 Android 開發異常java.lang.VerifyError解決

Android項目更換開發環境時可能會出現 Java.lang.VerifyError異常一般高版本ADT運行低版本ADT創建的工程可能會拋出java.lang.VerifyError異常有兩個解決方法:1.簡單的解決方法是找到項目文件夾

原创 GitHub上優秀Android UI Library

抽屜菜單MaterialDrawer ★7337 - 安卓抽屜效果實現方案Side-Menu.Android ★3865 - 創意邊側菜單FlowingDrawer ★1744 - 向右滑動流動抽屜效果SlidingRootNav

原创 git倉庫遷移

背景 現在我們的代碼大多數都會採用託管的形式(git、gitlab、github…)進行管理,我們在開發過程中有時候可能因爲運維需要或者資源整合進行已有項目的整合,可能會遇到將已有倉庫遷移到另外一個倉庫,又不想改變各個分支的聯繫和提交

原创 Android Studio同步maven倉庫異常通用解決方案

前言 記錄一次在開發過程中遇到的問題,週末high完上班第一天,興致勃勃的打開坑皮U特,按照習慣登上微信、QQ,打開AS,運行的飛速,滋溜項目打開了,好吧,一片紅,搞什麼灰機,喏,好多醬紫的 請允許我爆粗口,WTF!則這個怎麼可能沒

原创 設計模式之——代理設計模式

代理模式說白了就是中介,A要完成C,並不是直接去完成而是委託中介B去完成,B就是連接A與C的代理,B可以完全替代A去做,有時只需要提供滿足C所需要的東西就行。 代理模式分爲靜態代理(手動實現這些行爲的替換) + 動態代理(實現Invoca

原创 設計模式之——中介者設計模式

定義了一箇中介對象來封裝一系列對象之間的交互關係。中介者使各個對象之間不需要顯式地相互引用,從而使耦合性降低,而且可以獨立地改變它們之間的交互行爲。 說白了就是:一系列對象的交互交給中介者處理,各對象之間完全不依賴。 實際生活中,QQ羣,

原创 設計模式之——橋接設計模式

正如JDBC中的DriveManager的設計一樣,數據的連接類型有MySQL,Oracle,SQL...,我們從中抽象化其中連接的過程,具體實現交給具體的實現類,從而做到了抽象類與抽象方法解耦,方便子類的擴展,解決了子類擴展依賴繼承的問

原创 設計模式之——責任鏈設計模式

通常每個接收者都包含對另一個接收者的引用。如果一個對象不能處理該請求,那麼它會把相同的請求傳給下一個接收者,依此類推。 該模式在生活中很常見,比如:汽車製造、物流分揀、食品加工、質量檢測等等,生活中更多的是這樣的非純責任模式,也就是說,每

原创 Android性能優化之工具篇 — — 開發者選項

Google爲了方便開發者調試Android程序專門開發了開發者選項功能,能夠讓開發者方便快捷調試Android應用程序。對於一般用戶無需關注,所以往往開發者選項在新版本中都會隱藏,需要特殊操作纔會展示入口,比如連續點擊版本號等等。當然還

原创 設計模式之——裝飾器模設計式

如果我想在不必改變原類文件和不使用繼承的情況下,動態的擴展一個對象的功能呢??? 它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象,進行具體所謂的包裝,慢慢的使原有的功能變得更完善和多樣。Java中的IO框架就是這個模式(向前輩致敬)

原创 設計模式之——模板方法設計模式

在父類中定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 和享元模式有點類似。我們來看一個PPT模板的例子: package com.zndroid.dm.T

原创 設計模式之——狀態設計模式

狀態模式描述了對象狀態的變化以及對象如何在每一種狀態下表現出不同的行爲。狀態模式的關鍵是引入了一個抽象類來專門表示對象的狀態,這個類我們叫做抽象狀態類,而對象的每一種具體狀態類都繼承了該類,並在不同具體狀