Android項目經常使用功能綜合實例

寫在開始:這個項目中有一些東西是從網上和以前作的項目中借鑑而來,並不是全部都是原創,特此說明,可是太多太雜,因此就不一一列明出處了。git

這個項目是本人結合本身以前開發過的Android項目總結而成的一個範例項目,作這個範例項目的目的很簡單,就是想把平時經常使用的一些功能所有集合到這個項目中,爲之後的開發提供便利,也爲一些新手提供參考,本項目之後還會持續更新,但願你們下載的時候,順手給個star,畢竟總結不易,下面附上下載地址,:github

https://github.com/gongchenghao/GchTestProject數據庫

項目中有一個Guide類,這個類對項目中的各個包進行了說明,你們看的時候能夠根據這個類瞭解各個功能。下面附上這個類:數組

package gcg.testproject;緩存

import gcg.testproject.dialog.MySimpleDialog;安全

import gcg.testproject.dialog.ProgressDialog;微信

/**網絡

  • @ClassName:Guide框架

  • @PackageName:gcg.testproject異步

  • @Create On 2018/1/25 11:31

  • @author:gongchenghao

  • @Copyrights 2018/1/25 宮成浩 All rights reserved.

*/

public class Guide {

// ================================================= 本項目各個包使用說明 ================================================

// ================================================== utils包工具類使用指南 ===============================================

// DensityUtils : dp、px、sp互相轉換

// WebViewUtils : WebView使用工具類

// OpenFileUtils : 打開文件

// GetSqurePic : 獲取正方形圖片、獲取長方形圖片

// GetPhoneMessage : 獲取手機信息

// GetRoundPicUtils : 獲取圓角圖片、獲取圓形圖片、放大縮小圖片、將Drawable轉化爲Bitmap、得到帶倒影的圖片

// IconUtil : 設置圓形頭像

// CheckUtils : 檢查手機號、身份證號、字符串是否爲數字、設置地區編碼、驗證日期字符串是不是YYYY-MM-DD格式、郵箱、銀行卡號、是不是中文、是否包含中文、驗證URL、判斷是否匹配正則、

// 驗證IP地址、替換全部正則匹配的部分、獲取正則匹配的部分、獲取正則匹配分組、替換正則匹配的第一部分

// CacheManager : 獲取緩存大小、清理緩存、獲取文件大小、格式化單位

// GetUpLoadPicUtils :上傳圖片時對圖片進行壓縮(掌一眼中用)

// TextViewUtils :處理TextView中文字換行的工具類

// VideoPlayUtils :視頻播放工具類

// DBHelper、DBHelperDAO :SQLite數據庫工具類

// DownLoadUtils :下載文件的工具類

// ListViewHeightBasedOnChildren :從新繪製列表條目的高度

// AppUtils :獲取應用程序名稱、獲取應用程序版本名稱信息、判斷App是否安裝、安裝App、靜默安裝App、卸載App、靜默卸載App、判斷App是否有root權限、打開App、獲取App包名、

// 獲取App具體設置、獲取App名稱、獲取App圖標、獲取App路徑、獲取App版本號、判斷App是不是系統應用、判斷App是不是Debug版本、獲取App簽名、獲取應用簽名的的SHA1值

// 判斷App是否處於前臺、封裝App信息的Bean類、獲得AppInfo的Bean、獲取全部已安裝App信息、清除App全部數據、判斷設備是否root、獲取設備系統版本號、獲取設備AndroidID

// 獲取設備MAC地址、獲取設備廠商、關機、重啓、重啓到recovery、重啓到bootloader、

// FileSizeUtil :獲取文件或文件夾的大小

// KeyBoardUtils :打開或關閉軟鍵盤

// LogUtils :日誌打印工具類

// MoveUtils :跳轉工具類

// NetUtils :判斷是否聯網、是不是WIFI、跳轉到網絡設置界面

// ScreenUtils :獲取屏幕高度、寬度、狀態欄高度、 獲取當前屏幕截圖(包含狀態欄)、獲取當前屏幕截圖(不包含狀態欄)、設置屏幕爲橫屏、設置屏幕爲豎屏、判斷是否橫屏、判斷是否豎屏、

// 獲取屏幕旋轉角度、判斷是否鎖屏、設置進入休眠時長、獲取進入休眠時長

// SDCardUtils :判斷SD卡是否可用、獲取SD卡路徑、獲取SD卡的剩餘容量(單位byte)、獲取指定路徑所在空間的剩餘可用容量字節數(單位byte)、獲取系統存儲路徑、獲取SD卡data路徑、獲取SD卡剩餘空間

// 獲取SD卡信息

// ToastUtils :顯示短期的toast、長時間的toast、自定義時間的toast、自定義UI的toast

// TimeUtils :格式化時間戳的工具類 獲取星座、獲取生肖、獲取年份中的第幾周、獲取星期索引、 獲取美式星期、獲取中式星期、判斷是否閏年、判斷是否今天、 獲取與當前時間等於時間差的Date

// 獲取與當前時間等於時間差的時間字符串、獲取與給定時間等於時間差的Date、獲取與給定時間等於時間差的時間字符串、獲取與給定時間等於時間差的時間戳、獲取友好型與當前時間的差

// 獲取合適型與當前時間的差、獲取當前Date、獲取當前時間字符串、獲取當前毫秒時間戳、將時間戳轉爲Date類型、將Date類型轉爲時間戳、將Date類型轉爲時間字符串

// 將時間字符串轉爲Date類型、將時間字符串轉爲時間戳、將時間戳轉爲時間字符串、

// ActivityUtils :判斷是否存在Activity、啓動Activity、獲取launcher activity、獲取棧頂Activity

// BarUtils :設置狀態欄顏色、爲滑動返回界面設置狀態欄顏色、設置狀態欄純色(不加半透明效果)、使狀態欄半透明、設置狀態欄全透明、隱藏僞狀態欄、判斷狀態欄是否存在、

// 獲取ActionBar高度、顯示通知欄、 隱藏通知欄、獲取導航欄高度

// CameraUtils :獲取打開照程序界面的Intent、獲取跳轉至相冊選擇界面的Intent、獲取[跳轉至相冊選擇界面,並跳轉至裁剪界面,默承認縮放裁剪區域]的Intent

// 獲取[跳轉至相冊選擇界面,並跳轉至裁剪界面,能夠指定是否縮放裁剪區域]的Intent、得到選中相冊的圖片、得到選中相冊的圖片路徑、獲取拍照以後的照片文件(JPG格式)

// ClipboardUtils :剪貼板相關工具類,複製文本到剪貼板、獲取剪貼板的文本、複製uri到剪貼板、獲取剪貼板的uri、複製意圖到剪貼板、獲取剪貼板的意圖

// CloseUtils :關閉IO、安靜關閉IO

// CrashUtils :崩潰相關工具類

// EncodeUtils :編碼解碼相關工具類 URL編碼、URL解碼、Base64編碼、Base64解碼、Base64URL安全編碼、Html編碼、Html解碼

// EncryptUtils :加密解密工具類 MD2加密、MD5加密、MD5加密文件、SHA1加密、SHA224加密、SHA256加密、SHA384加密、SHA512加密、hash加密模板、HmacMD5加密

// HmacSHA1加密、HmacSHA224加密、HmacSHA256加密、HmacSHA384加密、HmacSHA512加密、Hmac加密模板、DES轉變、DES加密後轉爲Base64編碼、

// DES加密後轉爲16進制、DES加密、DES解密Base64編碼密文、DES解密16進制密文、DES解密、3DES轉變、3DES加密後轉爲Base64編碼、3DES加密後轉爲16進制、

// 3DES加密、3DES解密Base64編碼密文、3DES解密16進制密文、3DES解密、AES轉變、AES加密後轉爲Base64編碼、AES加密後轉爲16進制、AES加密、AES解密Base64編碼密文

// AES解密16進制密文、AES解密、DES加密模板

// FileIOUtils :將輸入流寫入文件、將字節數組寫入文件、將字符串寫入文件、讀取文件到字符串鏈表中、讀取文件到字符串中、讀取文件到字節數組中、設置緩衝區尺寸、

// FileUtils :根據文件路徑獲取文件、判斷文件是否存在、重命名文件、判斷是不是目錄、判斷是不是文件、判斷目錄是否存在,不存在則判斷是否建立成功、

// 判斷文件是否存在,不存在則判斷是否建立成功、判斷文件是否存在,存在則在建立以前刪除、複製或移動目錄、複製或移動文件、複製目錄、複製文件、移動目錄、

// 移動文件、刪除目錄、刪除文件、刪除目錄下的全部文件、獲取目錄下全部文件、獲取目錄下全部文件包括子目錄、根據後綴名獲取目錄下全部後綴名文件、

// 根據後綴名獲取目錄下全部文件包括子目錄、獲取目錄下全部符合FilenameFilter的文件、獲取目錄下全部符合FilenameFilter的文件包括子目錄

// 獲取目錄下指定文件名的文件包括子目錄、獲取文件最後修改的毫秒時間戳、簡單獲取文件編碼格式、獲取文件行數、獲取目錄大小、獲取文件大小、獲取目錄長度、獲取文件長度

// 獲取文件的MD5校驗碼、獲取全路徑中的最長目錄、獲取全路徑中的文件名、獲取全路徑中的不帶拓展名的文件名、獲取全路徑中的文件拓展名、

// FragmentUtils :新增fragment、先隱藏後新增fragment、新增多個fragment、移除fragment、移除到指定fragment、移除同級別fragment、移除全部fragment、替換fragment、

// 出棧fragment、出棧到指定fragment、出棧同級別fragment、出棧全部fragment、先出棧後新增fragment、隱藏fragment、隱藏同級別fragment、顯示fragment、

// 先隱藏後顯示fragment、傳參、獲取參數、操做fragment、獲取同級別最後加入的fragment、根據棧參數獲取同級別最後加入的fragment、 獲取頂層可見fragment、

// 獲取棧中頂層可見fragment、根據棧參數獲取頂層可見fragment、獲取同級別fragment、獲取棧中同級別fragment、根據棧參數獲取同級別fragment、

// 獲取全部fragment、獲取棧中全部fragment、根據棧參數獲取全部fragment、獲取目標fragment的前一個fragment、查找fragment、處理fragment回退鍵、

// 設置背景色、設置背景資源、設置背景、

// ImageUtils :bitmap轉byte[]、byte[]轉bitmap、drawable轉bitmap、bitmap轉drawable、drawable轉byte[]、byte[]轉drawable、view轉Bitmap、計算採樣大小、獲取bitmap

// 縮放圖片、裁剪圖片、傾斜圖片、旋轉圖片、獲取圖片旋轉角度、轉爲圓形圖片、轉爲圓角圖片、快速模糊、renderScript模糊圖片、stack模糊圖片、添加顏色邊框、

// 添加倒影、添加文字水印、添加圖片水印、轉爲alpha位圖、轉爲灰度圖片、保存圖片、根據文件名判斷文件是否爲圖片、獲取圖片類型、流獲取圖片類型、判斷bitmap對象是否爲空

// 按縮放壓縮、按質量壓縮、按採樣大小壓縮、

// LocationUtils :定位工具類 判斷Gps是否可用、判判定位是否可用、打開Gps設置界面、註冊、註銷、設置定位參數、根據經緯度獲取地理位置、根據經緯度獲取所在國家、

// 根據經緯度獲取所在地、根據經緯度獲取所在街道、是否更好的位置、是否相同的提供者、

// LunarUtils :日曆工具類 根據農曆年份獲取天干地支、農曆轉公曆、公曆轉農曆、

// PhoneUtils :手機相關工具類 判斷設備是不是手機、獲取IMEI碼、獲取移動終端類型、判斷sim卡是否準備好、獲取Sim卡運營商名稱、跳至撥號界面、撥打電話、跳至發送短信界面、

// 發送短信、獲取手機聯繫人、打開手機聯繫人界面點擊聯繫人後便獲取該號碼、獲取手機短信並保存到xml中、

// PinyinUtils :拼音相關工具類 漢字轉拼音、獲取第一個漢字首字母、獲取全部漢字的首字母、根據名字獲取姓氏的拼音、根據名字獲取姓氏的首字母、多音字姓氏映射表、

// ProcessUtils :進程相關工具類 獲取前臺線程包名、獲取後臺服務進程、殺死全部的後臺服務進程、殺死後臺服務進程、

// ServiceUtils :服務相關工具類 獲取全部運行的服務、啓動服務、中止服務、綁定服務、解綁服務、判斷服務是否運行

// ShellUtils :Shell相關工具類 是不是在root下執行命令、返回的命令結果

// GetViewSizeUtils : 在onCreate中獲取視圖的尺寸、獲取到View尺寸的監聽、測量視圖尺寸、獲取測量視圖寬度、獲取測量視圖高度

// SPUtils : 獲取SP實例、寫入String、讀取String、寫入int、讀取int、寫入long、讀取long、寫入float、讀取float、寫入boolean、讀取boolean、寫入String集合、

// 讀取StringSet、獲取全部鍵值對、是否存在該key、移除該key、清除全部數據

// StringUtils : 判斷字符串是否爲null或長度爲0、判斷字符串是否爲null或全爲空格、判斷字符串是否爲null或全爲空白字符、判斷兩字符串是否相等、判斷兩字符串忽略大小寫是否相等、

// null轉爲長度爲0的字符串、返回字符串長度、首字母大寫、首字母小寫、反轉字符串、轉化爲半角字符、轉化爲全角字符

// ThreadPoolUtils :線程池相關工具類 在將來某個時間執行給定的命令、在將來某個時間執行給定的命令鏈表、待之前提交的任務執行完畢後關閉線程池、試圖中止全部正在執行的活動任務、

// 判斷線程池是否已關閉、關閉線程池後判斷全部任務是否都已完成、請求關閉發生超時或者當前線程中斷、提交一個Callable任務用於執行、提交一個Runnable任務用於執行、

// 執行給定的任務、延遲執行Runnable命令、延遲執行Callable命令、延遲並循環執行命令、延遲並以固定休息時間循環執行命令

// VibrationUtils :震動相關工具類 震動、指定手機以pattern模式振動、取消振動

// ZipUtils :文件壓縮相關工具類 批量壓縮文件、壓縮文件、批量解壓文件、解壓文件、解壓帶有關鍵字的文件、獲取壓縮文件中的文件路徑鏈表、獲取壓縮文件中的註釋鏈表、

// 獲取壓縮文件中的文件對象、

// ============================================== widget包自定義控件 ============================================

// OvalImageView :加載圓角矩形的圖片

// XCRoundRectImageView :加載圓角矩形的圖片

// TimeTextView : 列表中用到的計時器

// ZoomImageView :可縮放圖片的ImageView

// OScrollView :自定義ScrollView,是爲了解決在ScrollView中嵌套viewpager時viewpager滑動不了的問題

// OListView :自定義listview,爲了解決在ScrollView中嵌套listview時顯示不全的問題

// OGridView :自定義gridview,爲了解決在ScrollView中嵌套gridview時顯示不全的問題

// ORecycleView :自定義gridview,爲了解決在ScrollView中嵌套gridview時顯示不全的問題

// CustomVideoView :使用videoview播放視頻時,若是視頻的分辨率不夠,右側可能會有白邊,這個自定義videoview,修復了這個問題(播放視頻)

// (videoview是Android自身爲咱們提供的視頻播放的組件,可是它僅支持播放mp4和3gp格式的文件,能播放的視頻文件格式很是少,建議使用surfaceView結合mediaplayer播放視頻)

// VideoPlayProgressBar :自定義進度條,能夠用於播放視頻時的進度顯示

// NoScrollGridView : 解決滑動衝突的GirdView

// NoScrollListView :解決滑動衝突的ListView

// RoundImageView : 圓形頭像

// SquareImage : 方形頭像

// MyRatingBar :自定義ratingbar,能夠改變星星的樣式、大小

// ListSlideView :自定義ListView,能夠單個條目側滑刪除

// NoScrollViewPager :自定義ViewPager,不可滑動

// =========================================== selectphoto包 =============================

// 選擇照片的功能,包括拍攝照片和選擇本地照片

// ============================================ selectvideo包 ==============================

// 選擇視頻的功能,包括拍攝視頻和選擇本地視頻,支持選擇後進行播放

// ============================================ banner包 =================================

// 輪播圖

// =============================== selectdate包 =============================================

// 日期選擇器1

// =============================== selectdate2包 ============================================

// 日期選擇器2

// ================================ contactlist包 ============================================

// 仿聯繫人列表

// ================================ dialog包 =================================================

// ProgressDialog : 獲取數據時的加載提示框

// MySimpleDialog :功能性對話框

// ================================ RightTopPopWindow包 ======================================

// 仿微信右上角彈框

// ================================ SplashAndGuide包 =========================================

// Splash界面和Guide界面

// ================================ progressbar包 ============================================

// 圓形進度條

// Android自帶的progressbar進度條的兩種樣式

// ================================= ratingbar包 ==============================================

// 系統自帶的ratingbar

// 自定義ratingbar,能夠控制星星的大小和間距

// ================================= uodate包 =================================================

// 版本更新

// ================================= sanji包 ==================================================

// 省市區三級聯動

// ================================= erweima包 ================================================

// 掃描二維碼的功能,支持打開閃光燈,自定義掃碼界面

// ================================= http包 ===================================================

// Xutils工具類,是xutils網絡框架的封裝類,包括六個個方法,即普通異步get請求,普通異步post請求,帶緩存的異步get請求,帶緩存的異步post請求,文件上傳,文件下載

// ================================= RefreshAndLoadMore =======================================

// 上拉加載、下拉刷新功能 注意點:裏面有五個「注意點」,是必須調用的

// ================================= ListViewDelete包 ==========================================

// listview的條目刪除功能,能夠總體側滑刪除,也能夠單個側滑刪除

// ================================= ListCountDown包 ==========================================

// listview的列表倒計時

// ================================= location包 ===============================================

// 高德定位

}

相關文章
相關標籤/搜索