原创 Fragment的通信問題, 新建Fragment爲何不要在構造方法中傳遞參數?

最近有個新進來的同事做Android開發,因爲之前都是做Java的,所以新建對象習慣在構造方法裏面去傳遞參數回調方法什麼的.於是當他在Activity中創建Fragment的時候,也使用了類似new TestFragment( "cont

原创 安卓動畫系列之五, 屬性動畫PropertyAnimation(下) - 通過官方例子深入瞭解

這裏繼續之前寫的上篇屬性動畫PropertyAnimation(上)之初步印象 來寫下篇,瞭解一下自定義的對象如何調用實現屬性動畫,還有AnimatorSet的一些靈活用法.本來也嘗試像之前那樣寫demo去講,但發現android官方在這

原创 選擇排序算法之C++實現

選擇排序算法, 和上篇講的冒泡算法很類似.很容易混淆理解.所以這篇緊接着就講選擇排序算法.上篇講過, 之所以叫冒泡排序, 是因爲從第一個數開始和自己相鄰的元素做兩兩比較,哪個最大就後置,然後這樣第二個元素就比第一個元素大,用同樣的方法

原创 插入排序算法之C++實現

插入排序,顧名思義其實現形式是插入. 在整個大小不一的隊列中, 第一次: 從一個元素開始,將後面相鄰的元素(第二個元素)提取出來,放在一個變量中暫時保存,然後和第二個元素前面的那個元素(第一個元素)做比較,如果比它大,當然就不變動位置;但

原创 Android性能優化之提高應用響應速度(瞭解ViewStub和推遲視圖的初始化)

爲什麼需要推遲視圖初始化 這裏談談爲什麼要推遲視圖的初始化. 假設這樣一個情況, 如果手機的界面包含大量的視圖組件,而且數據大多都來源於服務器. 這就意味着一進入這個界面,應用就會在onCreate()方法中去初始化爲數不少的layout

原创 關於Activity使用startActivityForResult()跳轉後,onActivityResult()無法響應RESULT_OK的原因

最近碰到這個問題, 然後Google一番. 於是記錄下來.  去翻Android Developers網站的Reference, 在Activity的介紹中有段文字如下: 意思是當Activity的啓動模式是singleTask時,

原创 簡析Handler、Looper和MessageQueue三者的關係

Android開發中,Handler用的非常多,因爲它和AsyncTask一樣是系統提供給我們的異步的通信機制。能夠將一些更新和別的不適合放在UI主線程的操作放到它們中去。 Handler的作用主要有兩個:一是在線程中發送消息, 二是獲取

原创 Android性能優化之實現雙緩存的圖片異步加載工具(LruCache+SoftReference) - 拿來即用

之前在郭大神的博客看到使用LruCache算法實現圖片緩存的.這裏仿效他的思路,自己也寫了一個. 並加入ConcurrentHashMap<String, SoftReference<Bitmap>>去實現二級緩存,因爲Concurren

原创 android之手機開機啓動Service服務

之前,介紹了四大組件的BroadCastReceiver和Service,這次我們利用廣播來啓動Service服務. 這種實現在很多APP都有出現,比如很多應用安裝後,只要使用過一次,後面重啓手機它可能就會推送一些消息給用戶的手機,在頂欄

原创 冒泡算法之C++和Java實現

(大神可以請直接忽略這篇文章了...)最近碰到一些算法的問題,於是重新去溫習了.冒泡算法應該是最簡單實現的算法之一,複雜度也不算高.在日常用還是經常被用到.至於爲什麼叫冒泡算法? 是因爲數值大小不一的散亂排列的元素,經歷這樣的處理: 第一

原创 Android性能優化之關於緩存的構思

爲了提升用戶體驗, 對應用顯示的數據進行緩存是非常好的方案.用過ListView,GridView,ViewPager等這些組件的童鞋都知道 , 應用都有預加載的行爲, 比如當前看的是ViewPager第一頁數據, 第二頁甚至第三頁還沒顯

原创 安卓動畫系列之屬性動畫實現跳起落下圓圈運動

最近看了淘寶手機端的有些頁面是類似下面這個小球的加載效果。後來瞭解了下,淘寶是直接一個gif圖片實現效果的,這當然是最簡單的方法。爲了加深瞭解屬性動畫,這次就做個類似的效果。這依舊由幾個簡單的屬性動畫組合在一起,所有動畫都在代碼裏實現了。

原创 Android基礎視圖組件之計時器( Chronometer )

安卓系統是內置了計時器(Chronometer)的,但是不很強大,只能顯示以秒爲單位的計時。如果要具體到毫秒級,就要自己寫方法實現了。因爲Chronometer這個組件灰常簡單,提供的api方法也少,可直接通過例子瞭解。 計時器(Chr

原创 Android性能優化之談談SparseArray,SparseBooleanArray和SparseIntArray

相信大家都明白,手機軟件的開發不同於PC軟件的開發,因爲手機性能相對有限,內存也有限,所謂“寸土寸金”,可能稍有不慎,就會導致性能的明顯降低。Android爲了方便開發者,特意在android.util這個包中提供了幾個提高效率的工具類,

原创 Java常用的幾個正則方法(查找索引,匹配,替換)

正則表達式是一種爲了方便操作字符串而約定的規則.在PHP,JAVA等很多主流語言都有正則的使用.最常見的用法莫過於查找,替換和匹配.下面作爲簡單的總結,通過用簡單的例子,記錄下常用的幾個方法. 關於正則如何使用,就不解釋了,因爲網上也能