原创 特手天氣

1運行圖片 開發中用到心知天氣的jar包https://www.seniverse.com/doc#code 2建立佈局activity_main <?xml version="1.0" encoding="utf-

原创 模仿微信界面之聊天界面

運行界面 1建立佈局ui_top.xml顯示界面上標題欄 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.

原创 自定義按鈕實現水波點擊效果

1運行效果 2自定義佈局 public class RevealLayout extends LinearLayout implements Runnable { private Paint mPaint = new

原创 模仿微信界面

1運行效果圖 2建立top.xml顯示頭工具條的佈局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sche

原创 工廠模式

1類圖 2定義: 一個用於創建對象的接口,讓子類決定實例化那個類 3使用場景 需要生成複雜的對象。 用new就可以創建的對象無需使用工廠模式。 4具體實現 1抽象產品類 public abstract class Pro

原创 責任鏈模式

1類圖 2定義: 很多對象由每一個對象對其下家的引用而連接起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。發出這個請求的客戶端並不知道鏈上的哪一個對象最終處理這個請求,這使得系統可以在不影響客戶端的情況下

原创 策略模式

1類圖 2定義 策略模式定義了一系列的算法,並將每個算法封裝起來,而且使他們可以互相替換。策略模式讓算法獨立與使用它的客戶而獨立變化。 3應用場景 3.1 針對同一類型問題的多種處理方式,僅僅是具體的行爲有差別時。 3.2 需要

原创 Builder

1類圖 1計算機抽象類即Product角色 public abstract class Computer { protected String mBoard; protected String mDisplay;

原创 狀態模式

1類圖 2定義: 允許一個對象在其內部狀態改變時改變它的行爲。對象看起來似乎修改了它的類 3應用場景 3.1 一個對象的行爲取決於它的狀態,並且它必須在運行時根據狀態改變它的行爲 3.2 代碼中有大量與狀態有關的語句。 4電視狀

原创 抽象工廠模式

1類圖 2定義 爲創建一組相關或者是相互依賴的對象提供一個接口,而不需要指定他們的具體類。 3應用場景 3.1一個對象有相同的約束時可以使用。 3.2例如組裝汽車輪胎有普通和越野,發動機有國產和進口就可以使用抽象工廠模式。汽車定

原创 解釋器模式

1類圖 2定義: 2.1 給定一個語言,定義它的文法的一種表示,並定義一個解釋器,該解釋器使用該表示來解釋語言中的句子。 3使用場景 3.1 如果某個簡單的語言需要解釋執行並且可以將語言中的語句表示爲一個抽象語法樹時可以考慮使用

原创 Linux命令

Ls 查看目錄下的文件 Ls -a 顯示隱藏文件 Ls -l/lh 查看文件大小和權限 Cp 拷貝 Cp -r 拷貝目錄 Mv 移動 Mv 文件名 文件名 修改文件名 Rm 刪除文件 Rm -r 刪除目錄 Rm -f 刪除不能回

原创 Maven筆記

mvn 操作: mvn coplie 編譯源碼 mvn test-complie 編譯測試代碼 mvn test 運行測試 mvn package 打包 mvn install 在本地Repository 安裝jar mvn de

原创 guava筆記

Joiner 不能存在null參數 joiner.on 參數之間的連接方法 joiner.withKeyValueSearator map中的鍵和值的連接方法 splitter 安裝某種正則表達式分割成list splitter.

原创 git筆記

Git理論: Git儲保存了各個版本的完整文件 使用哈希生產一個版本號 Git操作大多數都可以在本地完成 Git的狀態 已修改 -add- 已暫存 -commit- 已提交 分支開發方式 開發流程 (1) 創建倉庫/克隆