原创 Android 圖片填充動畫

前言 最近在項目中,開發下拉刷新列表時,要做一個動畫,下拉的時候慢慢填充一個動畫,做到一個滿血復活的效果(設計師的解釋,你懂得--),然後自己寫了一個自定義的動畫實現此效果。 代碼 package com.example.load

原创 Android使用模板生成支持手機直接查看的Word文檔

這篇文章主要爲大家詳細介紹了Android 使用模板生成Word文檔,支持手機直接查看word,具有一定的參考價值,感興趣的小夥伴們可以參考一下 最近在項目工作中,碰到一個很棘手的需求,說是要在手機端根據模板生成w

原创 Android圖片緩存策略

前言 在Android開發中,如果圖片過多,而我們又沒有對圖片進行有效的緩存,就很容易導致OOM(Out Of Memory)錯誤。因此,圖片的緩存是非常重要的,尤其是對圖片非常多的應用。現在很多框架都做了很好的圖片緩存處理。 一直想寫一

原创 Android獲取設備唯一標識解決方案

關於Android設備唯一標識符號 前言 由於在開發中需要開發遊客模式,在用戶沒有登錄的情況下必須確保設備的唯一性,於是慣性思維想到的肯定是使用DevicesId 來作爲設備的唯一標識,用以代替用戶登錄以後的唯一標識符。 但是由於國內複雜

原创 RxJava 詳解

前言 我從去年開始使用 RxJava ,到現在一年多了。今年加入了 Flipboard 後,看到 Flipboard 的 Android 項目也在使用 RxJava ,並且使用的場景越來越多 。而最近這幾個月,我也發現國內越來越多

原创 AndroidStudio創建gitignore忽略已經track的文件

1. 問題 原本在新建工程時AS會自動生成.gitignore文件,忽略掉不需要進行track的文件,比如.idea文件夾、build文件夾等,但是我在一開始創建項目的時候沒有意識到要忽略文件,把所有文件都track了,此時如果只

原创 Android 消息處理機制(Looper、Handler、MessageQueue,Message)

Android 消息處理機制估計都被寫爛了,但是依然還是要寫一下,因爲Android應用程序是通過消息來驅動的,Android某種意義上也可以說成是一個以消息驅動的系統,UI、事件、生命週期都和消息處理機制息息相關,並且消息處理機制在整

原创 Android App 沉浸式狀態欄解決方案

伴隨着 Android 5.0 發佈的 Material Design,讓 Android 應用告別了以前的工程師審美,迎來了全新的界面,靈動的交互,也讓越來越多的 App 開始遵從 material design 設計原則,不再是以前

原创 Android 命名規範

       剛接觸Android的時候,命名都是按照拼音來,所以有的時候想看懂命名的那個控件什麼是什麼用的,就要讀一遍甚至好幾遍才知道,這樣的話,在代碼的審查和修改過程中就會浪費不少不必要的時間。如果就是我一個人開發,一個人維護的話還

原创 Android:Activity 與 Fragment 通信 (99%) 完美解決方案

前言 最近一直在想着能否有一種更好的方案來解決:Android中Activity與Fragment之間通信的問題,什麼叫更好呢,就是能讓Fragment的複用性高,性能還有好(不用反射),代碼還要好維護,不需要爲每對Activity和F

原创 Android主流框架RxJava+Retrofit+MVP

簡介最近公司新創立一個項目,準備開始前期工作,搭建框架,正在想着要怎麼搭建更好的框架,以便輕鬆應付後續需求。想着最近比較流行的RxJava+Retrofit+MVP框架,自己也準備寫一個通用的前端項目框架,擼起袖子準備開幹。備註:該項目會

原创 Android跨進程通信Binder、Messenger、AIDL彙總

 前言 提到的進程間通信(IPC:Inter-Process Communication),在Android系統中,一個進程是不能直接訪問另一個進程的內存的,需要提供一些機制在不同的進程之間進行通信,Android官方推出了AIDL(An

原创 控制檯Json日誌解析處理

在開發中我們經常要在控制檯中打印日誌,來實時定位追蹤問題,但是一般json數據不進行處理的話,都是扎堆在一起,很難一眼找到想要的數據,例如:當數據量一多的時候,簡直是災難,只能把數據copy出來,用解析工具來查看,那有沒有什麼方法能直接在

原创 the android gradle plugin version is too old 解決方法

最近幾天把android studio的版本升級到2.3的版本後,發現新建的項目編譯不通過。提示什麼錯呢?如下圖所示 插件版本2.3.0- alpha2太老了??但是2.3版本也不老啊,因爲IDE的版本也才2.3.那這個問題到底是什麼引

原创 阿里巴巴Java開發手冊

一、編程規約 (一)命名規約 【強制】 代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。 反例:_name / __name / $Object / name_ / name$ / Object$