原创 【Android基礎】Android代碼混淆詳解

簡介 Java代碼是非常容易反編譯的。爲了很好的保護Java源代碼,我們往往會對編譯好的class文件進行混淆處理。 ProGuard是一個混淆代碼的開源項目。它的主要作用就是混淆,當然它還能對字節碼進行縮減體積、優化等,但那

原创 Android 中的 Service 全面總結詳解【下】

上一篇文章Android 中的 Service 全面總結詳解【下】 介紹了Service的一些知識以及本地Service的使用,如果對Service還不太瞭解的建議先看下上篇文章;本文主要接着上一篇講下遠程服務的使用; 在說到遠程

原创 源碼理解之SparseArray

SparseArray SparseArray、HashMap對比 SparseArray採用時間換取空間的方式來提高手機App的運行效率 HashMap通過空間換取時間,查找迅速;(HashMap中當table數組中內容達到總

原创 【JAVA算法】簡單-將有序數組轉換爲二叉搜索樹

算法雖難,循序漸進,督促自己,總有進步; 本博文僅爲了督促自己學習算法,如有遺漏或錯誤之處,請不吝指教; 題目 將一個按照升序排列的有序數組,轉換爲一棵高度平衡二叉搜索樹。 本題中,一個高度平衡二叉樹是指一個二叉樹每個節點

原创 【View基礎知識】Android View位置參數詳解

本系列文章部分摘自《Android開發藝術探索》,目的是提取精幹知識點作爲備忘筆記,如有侵權請及時聯繫我,再次感謝作者 目錄 目錄 View的四個頂點 View的x、y、translationX、translationY

原创 【Android基礎】Activity啓動模式以及Intent Flags 與 棧 的全面解析

Android開發的過程中,Intent是我們最常用Android用於進程內或進程間通信的機制。 Intent主要用於2種情景下:發起意圖 、廣播 其底層實現原理不在此篇文章的討論範圍,以後會陸續更新上的。 下面我就根據近期學

原创 【JAVA算法】簡單-二進制求和

算法雖難,循序漸進,督促自己,總有進步; 本博文僅爲了督促自己學習算法,如有遺漏或錯誤之處,請不吝指教; 題目 給定兩個二進制字符串,返回他們的和(用二進制表示)。 輸入爲非空字符串且只包含數字 1 和 0。 示例 1: 輸入

原创 【JAVA算法】簡單-x 的平方根

算法雖難,循序漸進,督促自己,總有進步; 本博文僅爲了督促自己學習算法,如有遺漏或錯誤之處,請不吝指教; 題目 實現 int sqrt(int x) 函數。 計算並返回 x 的平方根,其中 x 是非負整數。 由於返回類型是整

原创 Android 面試題目總結【持續更新...】

準備換工作,於是乎在網上看看最近的面試題吧,看過之後突然感覺自己好無知、好無知、好無知、重要的事情要說三遍! 基礎面試題(2016-02-23) 1、 Android dvm的進程和Linux的進程, 應用程序的進程是否爲同一個

原创 adapter中操作listview之外的View 注意事項

在adapter中操作listview之外的View 注意事項: 不要放到getView中循環操作,這樣會出錯,不信你試試;放在適當的位置 讓它運行一次就好;

原创 Android 反編譯 原來這麼簡單—絕對詳解(有圖有真相)

在學習Android開發的過程,你往往會去借鑑別人的應用是怎麼開發的,那些漂亮的動畫和精緻的佈局可能會讓你愛不釋手,作爲一個開發者,你可能會很想知道這些效果界面是怎麼去實現的,這時,你便可以對改應用的APK進行反編譯查看。下面是我

原创 根據Uri獲取圖片絕對路徑,解決Android4.4以上版本Uri轉換

/** * 根據Uri獲取圖片絕對路徑,解決Android4.4以上版本Uri轉換 * @param activity * @param imageUri * @author yao

原创 android使用notifyDataSetChanged()方法更新數據失效,adapter的數據更新了,但是ListView的內容沒有更新;

有時候我們會通過putSerializable帶着Model跳到一個界面修改數據 然後返回更新adapter,這個時候如果你直接用notifyDataSetChanged()會發現雖然數據更新了 但是顯示的並沒有變, putSer

原创 Android 中的 Service 全面總結詳解【上】

1、Service的種類 按運行地點分類: 類別 區別 優點 缺點 應用 本地服務(Local) 該服務依附在主進程上 服務依附在主進程上而不是獨立的進程,這樣在一定程度上節約了資源,另外Local服務因爲是在同一進程

原创 深入淺出Android Handler消息機制原理

Handler機制是由Looper和MessageQueue以及Message來構建消息機制的 爲了便於理解我們拿子線程的使用說起: 使用方法Looper.prepare() -> new handler() -> Looper.lo