原创 EventBus使用詳解(一)

一、概述 EventBus是一款針對Android優化的發佈/訂閱事件總線。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,線程之間傳遞消息.優點是開銷小,代碼更

原创 部分手機拍照後照片被旋轉的處理

在部分Android手機上使用Camera拍照以後,得到的照片會被自動旋轉(90°、180°、270°),這個情況很不符合預期。仔細分析了一下,因爲照片屬性中是存儲了旋轉信息的,所以要解決這個問題,可以在onActivityResult方

原创 Espresso環境搭建及其基本使用

一、創建待測試項目 在Android Studio環境下創建了一個EspressoDemo項目,作爲下面測試的項目。僅爲演示,所以只添加了一個啓動頁MainActivity. compileSdkVersion 23 buildToo

原创 Android ViewPager使用詳解

這是谷歌官方給我們提供的一個兼容低版本安卓設備的軟件包,裏面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我們可以做很多事情,從最簡單的導航,到頁面菜單等等。那如何使用它呢,與LisstView類似,

原创 Gradle For Android (一) 基礎定義與依賴管理篇

基本配置 首先 在我們新建項目的時候如下圖,構成一個完整的gradle管理的Project AndroidTGradle.jpeg 其次 這裏簡單描述下,這幾個文件作用: (1) /gradle/gradle-wrapper

原创 textview設置超出規定的長度時顯示省略號

<TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content

原创 Android Studio 如何打JAR包

Android Studio 如何打JAR包 在eclipse中我們知道如何將一個項目導出爲jar包,供其它項目使用。  在AS中可以通過修改gradle才處理。  我們新建一個項目MakeJar,在項目中新建一個modle-類型爲l

原创 Android總結之WebView使用總結

前言:      今天修改項目中一個有關WebView使用的bug,激起了我總結WebView的動機,今天抽空做個總結。 使用場景:  1.)添加權限 <uses-permission android:name="android

原创 EventBus使用詳解(二)

一、概述 前一篇給大家裝簡單演示了EventBus的onEventMainThread()函數的接收,其實EventBus還有另外有個不同的函數,他們分別是: 1、onEvent 2、onEventMainThread 3、

原创 Java學習之LinkedHashMap學習總結

需求背景:      LRU這個算法就是把最近一次使用時間離現在時間最遠的數據刪除掉,而實現LruCache將會頻繁的執行插入、刪除等操作,我們就會想到使用LinkedList,但是我們又要基於Key-Value來保存數據,這個時候我

原创 EventBus3.0更多實用使用

線程控制 在EventBus中有4種線程控制的方式: 1.POSTING:同步模式,顧名思義只中方式就是接收事件方法的線程和發送事件方法的線程一致,如果發送事件是在主線程中,那麼接收事件也是在主線程中。如果發送事件的是在子線程,那麼那麼接

原创 Android事件分發機制完全解析,帶你從源碼的角度徹底理解(下)

那麼今天我們將繼續上次未完成的話題,從源碼的角度分析ViewGroup的事件分發。 首先我們來探討一下,什麼是ViewGroup?它和普通的View有什麼區別? 顧名思義,ViewGroup就是一組View的集合,它包含很多的子Vi

原创 深入解析AsyncTask

AsyncTask的介紹及基本使用方法 關於AsyncTask的介紹和基本使用方法可以參考官方文檔和Android實戰技巧:多線程AsyncTask這裏就不重複。 AsyncTask引發的一個問題 上週遇到了一個極其詭異的問題,一個小功能

原创 EventBus3.0快速上手

快速教你上手EventBus3.0,在EventBus3.0之前用法不同,就不在這裏說了。 準備工作,建立EventBus3.0的依賴: compile 'org.greenrobot:eventbus:3.0.0' 基本使用 1.在需要

原创 Gradle For Android(二) 多渠道打包與簽名配置

繼上一篇Gradle基礎篇後,現在記錄下如何在gradle中進行多渠道打包與簽名配置 身爲程序猿,谷歌被牆是衆所周知的事情~因此,估計好多人都還沒見過google play store。也許是在玩pokemon go,有特意去搞過吧哈