編輯:關於Android編程
Android代碼小金庫
Android得有自己的一個代碼小金庫,用於收集一些通用的一些代碼塊,用的時候直接拿來用,感覺開發的速度又增加了一倍的感覺,直接上小金庫。
1.Activity相關→ActivityUtils.java
isActivityExists : 判斷是否存在Activity launchActivity : 打開Activity
2.App相關→AppUtils.java
isInstallApp : 判斷App是否安裝 installApp : 安裝App(支持6.0) installAppSilent : 靜默安裝App uninstallApp : 卸載App uninstallAppSilent : 靜默卸載App isAppRoot : 判斷App是否有root權限 launchApp : 打開App closeApp : 關閉App getAppPackageName : 獲取App包名 getAppDetailsSettings : 獲取App具體設置 getAppName : 獲取App名稱 getAppIcon : 獲取App圖標 getAppPath : 獲取App路徑 getAppVersionName : 獲取App版本號 getAppVersionCode : 獲取App版本碼 isSystemApp : 判斷App是否是系統應用 isAppDebug : 判斷App是否是Debug版本 getAppSignature : 獲取App簽名 getAppSignatureSHA1 : 獲取應用簽名的的SHA1值 isAppForeground : 判斷App是否處於前台 getForegroundApp : 獲取前台應用包名 getAppInfo : 獲取App信息 getAppsInfo : 獲取所有已安裝App信息 cleanAppData : 清除App所有數據
3.欄相關→BarUtils.java
setTransparentStatusBar : 設置透明狀態欄(api大於19方可使用) hideStatusBar : 隱藏狀態欄 getStatusBarHeight : 獲取狀態欄高度 isStatusBarExists : 判斷狀態欄是否存在 getActionBarHeight : 獲取ActionBar高度 showNotificationBar : 顯示通知欄 hideNotificationBar : 隱藏通知欄
4.清除相關→CleanUtils.java
cleanInternalCache : 清除內部緩存 cleanInternalFiles : 清除內部文件 cleanInternalDbs : 清除內部數據庫 cleanInternalDbByName : 根據名稱清除數據庫 cleanInternalSP : 清除內部SP cleanExternalCache : 清除外部緩存 cleanCustomCache : 清除自定義目錄下的文件
5.剪貼板相關→ClipboardUtils.java
copyText : 復制文本到剪貼板 getText : 獲取剪貼板的文本 copyUri : 復制uri到剪貼板 getUri : 獲取剪貼板的uri copyIntent : 復制意圖到剪貼板 getIntent : 獲取剪貼板的意圖
6.關閉相關→CloseUtils.java
closeIO : 關閉IO closeIOQuietly : 安靜關閉IO
7.常量相關→ConstUtils.java
MemoryConst : 存儲相關常量 TimeConst : 時間相關常量 RegexConst : 正則相關常量
8.轉換相關→ConvertUtils.java
bytes2HexString, hexString2Bytes : byteArr與hexString互轉 chars2Bytes, bytes2Chars : charArr與byteArr互轉 byte2Size, size2Byte : 字節數與unit為單位的size互轉 byte2FitSize : 字節數轉合適大小 bytes2Bits, bits2Bytes : bytes與bits互轉 input2OutputStream, output2InputStream : inputStream與outputStream互轉 inputStream2Bytes, bytes2InputStream : inputStream與byteArr互轉 outputStream2Bytes, bytes2OutputStream : outputStream與byteArr互轉 inputStream2String, string2InputStream : inputStream與string按編碼互轉 outputStream2String, string2OutputStream : outputStream與string按編碼互轉 bitmap2Bytes, bytes2Bitmap : bitmap與byteArr互轉 drawable2Bitmap, bitmap2Drawable : drawable與bitmap互轉 drawable2Bytes, bytes2Drawable : drawable與byteArr互轉 view2Bitmap : view轉Bitmap dp2px, px2dp : dp與px互轉 sp2px, px2sp : sp與px互轉
9.崩潰相關→CrashUtils.java
getInstance : 獲取單例 init : 初始化
10.設備相關→DeviceUtils.java
isDeviceRoot : 判斷設備是否root getSDKVersion : 獲取設備系統版本號 getAndroidID : 獲取設備AndroidID getMacAddress : 獲取設備MAC地址 getManufacturer : 獲取設備廠商 getModel : 獲取設備型號 shutdown : 關機 reboot : 重啟
11.判空相關→EmptyUtils.java
isEmpty : 判斷對象是否為空 isNotEmpty : 判斷對象是否非空
12.編碼解碼相關→EncodeUtils.java
urlEncode : URL編碼 urlDecode : URL解碼 base64Encode, base64Encode2String : Base64編碼 base64Decode : Base64解碼 base64UrlSafeEncode : Base64URL安全編碼 htmlEncode : Html編碼 htmlDecode : Html解碼
13.加密解密相關→EncryptUtils.java
encryptMD2, encryptMD2ToString : MD2加密 encryptMD5, encryptMD5ToString : MD5加密 encryptMD5File, encryptMD5File2String : MD5加密文件 encryptSHA1, encryptSHA1ToString : SHA1加密 encryptSHA224, encryptSHA224ToString : SHA224加密 encryptSHA256, encryptSHA256ToString : SHA256加密 encryptSHA384, encryptSHA384ToString : SHA384加密 encryptSHA512, encryptSHA512ToString : SHA512加密 encryptHmacMD5, encryptHmacMD5ToString : HmacMD5加密 encryptHmacSHA1, encryptHmacSHA1ToString : HmacSHA1加密 encryptHmacSHA224, encryptHmacSHA224ToString : HmacSHA224加密 encryptHmacSHA256, encryptHmacSHA256ToString : HmacSHA256加密 encryptHmacSHA384, encryptHmacSHA384ToString : HmacSHA384加密 encryptHmacSHA512, encryptHmacSHA512ToString : HmacSHA512加密 encryptDES, encryptDES2HexString, encryptDES2Base64 : DES加密 decryptDES, decryptHexStringDES, decryptBase64DES : DES解密 encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64 : 3DES加密 decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES解密 encryptAES, encryptAES2HexString, encryptAES2Base64 : AES加密 decryptAES, decryptHexStringAES, decryptBase64AES : AES解密
14.文件相關→FileUtils.java
getFileByPath : 根據文件路徑獲取文件 isFileExists : 判斷文件是否存在 rename : 重命名文件 isDir : 判斷是否是目錄 isFile : 判斷是否是文件 createOrExistsDir : 判斷目錄是否存在,不存在則判斷是否創建成功 createOrExistsFile : 判斷文件是否存在,不存在則判斷是否創建成功 createFileByDeleteOldFile : 判斷文件是否存在,存在則在創建之前刪除 copyDir : 復制目錄 copyFile : 復制文件 moveDir : 移動目錄 moveFile : 移動文件 deleteDir : 刪除目錄 deleteFile : 刪除文件 listFilesInDir : 獲取目錄下所有文件 listFilesInDir : 獲取目錄下所有文件包括子目錄 listFilesInDirWithFilter : 獲取目錄下所有後綴名為suffix的文件 listFilesInDirWithFilter : 獲取目錄下所有後綴名為suffix的文件包括子目錄 listFilesInDirWithFilter : 獲取目錄下所有符合filter的文件 listFilesInDirWithFilter : 獲取目錄下所有符合filter的文件包括子目錄 searchFileInDir : 獲取目錄下指定文件名的文件包括子目錄 writeFileFromIS : 將輸入流寫入文件 writeFileFromString : 將字符串寫入文件 getFileCharsetSimple : 簡單獲取文件編碼格式 getFileLines : 獲取文件行數 readFile2List : 指定編碼按行讀取文件到List readFile2SB : 指定編碼按行讀取文件到StringBuilder中 getFileSize : 獲取文件大小 getFileMD5, getFileMD5ToString : 獲取文件的MD5校驗碼 getDirName : 根據全路徑獲取最長目錄 getFileName : 根據全路徑獲取文件名 getFileNameNoExtension : 根據全路徑獲取文件名不帶拓展名 getFileExtension : 根據全路徑獲取文件拓展名
15.圖片相關→ImageUtils.java
bitmap2Bytes, bytes2Bitmap : bitmap與byteArr互轉 drawable2Bitmap, bitmap2Drawable : drawable與bitmap互轉 drawable2Bytes, bytes2Drawable : drawable與byteArr互轉 getBitmap : 獲取bitmap scale : 縮放圖片 clip : 裁剪圖片 skew : 傾斜圖片 rotate : 旋轉圖片 getRotateDegree : 獲取圖片旋轉角度 toRound : 轉為圓形圖片 toRoundCorner : 轉為圓角圖片 fastBlur : 快速模糊 renderScriptBlur : renderScript模糊圖片 stackBlur : stack模糊圖片 addFrame : 添加顏色邊框 addReflection : 添加倒影 addTextWatermark : 添加文字水印 addImageWatermark : 添加圖片水印 toAlpha : 轉為alpha位圖 toGray : 轉為灰度圖片 save : 保存圖片 isImage : 根據文件名判斷文件是否為圖片 getImageType : 獲取圖片類型 compressByScale : 按縮放壓縮 compressByQuality : 按質量壓縮 compressBySampleSize : 按采樣大小壓縮
16.意圖相關→IntentUtils.java
getInstallAppIntent : 獲取安裝App(支持6.0)的意圖 getUninstallAppIntent : 獲取卸載App的意圖 getLaunchAppIntent : 獲取打開App的意圖 getAppDetailsSettingsIntent : 獲取App具體設置的意圖 getShareTextIntent : 獲取分享文本的意圖 getShareImageIntent : 獲取分享圖片的意圖 getComponentIntent : 獲取其他應用組件的意圖 getShutdownIntent : 獲取關機的意圖 getCaptureIntent : 獲取拍照的意圖
17.鍵盤相關→KeyboardUtils.java
hideSoftInput : 動態隱藏軟鍵盤 clickBlankArea2HideSoftInput : 點擊屏幕空白區域隱藏軟鍵盤(注釋萌萌哒) showSoftInput : 動態顯示軟鍵盤 toggleSoftInput : 切換鍵盤顯示與否狀態
18.日志相關→LogUtils.java
init : 初始化函數 getBuilder : 獲取LogUtils建造者 v : Verbose日志 d : Debug日志 i : Info日志 w : Warn日志 e : Error日志
19.網絡相關→NetworkUtils.java
openWirelessSettings : 打開網絡設置界面 isConnected : 判斷網絡是否連接 isAvailableByPing : 判斷網絡是否可用 getDataEnabled : 判斷移動數據是否打開 setDataEnabled : 打開或關閉移動數據 is4G : 判斷網絡是否是4G getWifiEnabled : 判斷wifi是否打開 setWifiEnabled : 打開或關閉wifi isWifiConnected : 判斷wifi是否連接狀態 isWifiAvailable : 判斷wifi數據是否可用 getNetworkOperatorName : 獲取移動網絡運營商名稱 getNetworkType, getNetworkTypeName : 獲取當前的網絡類型(WIFI, 2G, 3G, 4G) getIPAddress : 獲取IP地址 getDomainAddress : 獲取域名ip地址
20.手機相關→PhoneUtils.java
isPhone : 判斷設備是否是手機 getIMEI : 獲取IMIE碼 getIMSI : 獲取IMSI碼 getPhoneType : 獲取移動終端類型 getSimOperatorName, getSimOperatorByMnc : 獲取Sim卡運營商名稱 getPhoneStatus : 獲取手機狀態信息 dial : 跳至撥號界面 call : 撥打phoneNumber sendSms : 跳至發送短信界面 sendSmsSilent : 發送短信 getAllContactInfo : 獲取手機聯系人 getContactNum : 打開手機聯系人界面點擊聯系人後便獲取該號碼(注釋萌萌哒) getAllSMS : 獲取手機短信並保存到xml中
21.進程相關→ProcessUtils.java
getForegroundProcessName : 獲取前台線程包名 cleanAllBackgroundProcesses,cleanBackgroundProcesses : 清理後台服務進程
22.正則相關→RegexUtils.java
isMobileSimple : 驗證手機號(簡單) isMobileExact : 驗證手機號(精確) isTel : 驗證電話號碼 isIDCard15 : 驗證身份證號碼15位 isIDCard18 : 驗證身份證號碼18位 isEmail : 驗證郵箱 isURL : 驗證URL isChz : 驗證漢字 isUsername : 驗證用戶名 isDate : 驗證yyyy-MM-dd格式的日期校驗,已考慮平閏年 isIP : 驗證IP地址 isMatch : string是否匹配regex
23.屏幕相關→ScreenUtils.java
getDeviceWidth, getDeviceHeight : 獲取手機分辨率 setTransparentStatusBar : 設置透明狀態欄(api大於19方可使用) hideStatusBar : 隱藏狀態欄(注釋萌萌哒) getStatusBarHeight : 獲取狀態欄高度 isStatusBarExists : 判斷狀態欄是否存在 getActionBarHeight : 獲取ActionBar高度 showNotificationBar : 顯示通知欄 hideNotificationBar : 隱藏通知欄 setLandscape : 設置屏幕為橫屏(注釋萌萌哒) snapShotWithStatusBar, snapShotWithoutStatusBar : 獲取屏幕截圖 isScreenLock : 判斷是否鎖屏
24.SD卡相關→SDCardUtils.java
isSDCardEnable : 判斷SD卡是否可用 getSDCardPath : 獲取SD卡路徑 getDataPath : 獲取SD卡Data路徑 getFreeSpace : 計算SD卡的剩余空間 getSDCardInfo : 獲取SD卡信息
25.服務相關→ServiceUtils.java
isServiceRunning : 判斷服務是否運行 stopService : 停止服務
26.Shell相關→ShellUtils.java
execCmd : 是否是在root下執行命令
27.尺寸相關→SizeUtils.java
dp2px, px2dp : dp與px轉換 sp2px, px2sp : sp與px轉換 applyDimension : 各種單位轉換 forceGetViewSize : 在onCreate()即可強行獲取View的尺寸 measureView : ListView中提前測量View尺寸(注釋萌萌哒)
28.Snackbar相關→SnackbarUtils.java
showShortSnackbar : 顯示短時snackbar showLongSnackbar : 顯示長時snackbar showIndefiniteSnackbar : 顯示自定義時長snackbar addView : 為SnackBar添加布局 dismissSnackbar : 取消snackbar顯示
29.SP相關→SPUtils.java
SPUtils : SPUtils構造函數 putString : SP中寫入String類型value getString : SP中讀取String putInt : SP中寫入int類型value getInt : SP中讀取int putLong : SP中寫入long類型value getLong : SP中讀取long putFloat : SP中寫入float類型value getFloat : SP中讀取float putBoolean : SP中寫入boolean類型value getBoolean : SP中讀取boolean getAll : SP中獲取所有鍵值對 remove : SP中移除該key contains : SP中是否存在該key clear : SP中清除所有數據
30.字符串相關→StringUtils.java
isEmpty : 判斷字符串是否為null或長度為0 isSpace : 判斷字符串是否為null或全為空格 equals : 判斷兩字符串是否相等 null2Length0 : null轉為長度為0的字符串 length : 返回字符串長度 upperFirstLetter : 首字母大寫 lowerFirstLetter : 首字母小寫 reverse : 反轉字符串 toDBC : 轉化為半角字符 toSBC : 轉化為全角字符 getPYFirstLetter : 獲得第一個漢字首字母 cn2PY : 中文轉拼音
31.線程池相關→ThreadPoolUtils.java
ThreadPoolUtils : ThreadPoolUtils構造函數 execute : 在未來某個時間執行給定的命令 execute : 在未來某個時間執行給定的命令鏈表 shutDown : 待以前提交的任務執行完畢後關閉線程池 shutDownNow : 試圖停止所有正在執行的活動任務 isShutDown : 判斷線程池是否已關閉 isTerminated : 關閉線程池後判斷所有任務是否都已完成 awaitTermination : 請求關閉、發生超時或者當前線程中斷 submit : 提交一個Callable任務用於執行 submit : 提交一個Runnable任務用於執行 invokeAll, invokeAny : 執行給定的任務 schedule : 延遲執行Runnable命令 schedule : 延遲執行Callable命令 scheduleWithFixedRate, scheduleWithFixedDelay : 延遲並循環執行命令
32.時間相關→TimeUtils.java
milliseconds2String : 將時間戳轉為時間字符串 string2Milliseconds : 將時間字符串轉為時間戳 string2Date : 將時間字符串轉為Date類型 date2String : 將Date類型轉為時間字符串 date2Milliseconds : 將Date類型轉為時間戳 milliseconds2Date : 將時間戳轉為Date類型 milliseconds2Unit : 毫秒時間戳單位轉換(單位:unit) getIntervalTime : 獲取兩個時間差(單位:unit) getCurTimeMills, getCurTimeString, getCurTimeDate : 獲取當前時間 getIntervalByNow : 獲取與當前時間的差(單位:unit) isLeapYear : 判斷閏年 getWeek, getWeekIndex : 獲取星期 getWeekOfMonth : 獲取月份中的第幾周 getWeekOfYear : 獲取年份中的第幾周
33.吐司相關→ToastUtils.java
init : 吐司初始化 showShortToastSafe : 安全地顯示短時吐司 showLongToastSafe : 安全地顯示長時吐司 showShortToast : 顯示短時吐司 showLongToast : 顯示長時吐司 cancelToast : 取消吐司顯示
34.壓縮相關→ZipUtils.java
zipFiles : 批量壓縮文件 zipFile : 壓縮文件 unzipFiles : 批量解壓文件 unzipFile : 解壓文件 unzipFileByKeyword : 解壓帶有關鍵字的文件 getFilesPath : 獲取壓縮文件中的文件路徑鏈表 getComments : 獲取壓縮文件中的注釋鏈表 getEntries : 獲取壓縮文件中的文件對象
這個Android代碼小金庫基本上覆蓋了Android開發需要用到的大部分的代碼塊,這些都是找的把鏈接共享出來的,希望給大家的Android開發帶來便捷,並嘗試自己去寫一下,感受一下,是非常不錯的。
· ·點此進入上篇: Android 學習(三)上: UI 控件 · · · · ·AnalogClock和DigitalClock // 獲得當前的時間,獲得小時和分鐘
1、下載進入官網(http://opencv.org/)下載OpenCV4Android並解壓。目錄結構如下圖所示。其中,sdk目錄即是我們開發opencv所需要的類庫;
新建一個Android工程。 一 布局 先看效果圖: 打開main.xml修改內容如下:
Android基礎入門教程——2.4.6 ListView的數據更新問題標簽(空格分隔): Android基礎入門教程本節引言: 我們前面已經學習