原创 SharedPreferences存取特殊數據
說到SharePrefrence,簡稱sp,大家一點不陌生,經常會用它存儲一些簡單數據,那麼簡單數據是什麼?這裏總結下 SharePrefrence中有個抽象類叫Editor,包含以下方法: 存儲普通數據: putBool
原创 android中子線程可以更新UI,是真的嗎?
看到這個問題,相信很多小夥伴認爲,android開啓子線程更新UI,是不對的,爲什麼呢? 因爲只有主線程(UI線程)纔可以進行UI的修改,如果在子線程進行UI更新,會拋出異常: android.view.ViewRootImpl$
原创 關於android studio導入github項目build失敗
在使用as時,經常需要導入github上項目 1.從github獲取項目到本地磁盤,有兩種方式, 一種是直接downLoad, 另一種是as的菜單項,VCS -> Checkout from VersionControl
原创 Android開發之獲取狀態欄-BarUtils
在開發中,經常會需要會各種欄的設置。比如,獲取狀態欄高度,對狀態欄進行隱藏等,爲此,對於這些操作整理了下 目錄 狀態欄 獲取狀態欄高度 設置狀態欄是否可見 設置狀態欄模式 將view的topMargin加上狀態欄高度 將
原创 你真的瞭解SharedPreferences的Editor嗎
你真的瞭解SharedPreferences的Editor嗎?很多人覺得,再熟悉不過了,經常使用它進行數據的存儲。現在,有你可能不知道的,commit()方法,apply()方法,PS:知道的童鞋,自行繞道哈,不瞭解的可以繼續看下去 co
原创 Android開發之安全徹底的修改包名
昨天,因爲項目需要對包名進行修改,經過一番折騰,項目正常使用,爲此,對修改包名涉及的東西進行總結。 1.修改,AndroidManifest.xml文件 搜索並找到”package”屬性,進行修改 package="com.pro
原创 android studio中的文本替換
使用as開發時,經常涉及在java或者xml文件中替換一些字符串,變量名,資源名等情況,挨個替換簡直崩潰,所以這裏介紹下 第一種:同一文件內,替換使用 Ctrl + F 第二種:不同文件(全局),替換使用 Ctrl + S
原创 setContentView到底做了什麼
對Activity的setContentView的使用,大家比較熟悉了,當然,對setContentView的原理估計也比較熟悉,網上有不少的文章,不過,還是寫一篇這方面的東西,記錄下,畢竟 很多東西,看別人的是一回事兒,自己寫又是一回事
原创 Application中ActivityLifecycleCallbacks的原理分析
ActivityLifecycleCallbacks是Application中的一個接口,既然是在Application中,不得不說說Application類,別急,一個個來說道說道 ActivityLifecycleCallbacks接
原创 Handler、Looper、Message、MessageQune之間的原理
說到sendMessage,開發中用的比較多,是Handler的方法,而Handler的機制,在整個Android系統中的應用非常廣泛,當然,也是面試中經常問到的知識點,過一過源碼,在此梳理下, 首先,一般使用Handler代碼是這樣的,
原创 LayoutInflater是如何“移花接木”-下篇
LayoutInflater“移花接木”的上篇,介紹了LayoutInflater對象的獲取方式,更主要的是分析幾種方式的原理,發現最終都是通過獲取系統服務的方式。那麼,本篇算是“移花接木”的重頭,主要分析xml是如何轉換爲view的 獲
原创 android的MVC、MVP、MVVM比較
MVC 應用大致爲三部分: 視圖(View):用戶界面,用戶操作輸入 控制器(Controller):業務邏輯,不同的數據服務 模型(Model):數據保存,也就是不同的數據實體 各部分之間的通信方式: Vi
原创 java中的抽象與接口比較
這裏從以下幾個方面比較: 1.構造方法 抽象類可以有構造方法 接口沒有構造方法 2.訪問修飾符 抽象類中的方法可以用public、protected和default這些修飾符修飾 接口中的方法默認修飾符爲
原创 java中多態
1.什麼是多態 同一操作,作用於不同的對象,可以有不同的解釋,產生不同的執行結果,就叫做多態 2.多態分類 編譯時多態、運行時多態 編譯時多態:也叫設計時多態,這種多態實際上就是方法重載 運行時多態:代碼在
原创 Activity界面內容不顯示,你遇到了嗎?
編寫Activity時遇到的一個問題,在此記錄,也分享下,Activity寫好運行後,genimotion開啓應用,卻發現界面不顯示內容,後來發現標題欄label也不顯示。於是開始排查問題原因,在確認setContentView調用,佈局