原创 Git忽略已經提交的文件

執行命令:git rm --cached .idea/gradle.xml,然後提交即可。 如果報錯,可嘗試加上-f, git rm --cached -f .idea/gradle.xml 注意,已經提交到Git服務器的文件,即

原创 Android單元測試框架Robolectric的學習使用

文章目錄1. Config配置2. 驗證Activity頁面跳轉3. 下載依賴jar4. 驗證Toast顯示5. 驗證Dialog顯示6. 驗證UI組件狀態7. 驗證Fragment8. 訪問資源文件9. 驗證Activity生命

原创 Okio源碼學習分析

在之前的文章Okio—— 更加高效易用的IO庫中參考官方的demo簡單學習了一下Okio的使用方法,這篇就來簡要分析學習一下Okio的源碼實現。 Okio源碼中主要有這麼幾個重要的東西: Source和Sink Segment

原创 Android 10 出現"此應用專爲舊版Android打造,因此可能無法正常運行。請嘗試檢查更新或與開發者聯繫"

在Android P(9.0)出現此彈窗,多數建議爲 targetSdk > 17, minSdk> 17, 最近測試反應在Android 10上也出現該彈窗,經測試targetSdk > 17時能夠安裝,但是會有彈窗提示,要去掉

原创 關於模塊化的一些思考/記錄

我這裏所說的“模塊化”可能是更加廣義的理解概念,不限於具體的實現方式;通常模塊化的目的是爲了使得項目更加方便的管理,易於維護,這對於多人團隊共同開發同一個項目或者項目業務體積日趨龐大的情況尤爲重要。這裏只是我對模塊化的思考做一些隨

原创 Android MVP模式深入實踐探索(二)

上一篇總結了MVP模式的基礎結構,這一篇主要總結在MVP模式中該如何進行分類,即哪些屬於View層,哪些該放在Presenter層,哪些該放在Modle層,如何從一堆雜亂的UI代碼中將相關代碼提取到MVP對應的層次當中。 先從Vi

原创 Android MVP模式深入實踐探索(一)

其實MVP已經不算新東西了,寫這篇文章的目的主要是爲了把之前在項目重構中應用的MVP模式做一個整理、總結和記錄,把實踐代碼做成一個可描述可理解的過程。 一篇可能寫不完,總共打算分幾篇來記錄,這將包括且不限於以下內容: MVP模式

原创 Android Studio中資源文件夾的模塊化配置

有時app中res下面的文件太多了想分一下類,如所有的佈局文件都在layout文件夾下面,太多的話找起來不方便。一開始我想這個問題大概可以通過配置productFlavor來實現,但是productFlavor中不同的Flavor

原创 Android 7.0 AES加密報錯:NoSuchProviderException: no such provider: Crypto

最近項目中遇到手機密碼不能登錄的問題,在別的地方看到了的解決方法,這裏記錄一下 報錯代碼: 調用SecureRandom.getInstance就會拋出異常:NoSuchProviderException: no such pr

原创 Android Studio編譯錯誤:Error while generating the main dex list

這個錯誤一般提示如下: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformC

原创 Android Studio tools:replace的使用

一般是項目中使用的第三方依賴庫中的AndroidManifest.xml中跟當前app的AndroidManifest.xml中有重複的某些屬性時AS會提示這個,其實你按照他的提示添加就可以解決了,這裏只是記錄一下。 如三方的依賴

原创 Android Studio使用Git提交、分支、切換、合併

首先到Git託管平臺上創建一個空的項目,公司使用的Git託管平臺是GitLab,所以先到GitLab上面創建一個項目: 點擊右上角的加號按鈕,打開創建頁面,輸入項目名稱、描述、選擇項目的路徑,點擊create,會創建一個新的空項

原创 一些提高Android開發效率的工具&方法

一些提高開發效率的工具&方法 1. 使用快捷鍵提高操作效率 下面的有些快捷鍵是經過我修改的,如果你不知道AS原生的快捷鍵是什麼或者忘記了快捷鍵可以到Settings->Keymap下面搜索查看,使用熟練了之後就會記住了。當然你也可

原创 EventBus源碼學習

在進入主題之前,我們先保持着這樣幾個疑問,EventBus的使用三要素裏,我們爲什麼要去定義事件方法,並且用到了@subscribe()註解? EventBus.getDefault().register(Object)這行代碼到

原创 RxJava操作符

文章目錄RxJava創建型操作符create()操作符just()操作符fromArray()操作符fromIterable()操作符differ()操作符timer()操作符interval()操作符intervalRange(