天天看點

Android開發一些實用的工具代碼

簡介

我在github上閑逛時,看到了一個開源的工具庫,筆者抱着好奇的心看了一下這個android開源的工具庫,發現這個工具庫将一些很多常用的工具封裝起來,之後我在自己開發中的時候也是用了這個開源工具庫,确實給我提供了一些很大程度上的便利,讓開發變得更具有效率,在此我也将這個工具庫推薦給大家。
github位址是:https://github.com/huangkunkun/AndroidUtilCode
           

使用

Gradle:
           

Proguard

-keep class com.blankj.utilcode.** { *; }
-keep classmembers class com.blankj.utilcode.** { *; }
-dontwarn com.blankj.utilcode.**
           

介紹

  • App相關→AppUtils.java
    • 安裝指定路徑下的Apk installApp
    • 安裝指定路徑下的Apk installApp
    • 解除安裝指定包名的App uninstallApp
    • 擷取目前App資訊 getAppInfo
    • 擷取所有已安裝App資訊 getAllAppsInfo
    • 打開指定包名的App openAppByPackageName
    • 打開指定包名的App應用資訊界面 openAppInfo
    • 可用來做App資訊分享 shareAppInfo
    • 判斷目前App處于前台還是背景 isApplicationBackground
  • 裝置相關→DeviceUtils.java
    • 擷取裝置MAC位址 getMacAddress
    • 擷取裝置廠商,如Xiaomi getManufacturer
    • 擷取裝置型号,如MI2SC getModel
    • 擷取裝置SD卡是否可用 isSDCardEnable
    • 擷取裝置SD卡路徑 getSDCardPath
  • 加解密相關→EncryptUtils.java
    • MD5加密 getMD5 encryptMD5 getMD5File
    • SHA加密 getSHA encryptSHA
  • 鍵盤相關→KeyboardUtils.java
    • 避免輸入法面闆遮擋
    • 動态隐藏軟鍵盤 hideSoftInput
    • 點選螢幕空白區域隐藏軟鍵盤(注釋萌萌哒) clickBlankArea2HideSoftInput0
    • 動态顯示軟鍵盤 showSoftInput
    • 切換鍵盤顯示與否狀态 toggleSoftInput
  • 網絡相關→NetworkUtils.java
    • 打開網絡設定界面 openWirelessSettings
    • 判斷網絡是否可用 isAvailable
    • 判斷網絡是否連接配接 isConnected
    • 判斷網絡是否是4G is4G
    • 判斷wifi是否連接配接狀态 isWifiConnected
    • 擷取移動網絡營運商名稱 getNetworkOperatorName
    • 擷取目前的網絡類型(WIFI,2G,3G,4G) getNetWorkType getNetWorkTypeName
    • 擷取移動終端類型 getPhoneType
  • 手機相關→PhoneUtils.java
    • 判斷裝置是否是手機 isPhone
    • 擷取手機的IMIE getDeviceIMEI
    • 擷取手機狀态資訊 getPhoneStatus
    • 跳至填充好phoneNumber的撥号界面 dial
    • 撥打phoneNumber call
    • 發送短信 sendSms
    • 擷取手機聯系人 getAllContactInfo
    • 打開手機聯系人界面點選聯系人後便擷取該号碼(注釋萌萌哒) getContantNum
    • 擷取手機短信并儲存到xml中 getAllSMS
  • 正則相關→RegularUtils.java
    • 正則工具類
  • 螢幕相關→ScreenUtils.java
    • 擷取手機分辨率 getDeviceWidth、getDeviceHeight
    • 設定透明狀态欄(api >= 19方可使用) setTransparentStatusBar
    • 隐藏狀态欄(注釋萌萌哒) hideStatusBar
    • 擷取狀态欄高度 getStatusBarHeight
    • 判斷狀态欄是否存在 isStatusBarExists
    • 擷取ActionBar高度 getActionBarHeight
    • 設定螢幕為橫屏(注釋萌萌哒) setLandscape
    • 擷取螢幕截圖 snapShotWithStatusBar、snapShotWithoutStatusBar
    • 判斷是否鎖屏 isScreenLock
  • 尺寸相關→SizeUtils.java
    • dp與px轉換 dp2px、px2dp
    • sp與px轉換 sp2px、px2sp
    • 各種機關轉換 applyDimension
    • 在onCreate()即可強行擷取View的尺寸 forceGetViewSize
    • ListView中提前測量View尺寸(注釋萌萌哒) measureView
  • 時間相關→TimeUtils.java
    • 将時間戳轉為時間字元串 milliseconds2String
    • 将時間字元串轉為時間戳 string2Milliseconds
    • 将時間字元串轉為Date類型 string2Date
    • 将Date類型轉為時間字元串 date2String
    • 将Date類型轉為時間戳 date2Milliseconds
    • 将時間戳轉為Date類型 milliseconds2Date
    • 毫秒時間戳機關轉換(機關:unit) milliseconds2Unit
    • 擷取兩個時間差(機關:unit) getIntervalTime
    • 擷取目前時間 getCurTimeMills getCurTimeString getCurTimeDate
    • 擷取與目前時間的差(機關:unit) getIntervalByNow
    • 判斷閏年 isLeapYear
  • 未歸類→UnclassifiedUtils.java
    • 擷取服務是否開啟 isRunningService

最後

大緻就是這些了,github中也有具體的描述,感謝作者能給花時間整理,讓我們在開發中也帶來了更多的便利