原创 android自定義view 流式標籤View

前段時間,項目裏要做一個熱搜詞的頁面,當時隨便在網上找了一個改了改就拿來用了。這幾天稍微有點空閒,想辦法再來改善改善。 這是改完後的效果: 一個個標籤都是單獨的TextView,外層用View

原创 使用javah 命令報找不到類錯誤

使用javah 命令報找不到類錯誤 錯誤:無法訪問 com.example.jni.MainActivity 未找到 com.example.jni.MainActivity 的類文件javadoc: 錯誤 - 找不到類 com.exam

原创 在安卓開發環境下寫一個main測試類運行報錯ShouldNotReachHere

一般遇到這種情況,都是main()的主入口和Android的主入口(activity)衝突導致。 解決的方案如下(eclipse):           1.選中項目,右鍵 -> Run As -> Run Configurations.

原创 adb 命令之全面打擊

笑談風雲,一語定乾坤。今天我和大家分享一下adb的學習經驗。 簡介 adb的全稱爲Android Debug Bridge 調試橋,是連接Android手機與PC端的橋樑,通過adb可以管理、操作模擬器和設備,如安裝軟件、查看設備軟硬件

原创 android自定義View 可上拉關閉的鎖屏頁

最近看到小米的鎖屏頁,如下圖: 這是小米鎖屏頁面。上滑可以進入主頁面或者是進入解鎖,左滑可以進入相機。 然後就想寫一個大概的,於是就開始動手了。 滑動的話,主要是用Scroller這個類來實現。我寫得比較簡單,只寫了一個上滑進入解鎖。

原创 Can not perform this action after onSaveInstanceState

問題原因: 是在使用FragmentTransition的 commit方法添加一個Fragment的時候出現的。使用的 commit方法是在Activity的onSaveInstanceState()之後調用的,這樣會出錯,因爲onS

原创 獲取手機中的視頻

安卓自身帶有內容解析者,只要將查詢的參數寫對,就可以獲取所有的視頻文件了。 先寫個實體類,用於保存視頻的信息 public class VideoInfo{ public String name;//視頻文件名

原创 Android在子線程中顯示Toast實現與源碼分析

我寫了一個子線程,在裏面做了一些圖片的操作,操作結束的時候需要彈出toast來提示一下狀態,代碼如下: new Thread(new Runnable() { @Override

原创 Android性能優化之路(一)

引言 什麼是APP性能優化?一言以蔽之,就是使APP運行的更高,更快,更強,更穩定。在代碼不夠壯健的時候,APP裏的問題是出於熵增狀態,當熵增到達一個臨界點時,就會引發OOM、ANR、Crash、卡頓等問題。本文,就來研究研究如何去做到A

原创 Android緩存框架 DiskLruCache

笑談風雲,一語定乾坤。大家好,我是皖江。今天,我繼續和大家分享我的Android框架學習經驗之路。上次我熟悉了Android自帶的二級內存緩存機制LruCache的使用,這次來學習由第三方JakeWharton的git開源項目DiskLr

原创 Android圖片下載緩存框架 Android-Universal-Image-Loader 五分鐘快速搭建

笑談風雲,一語定乾坤。大家好,我是皖江。工慾善其事必先利其器。今天來看一看android的圖片下載緩存框架Android-Universal-Image-Loader如何快速配置進項目中。 簡介 Android-Universal-Ima

原创 Android彈幕框架 黑暗火焰使

笑談風雲,一語定乾坤。大家好,我是皖江。 今天我將分享由BiliBili開源的Android彈幕框架(DanmakuFlameMaster)的學習經驗。 我是將整個框架以model的形式引入項目中的,這樣更方便的觀察源碼。也可以通過依賴的

原创 自定義View 屬性解析

引言 在自定義View中可以定義、獲取並設置屬性。那麼同樣的Button在安卓不同版本下面擁有不同的風格,這是怎樣實現的呢?在本文將會對一下幾點進行探索。 1.資源文件declare-styleable標籤的詳解 2.如何獲取自定義屬性

原创 Android緩存框架 LruCache

笑談風雲,一語定乾坤。大家好,我是皖江。從今天開始,我將和大家一起分享我的Android框架學習經驗之路。萬丈高樓平地起,我就從小小的緩存策略開始學習吧。 簡介:說起Android的緩存,主要用到的圖片的緩存。當然,其他一些視頻、音頻文件

原创 RE:從零開始學gradle(二)

接着上一章的繼續。  上一章傳送門:RE:從零開始學gradle(一) 運行基本構建任務 在Terminal終端下輸入以下命令: gradlew tasks會列出所有的task列表 ------------------------