原创 進程線程的概念區別

以下內容來自於百度百科和自己的理解: 1進程 進程(Process)的抽象概念是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。程序是指令、數據及其組織形式的描述,進程是程序

原创 debugCompile(debugImplementation)和 releaseCompile(releaseImplementation)的使用-leakcanary release中不起作用

debugCompile(debugImplementation)和releaseCompile(releaseImplementation) debugCompile(debugImplementation) debugComp

原创 Fragment addToBackStack(null)的作用

Fragment常用於一個activity中展示多個相對獨立的部分,利用add,show,hide進行fragment的添加,展示和隱藏。 FragmentA fragmentA = FragmentA .newInstance

原创 EditText 富文本學習七-實現微博熱門話題@,#選擇好友,整體刪除,整體選中功能(思路,簡單實例,提取於其他庫)

1首先看效果(有點粗糙) 整體刪除: 整體選擇: @#符號監聽: 2 實現代碼 整體刪除功能,要刪除一個熱門話題需要整體進行刪除: mEditText.setOnKeyListener(new View.OnKeyList

原创 Android 獲取簽名文件jks的SHA1值或者SHA256的值

apk文件需要利用jks進行簽名,可以防止應用被惡意篡改替換,標識開發者身份,加強了應用的安全性.(keystore也可以) 第一種利用keytool工具 keytool -list -v -keystore canvaskeys

原创 implementation,compile,api,Unable to resolve dependency ':app@debugAndroidTest/compileClasspath'

首先上面的錯誤是因爲lib依賴了本地lib,然後發佈到遠程maven庫,使用時就會報上面的錯誤。 gradle3.+版本後,gradle的依賴方法發生了改變,推薦使用implementation,compile已經不被推薦,api

原创 AndroidStudio Analyze->run inspection by name (查找未使用資源和潛在空指針)

AS中lint的工具 Analyze可以對代碼進行動態檢測,功能十分強大,可以幫助我們發現代碼的潛在bug(內存泄漏,空指針),未使用的資源和不規範的寫法等等很多問題。平時用的最多的功能就是點擊工具欄的Analyze-> insp

原创 DialogFragment監聽back鍵和設置寬高

DialogFragment是系統推薦的dialog,至於它的好處有很多,最重要的是通過Fragment可以把dialog納入到Fragment的生命週期中,這樣就不會出現dialog顯示在activity中旋轉屏幕後dialog

原创 線程間交互(wait notify)

1 線程間交互 線程間的交互,也就是相互通知,進而達到相互控制,java中線程間的交互要用到java.lang.Object的類的三個方法分別是wait,notify(),notifyAll,三個方法的調用必須在同步環境內調用,也

原创 編譯時註解學習一之 Element元素

前面的文章學習java基礎之註解,掌握了註解的基本用法。使用系統或者大神寫的框架庫提供給我們註解,可以省略好多配置,特別是java Spring開發中註解更是多的眼花繚亂。最近需要用到編譯時註解,所以就對AbstractProce

原创 Messenger 實現進程間通信IPC

AIDL可以實現進程間通信,但使用稍顯複雜,Messenger也可以實現進程間通信,Messenger底層實現利用了 AIDL ,系統已經幫我們完成了Aidl的書寫。Messenger可以在不同進程中傳遞 Message 對象,利

原创 Thread調用start和run的區別

學習Thread的第一天就知道要調用Thread的start方法,不要調用Thread額run方法,爲什麼呢? 新建一個Thread類的實例,然後調用run方法,相當於調用普通的方法,屬於當前線程的一個方法執行,可以重複多次調用,

原创 android studio Library source does not match the bytecode for class

android studio Library source does not match the bytecode for class 這個錯誤是引用的aar或者jar中的某些代碼,還是舊的庫中的文件,可能的原因是android

原创 android 判斷是白天還是晚上,然後設置地圖模式

簡單的判斷白天,晚上的java代碼 /** * true day 白天 return false晚上 * @return */ public static boolean isDayO

原创 Android 屏幕方向相關,setRequestedOrientation,OrientationEventListener

1 Activity 在AndroidManifest.xml設置方向android:screenOrientation 正向拿着手機(平時正常拿手機)對應角度爲0度,此時屏幕爲爲豎屏,旋轉180度,對應角度180度,此時屏幕爲反