原创 自定義一個圓圈View

這篇博客的目的是如何開發一個繼承自View的自定義控件。最後的效果是能夠得到一個任何頁面都能使用的圓圈控件。代碼很簡單,也很粗陋。但是高樓平地起。 先貼代碼,可以先不看,看完後面的解釋再看代碼: package com.exam

原创 自定義屬性

當我們需要實現一些特定的佈局顯示的時候,我們需要自定義一個控件。自定義控件一般都是繼承某種View,然後在裏面實現onMesure方法和onLayout方法。 當我們使用自定義控件的時候,我們很希望這個控件能像安卓內部的其它控件

原创 Java如何保留兩位小數

在做斷點下載的時候碰到一個小問題,在顯示下載進度的時候我想讓它顯示總共有多少M,和已經下載了多少M。但是我又想讓它保留兩位小數。於是我用到了DecimalFormal這個類。 顧名思義,這是一個控制小數格式的類用法如下。 fl

原创 對面向對象編程的6個基本原則的理解

單一職責原則 定義:一個類中應該是一組相關性很高的函數,數據的封裝。 做法:根據對業務和需求的理解,去劃分一個類,一個函數的職責。 舉例:比如要實現一個加載圖片的功能,並在加載圖片的時候實現對圖片的緩存。這時候至少應

原创 EventBus的使用

分享者:蔡永強 分享日期:2016年10月27號 EventBus 概要 -EventBus是針對Android在發佈和訂閱消息的優化解決方案。 爲什麼要使用EventBus 簡化了組件之間的通信 使你的代碼更加簡潔 小而美(快,且

原创 Android使用Monkey的自動化測試

執行條件: 一部Android手機,一臺電腦,一根USB。 adb shell 手機連上電腦 上面是按照達成由易到難排列的。 第一個不用廢話。 第二個我是在windows系統下打開adb shell的。 打開方式是 cmd 進入小

原创 Monkey的基本命令

monkey命令能模擬點擊屏幕,達到壓力測試的目的。通過其參數可以控制具體如何測試。 參數名 -p 功能 參數-p用於約束限制,用此參數指定一個或多個包(Package,即App)。指定包之後,Monkey將只允許系統啓動指定的AP

原创 Android適配底部返回鍵等虛擬鍵盤的完美解決方案

這個問題來來回回困擾了我很久,一直沒能妥善解決。 場景1:華爲手機遮擋了屏幕底部。 場景2:進入應用時,虛擬鍵自動縮回,留下空白區域。 需求: 需要安卓能自適應底部虛擬按鍵,用戶隱藏虛擬按鍵時應用要佔滿整個屏幕,當用戶啓用虛擬鍵時,應用

原创 CSS選擇器介紹

Css選擇器介紹 一個html元素可以使用一種樣式展現出來,樣式指的是顏色,大小,位置,字體等信息。 一個元素使用哪一種樣式來展現自己呢,這就涉及到Css的選擇器了。css選擇器會根據自己的規則去html網頁中選擇元素。被選中的元素就使

原创 如何讓Android應用一直活着,確保佔用系統資源。

首先要說的是這是一個比較流氓的辦法,會被手機管家等軟件檢測到有一個後臺服務在跑,會提示用戶去清除。除非必要,不然還是考慮其他方法吧。 應用場景: 沒有退出App而是回到home或是進入到其它App後,系統自動回收了我App的資源,導致我

原创 Java中內置的觀察者模式

JAVA有內置的觀察者和被觀察者,很好用,效率很高: 轉載於:http://www.cnblogs.com/mengdd/archive/2013/02/08/2909206.html Observable類   java.util.O

原创 簡單易懂的UML

活動圖 概述 活動圖是一種描述系統行爲的圖,它用於展現參與行爲的類所進行的各種活動的順序關係。 基本組成元素 動作狀態 動作狀態是指執行原子的、不可中斷的動作,並在此動作完成後通過完成轉換轉向另一個狀態的狀態。 特點是原子的,瞬

原创 在屏幕上添加一個可移動,可點擊的懸浮按鈕。

需求: 1.隨手指移動。 2.可觸發點擊事件 實現步驟 在Android Studio的Gradle中導入CircularFloatingActionMenu dependencies { compile 'com.oguzd

原创 Android代碼混淆

1.編輯proguard-project.txt文件,可以確定哪些代碼需要混淆,哪些代碼不需要混淆。 a. 把所有你的jar包都申明進來,例如: -libraryjars libs/apns_1.0.6.jar -librar

原创 Android中Toolbar的基本使用

Android的標題欄是很重要的一個模塊,App是否易用很大一部分要看標題欄。寫這個博客的時候剛發現谷歌推出了一種新的標題欄實現方式。 它相對於以前的ActionBar來說,最大的變化是開發者可以在標題欄上增加自定義的view。同時在最