原创 Android EditText 使用時遇到 StackOverflowError

一直沒有仔細的研究過 Android 原生的一些控件,最近在項目中遇到一個比較常見的問題,在使用 EditText 的 addTextChangedListener() 方法時,在重載方法中使用了 自身的 SetText()方法,結果報了

原创 Android 常用開發工具類之 AppVersionUtil (獲取應用版本信息工具)

import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; /**

原创 JAVA 設計模式之----單例模式

單例模式可以說是一種程序猿耳聞能詳的設計模式之一了。基本上所有的商業項目都會使用到它。那麼單例模式到底是什麼?它的作用又是什麼呢?在瞭解了它的本質、作用之後我們又應該如何實現它,優化它呢? 在實際開發中,由於邏輯需求,某些類在整個項目中只

原创 Android 通過 WebView 請求下載 APK

很少去研究 Webview 的具體使用,之前在項目中遇到,通過點擊 H5 中的按鈕來進行下載 Apk 。剛收到這個需求想到的第一個想法就是調用 JS 來實現。之後實際運用前去看了看 WebView 的 API 發現了  WebView 下

原创 多重Viewpager與Fragment使用時遇到的getActivity爲null

最近公司的項目裏使用到了多重的Viewpager與Fragment,但是在多次切換Fragment的時候經常出現getActivity爲null的空指針異常; 在查詢了許多資料後發現  Fragment的生命週期中,在生命週期處於onA

原创 Android IPC 進程間通信機制之 Messenger

Messenger 作爲一個跨進程通信工具,它可以讓你通過互相傳遞 Message 來進行跨進程數據交互共享。對於Android來說,Messenger是一個輕 量級的 IPC 方案,內部對 AIDL 進行了封裝。它的實現較之 AIDL

原创 Android apk簽名過程中遇到的坑

由於項目之前在各大平臺上打包的apk是同事使用android studio自動生成的apk文件,導致了apk簽名文件使用的是他個人.android下得debug.keystore文件。 在版本迭代上出現了很嚴重也很尷尬的問題,就是隻用通

原创 Android 廣播(Broadcast)及廣播接收器(BroadcastReceiver)的使用

在大部分項目開發過程中,廣播會經常性的被使用到。廣播的使用場景有很多,總體來說它的功用主要在於在通信的功能。它可以是不同應用程序間的通信也可以是不同線程間的通信等。作爲四大組件之一,它的重要性不言而喻,Android 系統中也內置了許多廣

原创 Android (OutOfMemory )Bitmap使用優化

對於大部分新手來說 OutOfMemory 是經常出現的錯誤,尤其是在大量使用 Bitmap 時這樣的錯誤更是時常出現。 對於新手來說以下幾點可以很好的幫助你避免在使用 Bitmap 過程中出現的 OutOfMemory  錯誤。    

原创 Android Date、long、String相互轉換的工具類

在 Android 開發過程中經常會使用的時間的類型轉換,下面是個人整理的一個時間類型轉換工具,直接複製就能使用。 import java.text.ParseException; import java.text.SimpleDate

原创 android 動畫實現之 Tween Animation(補間動畫)

對於 Android 初學者來說動畫效果的實現是必須掌握的一項技能,官方提供動畫分爲 Property Animation(屬性動畫)和 View Animation(視圖動畫) 兩種。而 View Animation 又分爲 Twee

原创 Android 自定義 View 的重繪和更新使用

對於新手來說,自定義 View 是一種很讓人頭疼的實現。自定義過程網上已經很多 demo 了。主要還是讓自定義 View 繼承自 View 類,然後重寫他的onMeasure() 、onDraw()、和 onLayout()方法。在 on

原创 Android EventBus 的簡單使用

自從使用了 EventBus 之後,代碼中的各種廣播接收器就隨之消失了。不僅代碼量少了,而且可讀性也更高了。 EventBus 的作用是:發佈 / 訂閱的事件總線。下面我來介紹下它的簡單實現。 首先爲項目添加 EventBus  的依賴

原创 Android 多進程使用簡單實例

在 Android 開發過程中,多進程的使用是很常見的。當單進程分配的內存不能滿足你的需求時,你就需要開啓一個新的進程來支持內存的需求。當你的某些需求需要獨立運行時,你都需要一個新的進程來實現你的功能。下面給大家提供一個簡單的實現開啓多進

原创 Android 使用 Handler 避免內存泄漏的一些建議

內存泄漏是 Android 開發中經常出現的錯誤。由於我們發送的消息會在 Handler 的 Looper 中不斷輪循處理,這樣 Handler 的聲明週期比 Activity 會更長。所以在使用 Handler 時我們應該將其設爲靜態內