原创 Mac OS 10.9安裝JDK1.7 無法啓動IDEA 和Eclipse,提示安裝JRE6

IntelliJ IDEA 13 EAP 132.325 and Retina support in JDK 7 Good news, everyone! With the latest IntelliJ IDEA 13 EA

原创 Android ProgressBar 樣式實現原理

做過Android開發的同學應該都不會對這個控件陌生。主要是用來實現處理或加載進度的顯示或者提示用戶正在處理或加載數據。 基本來說就兩種情況,一種是轉圈的小菊花,一種是水平的進度條。 默認情況下ProgressBar是圓形的那種,如

原创 淺析Android中如何利用attrs和styles定義控件

一直有個問題就是,Android中是如何通過佈局文件,就能實現控件效果的不同呢?比如在佈局文件中,我設置了一個TextView,給它設置了textColor,它就能夠改變這個TextView的文本的顏色。這是如何做到的呢?我們分3個部分

原创 Android Cursor 源碼分析

1. 本文目的 Android ContentProvider提供了進程間數據交換的一種機制。而數據庫的查詢就是這種機制的應用。那麼app通過Uri查詢數據庫而得到的Cursor究竟是個什麼東西?爲何可以爲我們提供另一個進程的數據

原创 Andorid屬性動畫實現activity的切換效果

系統自帶的activity切換效果不盡如人意,需要我們自己定義,我們用屬性動畫來實現。 首先抽象一個父類Activity :AnimatedDoorActivity public abstract class AnimatedDoorA

原创 Android搜索過濾

一、簡介 一般來說,我們可以使用以下幾種方式實現搜索: 1)暴力搜索——直接使用數據庫提供的功能,每次都從數據庫中讀取搜索的結果,存進一個數據結構用於Adapter顯示,調用notifyDataSetChanged()刷新數據

原创 OS X Java 環境配置

MacBook Pro OS X 10.9。 JDK1.7 配置如下 網上查了一下,發現網上普遍存在一種不太好的硬編碼方式,比如以下這些: JAVA_HOME=/Library/Java/Home JAVA_HOME=/System

原创 Android Filter類--線程間的通信

Filter與AsyncQueryHander實現基本類似,它包含兩個Hander:RequestHandler和 ResultHandler,以及一個HandlerThread:名爲Filter的線程。RequestHandler與Fi

原创 ViewPager異步添加數據異常 The application's PagerAdapter changed the adapter's contents without calling Pag

項目中用到ViewPager左右滑動圖片,圖片從網上獲取,異步添加到ViewPager的Adapter中。出現強關,log如下 06-25 15:01:44.396 E/AndroidRuntime(21181): java.lang.I

原创 ROM 添加自定義framework實現原理

項目中編譯出來的framework 可以用在單獨apk編譯中使用。是apk 依賴framework的時候可以編譯通過,由於源碼中編譯出來的framework較大,所以我們採用動態庫鏈接的方式使apk編譯通過。 除了源代碼中的framewo

原创 Android線程間通信——Looper Handler

首先先搞清楚Looper handler messageQuee之間的關係 職責 Message:消息,其中包含了消息ID,消息處理對象以及處理的數據等,由MessageQueue統一列隊,終由Handler處理。 Handler

原创 Android動畫學習筆記-Android Animation

3.0以前,android支持兩種動畫模式,tween animation,frame animation,在android3.0中又引入了一個新的動畫系統:property animation,這三種動畫模式在SDK中被稱爲prope

原创 Activities and Tasks --Dev Guide

就像前面提到的,一個activity可以啓動另一個,包括那些定義在不同應用程序中的。假設,例如,你想讓用戶顯示一些地方的街道地圖。已經有一個activity可以做這個事,所以你的activity所要做的就是將行爲對象和需要的信息放在一起,

原创 ViewPager延時加載(懶加載)

使用viewpager默認會加載至少一個view,項目中有的頁面中的大圖比較多,如果一起加載比較耗時,並且浪費數據流量,我們想把viewpager滑動到哪頁加載哪頁,也就是viewpager懶加載方法。 首先看下Activity pri

原创 android 之 android.widget.RelativeLayout.LayoutParams

LayoutParams相當於一個Layout的信息包,它封裝了Layout的位置、高、寬等信息。假設在屏幕上一塊區域是由一個Layout佔領的,如果將一個View添加到一個Layout中,最好告訴Layout用戶期望的佈局方式,也就是將