原创 Material Design之CollapsingToolbarLayout使用

CollapsingToolbarLayout作用是提供了一個可以摺疊的Toolbar,它繼承至FrameLayout,給它設置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(

原创 Android實現網絡多線程文件下載

實現原理 (1)首先獲得下載文件的長度,然後設置本地文件的長度。 (2)根據文件長度和線程數計算每條線程下載的數據長度和下載位置。 如:文件的長度爲6M,線程數爲3,那麼,每條線程下載的數據長度爲2M,每條線程開始下載的

原创 Glide 源碼解析

泰國舉行的谷歌開發者論壇上,谷歌爲我們介紹了一個名叫 Glide 的圖片加載庫,作者是bumptech。這個庫被廣泛的運用在google的開源項目中,包括2014年google I/O大會上發佈的官方app。Glide和Picasso

原创 寫一個算法實現在一個整數數組中,找出第二大的那個數字。

1. 寫一個算法實現在一個整數數組中,找出第二大的那個數字。 舉例:int[ ] numbers = {1,3,5,0,6,9}; 輸出:6 int[ ] numbers2 = {0,3,7,1,12,9}; 輸出:9 int[

原创 ReentrantLock Condition 用法

我們要打印1到9這9個數字,由A線程先打印1,2,3,然後由B線程打印4,5,6,然後再由A線程打印7,8,9. 這道題有很多種解法,現在我們使用Condition來做這道題(使用Object的wait,notify方法的解法在這裏)。

原创 動畫庫的封裝和快速框架

提到動畫,Android本身自帶的動畫類Animation已經做到支持3.0及以上了,雖然也做了很好的封裝,但是做起復雜動畫來還是不夠像上邊那樣簡潔。在關於動畫兼容方面,github上的大牛Jake Wharton又做了一套動畫開源

原创 鎖對象Lock-同步問題更完美的處理方式

  Lock是java.util.concurrent.locks包下的接口,Lock 實現提供了比使用synchronized 方法和語句可獲得的更廣泛的鎖定操作,它能以更優雅的方式處理線程同步問題,我們拿Java線程(二)中的一個例

原创 模板方法模式深度解析(二)

下面通過一個應用實例來進一步學習和理解模板方法模式。         1. 實例說明       某軟件公司欲爲某銀行的業務支撐系統開發一個利息計算模塊,利息計算流程如下:       (1) 系統根據賬號和密碼驗證用戶信息,

原创 goolge官方推薦圖片加載框架glide使用介紹

簡介: glide爲Android上一個專注於圖像加載和緩存的庫,後續可以考慮介入此框架。 使用步驟: 一:導包 在項目目錄下,打開build.gradle文件,輸入以下代碼: [java] view plainc

原创 git 代碼管理命令

git log -2查看最近2次提交的日誌 git status查看狀態 git reset --hard HEAD~1 回退本地已經commit的最近一起提交 git branch -r/-a 遠程查看/本地查看 git che

原创 Android開發中立即停止AsyncTask和Thread的一些辦法

程序開發中經常會有立即停止線程運行的需要,而通過api是沒有辦法實現這個目的的,因此對於這個情況,我們需要採取一些“特殊”的方式來實現: 1,判斷標誌位的辦法: 我們要知道在java的線程中,沒有辦法停止一個正在運行中的線程。在An

原创 隨機產生20個字符串並且字符串不能重複 且進行排序

package com.test.kaoshi;       import java.util.HashSet;    import java.util.Iterator;    import java.util.Random;

原创 模板方法模式深度解析(三)

鉤子方法的使用              模板方法模式中,在父類中提供了一個定義算法框架的模板方法,還提供了一系列抽象方法、具體方法和鉤子方法,其中鉤子方法的引入使得子類可以控制父類的行爲。最簡單的鉤子方法就是空方法,代碼如下:

原创 導入classes.jar到項目

1.將Launcher2項目導入eclipse中。 這時候Launcher2工程已經導入到eclipse中了,不過這時候會有100多個錯誤. 2.添加Launcher2使用的包文件。 由於在Android源碼中,很多方法、成員、類、

原创 JDK中的設計模式應用實例

在JDK(Java Development Kit)類庫中,開發人員使用了大量設計模式,正因爲如此,我們可以在不修改JDK源碼的前提下開發出自己的應用軟件,本文列出了部分JDK中的模式應用實例,有興趣的童鞋可以深入研究,看看前Sun公司