原创 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公司