原创 Android 自定義view中如何判斷一個點是否在 經過旋轉的 RectF 內?

最近在做相冊的圖片編輯功能,遇到一個bug,插入文字後旋轉文字區域,點擊文字區域無法觸發,分析原因是判斷時認定爲點沒在RectF內。如圖: 如果只是通過rect.contains(x, y)來判斷,那麼實際區域則是綠色區域的部分

原创 IntentService淺析

IntentService淺析 說起IntentService就需要先了解一下Service。 Service 是長期運行在後臺的應用程序組件。 Service 不是一個單獨的進程,它和應用程序在同一個進程中,Service 也不

原创 EditText限制輸入的幾種方式及只顯示中文漢字的做法

EditText限制輸入的幾種方式及只顯示中文漢字的做法 前段時間項目中有個需求是要求只能輸入漢字,並且不能輸入偏旁部首,於是總結了下EditText限制輸入的幾種方式,但是對於語音輸入的還沒找到好的解決方案: 通過設置EditTe

原创 如何定位和解決Andorid的內存溢出問題

最近項目功能完善得差不多,bug也改得差不多,主要精力放在優化上,monkey測試時,偶爾會出現OOM異常,所以特意整理一下OOM的定位及解決方案。在別人整理的文章上,增加自己遇到的一些問題,從而有了這篇文章。 原文參考:如何定位和解決A

原创 IntentService,更好用的Service

IntentService,更好用的Service 說起IntentService就需要先了解一下Service。 Service 是長期運行在後臺的應用程序組件。 Service 不是一個單獨的進程,它和應用程序在同一個進程中,Serv

原创 Android進階之——自定義view(一)

前言 Android App開發過程中,經常會遇到系統框架中提供的控件無法滿足我們產品的設計需求,這時候就必須自定義view了,有時候爲了方便,也可以選擇自定義view。 在我看來,android自定義view的實現方式可以分成三種:繼承

原创 android 實現listview的adapter多種佈局方式

這兩天在實現某模塊的排行榜功能,看了UI給的效果圖和切圖,感覺有點鬱悶,因爲平時使用listview時,子項都是隻有一種佈局方式,而這次卻有兩種。於是專門研究了下,發現重寫adapter的getItemViewType()和getView

原创 android 讀取excel表格數據,並存入數據庫

最近策劃提了個需求,但是已有的數據不能滿足需要,於是內容資源部製作了份excel表格補充。So,任務來了,讀取並使用excel數據。由於感覺excel表格裏的數據使用頻率較高,那麼就不能等到需要了纔去讀取excel,所以決定採用先把exc

原创 android button background圖片被拉伸

button background圖片被拉伸 問題:             <Button                 android:id="@+id/recitebrowse_left"                 andr

原创 activeandroid在android5.0報IncompatibleClassChangeError錯誤

接手的項目中,之前負責的同事用了ActiveAndroid的數據庫開源框架,原本在android4.2和android5.0的系統上用得好好的。可是最近要求更換中間件,而中間件中依賴了httpcore和httpmime,結果就導致了Ac

原创 Android 代碼裏動態設置TextView/Button等的文字顏色Seletor

前言 今天遇到個很蛋疼的問題,下載時,多個按鈕共用一個button,也就是不同下載狀態下,button的背景以及字體顏色都不一樣,結果自己挖了坑把自己埋進去了。 以下是我在/res/color文件夾裏給button設置的文字顏色se

原创 android ProgressBar被拉伸或壓縮變形,顯示不全

前奏 現象 WHY 結論 前奏 progressbar在xml的寫法是: <ProgressBar android:id="@+id/progressBar1" style=

原创 android 關於Button在StateListDrawable 中使用AnimationDrawable的問題

最近在實現一個button的效果時,UI要求未點擊時,button有相應的動畫,按住時有相應的效果,於是自然而然的想到了使用StateListDrawable ,以及幀動畫。 遇到了一個異常:android.graphics.drawab

原创 android 預加載進程(頁面跳轉白屏或黑屏)

現象: 第一次從一個進程的activity跳轉到另一個進程的activity,會先呈現出黑屏(或白屏)的現象,然後纔是第二個activity的界面。這是因爲第一次跳轉的時候,需要先啓動另一個進程,而啓動進程需要消耗一定的時間,而在這時間

原创 Android NDK Eclipse Build Error: Unable to rename file. Reason: File exists

     問題:“Android NDK Eclipse Build Error: Unable to rename file. Reason: File exists” 解決方法:刪掉該項目的“.git”文件夾 在不同項目裏編譯相同的