原创 Android 如何自定義一個ContentProvider

    一,寫在前面         我們知道Android有四大組件,ContentProvider是其中之一,顧名思義:內容提供者。什麼是內容提供者呢?一個抽象類,可以暴露應用的數據給其他應用。應用裏的數據通常說的是數據庫,事實上普通

原创 Android 自定義控件之ViewGroup實例(實現一個簡易的Viewpager)

一,寫在前面             如何自定義一個繼承ViewGroup的控件呢?在實現的過程中涉及哪些知識點?需要注意哪些地方呢?接下來以一個簡易的ViewPager來展示繼承ViewGroup的自定義控件。做出來是這樣一個效果圖,如

原创 Java之用Serializable序列化對象

本篇文章主要描述Serializable的基本使用,以及設置serialVersionUID的必要性!  一,Serializable使用的地方: 1.1:在Android開發的過程中,有時候需要將對象數據在組件之間通過Intent進行傳

原创 Android 源碼解析之WindowManager添加窗口

一,寫在前面         這篇文章先介紹如何使用WindowManager向設備窗口裏添加View,並顯示View,然後從源碼角度分析這一過程。 二,WindowManager的使用 WindowManager的使用,先來看看效果,如

原创 Android事件分發機制之ViewGroup

一,寫在前面          相信大家一定遇到過這樣的問題:在滑動某一控件時,由於有多個控件都能處理當前滑動,比如:Viewpager中有一個子元素是Viewpager,那麼在左右滑動的時候,到底是哪個Viewpager控件去處理事件,

原创 Android IPC機制之Messenger的使用

一,寫在前面         在Android中實現IPC機制的方式有多種,例如:AIDL,ContentProvider,Messenger等。AIDL特點是提供AIDL接口的方法,ContentProvider特點是暴露數據庫,Mes

原创 Android RemoteViews源碼分析以及擴展使用

一,寫在前面                 在前面兩篇文章RemoteViews的基本使用(上)之通知欄 ,RemoteViews的基本使用(下)之窗口小部件 中講述了RemoteViews的兩個應用場景,這篇文章主要介紹RemoteV

原创 Android自定義控件之測量onMeasure

一,寫在前面 當Android原生控件無法滿足開發需求時,需要自己來創造view,自定義控件。自定義控件分三步來完成:測量(onMeasure),佈局(onLayout),繪製(onDraw)。今天主要介紹自定義流程的第一步-測量,

原创 Android 自定義View之處理wrap_content,padding問題分析

一,寫在前面          我們知道自定義控件有多種實現方式,1:繼承View;2:繼承ViewGroup;3:繼承具體的容器控件(如:LinearLayout);4:繼承一個特定的View(如:TextView等)。      

原创 Android源碼解析之在Activity中調用measure方法測量寬高的原理

一,寫在前面                 在文章自定義控件之測量一文中,已經很清楚描述了view,viewgroup的測量過程。本篇文章是基於自定義控件之測量的一個小小的使用,不會再詳細介紹源碼所有流程,直接上源碼,分析在Activ

原创 Android RemoteViews的基本使用(上)之通知欄

 一,寫在前面         這篇文章介紹Android中RemoteViews的基本使用,使用有這樣的兩個場景:通知欄,窗口小部件。下面會介紹如何實現向通知欄發送一個通知包括:系統默認樣式的通知,自定義樣式的通知;以及如何實現窗口小部

原创 Android事件處理之View$dispatchTouchEvent(ev)

一,寫在前面          本篇文章是接着Android事件分發機制之源碼解析(ViewGroup篇) 來寫的,主要介紹View$dispatchTouchEvent(ev),在ViewGroup篇很詳細介紹了事件從Activity開

原创 設計模式之單例模式--擴展篇(多例模式)

單例模式的使用場景: 1,創建一個對象需要消耗的資源較多,例如,訪問IO,訪問數據庫等資源 2,一個應用中需要共享一個對象數據 3,需要生成唯一序列號; 如何編寫一個單例模式呢,步驟如下: 1,將該類的構造器私有化,添加private修飾

原创 使用adb相關命令,獲取文件的讀寫權限以及修改文件權限

            在用adb 調試時,輸入adb shell進入文件系統,有這樣一個目錄:/system;如果想從/system/framework中讀取一個文件,可以在cmd窗口輸入: adb pull /system/frame

原创 Android RemoteViews的基本使用(下)之窗口小部件

一,寫在前面                     在文章RemoteViews的基本使用(上)之通知欄 中講述了的RemoteViews使用場景之通知欄,這篇文章主要講述RemoteViews在窗口小部件中的使用。在寫好了一個窗口小部