原创 Android 面試:常見問題總結

一、Activity的生命週期 Activity其實是繼承了ApplicationContext這個類 public class Activity extends ApplicationContext { protec

原创 Android Volley:使用方法總結及實例解析

一、概述 1. Volley谷歌官方翻譯教程 使用Volley傳輸網絡數據 Volley 是一個HTTP庫,它能夠幫助Android apps更方便的執行網絡操作,最重要的是,它更快速高效。可以通過開源的 AOSP 倉庫獲取到

原创 Android 總結:Message,MessageQueue,Looper,Handler 消息機制

一、關鍵概念 1. Message 消息對象 MessageQueue中的存放的對象,一個MessageQueue中可包含多個Message對象。 通過Message類裏的靜態方法obtain()可獲得Message實例對象:

原创 Android Jsoup:實現HTML解析和Epub解析

概述 jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作數據。 jsoup的主要功能如下: 從

原创 Android 框架:快速開發中Util常用工具類總結

一、日誌工具類 L.java public class L { private L() { /* 不可被實例化 */ throw new UnsupportedO

原创 Android JSON:Gson,FastJson解析庫的使用和對比分析

一、概述 目前主流數據交換格式就是 Json和Xml,而 Json 格式使用範圍可能更加的廣並且可拓展性更強一些。 本文章將對 Json 數據交換格式通過 Gson 和 FastJson 來實現在 Android 端的高效解析。

原创 Java 筆試:常見題目總結

1. 下面這條語句一共創建了多少個對象:String s="a"+"b"+"c"+"d"; 答案:題目中的第一行代碼被編譯器在編譯時優化後,相當於直接定義了一個”abcd”的字符串,所以,上面的代碼應該只創建了一個String對象

原创 Android OOM:內存管理分析和內存泄露原因總結

一、Android進程的內存管理分析 1. 進程的地址空間 在32位操作系統中,進程的地址空間爲0到4GB,示意圖如下: 這裏主要說明一下Stack和Heap: Stack空間:(進棧和出棧)由操作系統控制,其中主要存儲

原创 Android 總結:Manifest文件中,application和activity標籤屬性詳解

一、application 標籤屬性 < application /> :應用的聲明。 這個元素包含了子元素,這些子元素聲明瞭應用的組件,元素的屬性將會影響應用下的所有組件。很多屬性爲組件設置了默認值,有些屬性設置了全局

原创 Android AIDL:跨進程調用Service (AIDL Service)

一、概述 開發環境:Android Studio 1.4.1 Android Developer Guides : Bound Services 和 AIDL . 1. 相關知識點 Android系統中的進程之間不能共享內存,需

原创 Java 總結:各種排序算法的介紹及其之間的對比差異

一、概述 內部排序:只使用內存。 插入排序:直接插入排序,希爾排序 選擇排序:簡單選擇排序,堆排序 交換排序:冒泡排序,快速排序 歸併排序 基數排序 外部排序:內存和外存結合使用。 會調用到的代碼: public

原创 Android Design: 九種常見Activity及代碼解析之"Navigation Drawer Activity"

Navigation Drawer Activity 如果我們是直接new一個“Navigation Drawer Activity”,自動生成的代碼如下: NavigationDrawerActivity.java public cl

原创 Android NDK:在Android Studio下的基本開發步驟和基礎知識點總結

一、概述 Native Development Kit,原生開發工具“NDK” NDK是爲了讓上層的java應用能夠調用底層的c/c++而設計的。 二、基本開發步驟 AS版本:release 1.4.1 注意問題: 1. 在l

原创 Android Design: 九種常見Activity及代碼解析之"Login Activity"

Login Activity 如果我們是直接new一個“Login Activity”,自動生成的代碼如下: LoginActivity.java import static android.Manifest.permission.REA

原创 Android Design: 九種常見Activity及代碼解析之"Empty""Blank""Fullscreen"

Empty Activity 如果我們是直接new一個“Empty Activity”,自動生成的代碼如下: public class EmptyActivity extends AppCompatActivity { @Ove