原创 Java設計模式筆記之訪問者模式

1.前言 訪問者模式是23中設計模式中最複雜的一個,是一種將數據操作與數據結構分離的設計模式,幸運的是它的使用頻率並不高。 訪問者模式適合用於數據結構相對穩定的系統。 訪問者模式的優點就是增加新的操作很容易,增加新的操作意味着增加一個新的

原创 AndroidStudio出現提示 “Magic number did not match...”

Magic number did not match java.lang.IllegalStateException: Magic number did not match at com.intellij.credentialStor

原创 Java設計模式筆記之模板方法模式

1.定義  模板方法模式:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 2.UML圖 AbstractClass是抽象類,其實就是一個抽象模板,它定義並實

原创 Java設計模式筆記之狀態模式

不同的時間人會處於不同的狀態中 放在程序的世界中就是不同的時間下做出判斷來實現。 1.定義 狀態模式(State):當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變了其類。 2.使用場景 狀態模式主要解決的是當控制一個

原创 maven學習(一)

常用命令 mvn archetype:create 創建Maven項目 mvn compile 編譯源代碼 mvn deploy 發佈項目 mvn test-compile 編譯測試源代碼 mvn test 運行應用程序中的單元測試

原创 Java設計模式筆記之組合模式

1.前言 整體與部分可以被一致對待的問題。組合模式也叫整體與部分模式,是結構性設計模式之一,組合模式比較簡單。它將一組相似的對象看作一個對象處理,並根據一個樹狀結構來組合對象,然後提供一個統一的方法去訪問相應的對象,以此忽略掉對象與對象集

原创 Android反編譯記錄

之前自己反編譯過一個APP,但是具體的過程卻忘得差不多了,今天再次來熟悉下。(由於我這篇文章不是針對新手的,僅僅是爲了自己清楚流程,所以,新手就沒有必要再往下看了。)1.工具:①apktool.jar;(官網下載)②dex2jar-0.0

原创 Java設計模式筆記之代理模式

代理模式(Proxy)的定義:爲其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。(來自百度百科) 1.代理模式的UML圖 2.代

原创 TextView的XML屬性大全

TextView支持的XML屬性及相關方法 注:以上圖片內容來自於《瘋狂Android講義》 點贊 1 收藏 分享 文章舉報 換元不配限 發佈了105 篇原創文章 ·

原创 Java設計模式筆記之中介者模式

1.前言 中介者模式又叫做調停者模式。中介者模式將多對多的相互作用轉化爲 一對多的相互作用。中介者模式適用於當對象之間的交互操作很多且每個對象的行爲操作都依賴彼此時,爲防止在修改一個對象的行爲時,同時涉及修改很多其他對象的行爲。中介者模式

原创 Android7.0多窗口模式初探

2016年8月,谷歌推出android7.0牛軋糖系列,其中包含有的新功能就是多窗口模式。如圖所示: (圖片來源:android官網) 今天主要來探究下在開啓多窗口模式下,activity生命週期經歷了怎樣的變化。 代碼如下: pu

原创 Java設計模式筆記之外觀模式

1.前言 外觀模式使用頻率很高。 2.定義 外觀模式(Facade):爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。 3.UML圖 4.使用場景 (1)爲一個複雜子系統提供一個

原创 Java設計模式筆記之解釋器模式

1.定義 解釋器模式(interpreter),給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。 2.UML圖 角色介紹: AbstractEcpression:抽象表達式,聲明一個抽象

原创 Kotlin學習(4)-基礎之控制流

if 表達式 Kotlin中if是一個表達式,即它會返回一個值。java中我們可以使用三元表達式: 條件 ? result1 : result2 //傳統用法 var max = a if(a < b) max = b //

原创 Kotlin學習(2)-認識基礎語法

包聲明在源文件頂部(同Java) 定義變量: val:聲明後不可改變值 var:聲明後值可以改變 //每行代碼不需要使用分號 val a: Int = 20 //完整樣式 val b = 20 //Kotlin可以自動推斷