基於Android系統Api封裝常用工具類
專案地址
https://github.com/h4de5ing/AndroidCommon/blob/master/README-cn.md
gradle使用方式
compile 'com.code19.library:library:0.1.2'
常用工具類
使用示例:
AppUtils.getAppName(MainActivity.this,com.code19.androidcommon);
library Module中的類:
-
AppUtils.java 應用工具類
- getAppName 獲取應用名稱
- getAppIcon 獲取應用圖示
- getAppFirstInstallTime 獲取應用第一次安裝日期
- getAppLastUpdateTime 獲取應用更新日期
- getAppSize 獲取應用大小
- getAppApk 獲取應用apk檔案
- getAppVersionName 獲取應用版本名稱
- getAppVersionCode 獲取應用版本號
- getAppInstaller 獲取應用的安裝市場
- getAppSign 獲取應用簽名
- getAppTargetSdkVersion 獲取應用相容sdk
- getAppUid 獲取應用uid
- getNumCores 獲取Cpu核心數
- getRootPermission 獲得root許可權
- getAppPermissions 獲取應用的所有許可權
- hasPermission 是否有許可權
- isInstalled 應用是否安裝
- installApk 安裝應用
- uninstallApk 解除安裝應用
- isSystemApp 是否是系統應用
- isServiceRunning 服務是否在執行
- stopRunningService 停止服務
- killProcesses 結束程序
- runScript 執行指令碼
- runApp 啟動應用
- cleanCache 清除應用內部快取
- cleanDatabases 清除應用內部資料庫
- cleanSharedPreference 清除應用內部SP
-
CacheUtils.java 快取工具類
- setCache 設定快取
- getCache 獲取快取
-
CipherUtils.java 密碼工具類
- md5(String input) 字串md5
- md5L(String input) 字串md5,返回小寫密文
- md5(InputStream in) 輸入流md5
- base64Encode Base64加密
- base64Decode Base64解密
- XorEncode 異或加密
- XorDecode 異或解密
- sha1 字串sha1值
- sha1 檔案hash校驗
-
CoordinateTransformUtil.java GPS座標轉換工具
- 百度座標(BD09)、國測局座標(火星座標,GCJ02)、和WGS84座標系之間的轉換的工具
- bd09towgs84 百度座標系(BD-09)轉WGS座標(百度座標緯度,百度座標經度),WGS84座標陣列
- wgs84tobd09 WGS座標轉百度座標系(BD-09)(WGS84座標系的經度,WGS84座標系的緯度),百度座標陣列
- gcj02tobd09 火星座標系(GCJ-02)轉百度座標系(BD-09)(火星座標經度,火星座標緯度),百度座標陣列
- bd09togcj02 百度座標系(BD-09)轉火星座標系(GCJ-02)(百度座標緯度,百度座標經度),火星座標陣列
- wgs84togcj02 WGS84轉GCJ02(火星座標系)(WGS84座標系的經度,WGS84座標系的緯度),火星座標陣列
- gcj02towgs84 GCJ02(火星座標系)轉GPS84(火星座標系的經度,火星座標系緯度),WGS84座標陣列
- transformlat 緯度轉換
- transformlng 經度轉換
- out_of_china 判斷是否在國內,不在國內不做偏移
-
DateUtil.java 日期工具類
- formatDataTime 格式化日期時間
- formatDate 格式化日期
- formatTime 格式化時間
- formatDateCustom 自定義格式的格式化日期時間
- string2Date 將時間字串轉換成Date
- getDate 獲取系統日期
- getTime 獲取系統時間
- getDateTime 獲取系統日期時間
- subtractDate 計算兩個時間差
- getDateAfter 得到幾天後的時間
- getWeekOfMonth 獲取當前時間為本月的第幾周
- getDayOfWeek 獲取當前時間為本週的第幾天
-
DensityUtil.java 螢幕工具類
- dip2px dp轉畫素
- dip2sp dip轉sp
- px2dip 畫素轉dp
- px2sp 畫素轉sp
- sp2px sp轉畫素
- sp2dip sp轉dip
- getScreenW 獲取螢幕寬度
- getScreenH 獲取螢幕高度
- getScreenRealSize 獲取螢幕的真實高度
- getStatusBarH 獲取狀態列高度
- getNavigationBarrH 獲取導航欄高度
-
DeviceUtils.java 裝置資訊工具
- getAndroidID 獲取AndroidID
- getIMEI 獲取裝置IMEI碼
- getIMSI 獲取裝置IMSI碼
- getWifiMacAddr 獲取MAC地址
- getIP 獲取網路IP地址(優先獲取wifi地址)
- getWifiIP 獲取WIFI連線下的ip地址
- getGPRSIP 獲取GPRS連線下的ip地址
- getSerial 獲取裝置序列號
- getSIMSerial 獲取SIM序列號
- getMNC 獲取網路運營商 46000,46002,46007 中國移動,46001 中國聯通,46003 中國電信
- getCarrier 獲取網路運營商:中國電信,中國移動,中國聯通
- getModel 獲取硬體型號
- getBuildBrand 獲取編譯廠商
- getBuildHost 獲取編譯伺服器主機
- getBuildTags 獲取描述Build的標籤
- getBuildTime 獲取系統編譯時間
- getBuildUser 獲取系統編譯作者
- getBuildVersionRelease 獲取編譯系統版本(5.1)
- getBuildVersionCodename 獲取開發代號
- getBuildVersionIncremental 獲取原始碼控制版本號
- getBuildVersionSDK 獲取編譯的SDK
- getBuildID 獲取修訂版本列表(LMY47D)
- getSupportedABIS CPU指令集
- getManufacturer 獲取硬體製造廠商
- getBootloader 獲取系統啟動程式版本號
- getScreenDisplayID
- getDisplayVersion 獲取系統版本號
- getLanguage 獲取語言
- getCountry 獲取國家
- getOSVersion 獲取系統版本:5.1.1
- getGSFID 獲取GSF序列號
- getBluetoothMAC 獲取藍芽地址
- getPsuedoUniqueID Android裝置物理唯一識別符號
- getFingerprint 構建標識,包括brand,name,device,version.release,id,version.incremental,type,tags這些資訊
- getHardware 獲取硬體資訊
- getProduct 獲取產品資訊
- getDevice 獲取裝置資訊
- getBoard 獲取主機板資訊
- getRadioVersion 獲取基帶版本(無線電韌體版本 Api14以上)
- getUA 獲取的瀏覽器指紋(User-Agent)
- getDensity 獲取得螢幕密度
- getGoogleAccounts 獲取google賬號
-
FileUtils.java 檔案工具類
- closeIO 關閉IO流
- isFileExist 檔案是否存在
- writeFile 將字串寫入到檔案
- readFile 從檔案中讀取字串
- readFile 從檔案中讀取字串(可設定編碼)
- copyFile 複製檔案
- copyFileFast 快速複製
- shareFile 分享檔案
- zip zip壓縮
- unzip zip解壓
- formatFileSize 格式化檔案大小
- Stream2File 將輸入流寫入到檔案
- createFolder 建立資料夾
- createFolder 建立資料夾(支援覆蓋已存在的同名資料夾)
- getFileName 獲取檔名
- getFileSize 獲取檔案大小
- rename 重名名檔案\資料夾
- getFolderName 獲取資料夾名稱
- getFilesArray 獲取資料夾下所有檔案
- deleteFile 刪除檔案
- deleteFileByDirectory 刪除目錄下的所有檔案
- openImage 開啟圖片
- openVideo 開啟視訊
- openURL 開啟URL
- downloadFile 下載檔案
- upgradeApp 通過APKURL升級應用
- isSDCardAvailable 是否掛在SDCard
- getAppExternalPath 獲取應用在SDCard上的工作路徑
- getExtraPath 獲取SDCard上目錄的路徑
-
JsonUtils.java Json工具類(需要依賴Gson 2.0以上)
- toJson 物件轉json
- fromJson json轉物件
- mapToJson Map轉為JSONObject
- collection2Json 集合轉換為JSONArray
- object2Json Object物件轉換為JSONArray
- string2JSONObject json字串生成JSONObject物件
-
L.java 日誌工具
- init 初始化日誌開關和TAG(預設日誌為開,TAG為"ghost")
- v VERBOSE
- d DEBUG
- i INFO
- w WARN
- e ERROR
- a ASSERT
- json 輸出json
- xml 輸出xml
-
NetUtils.java 網路工具
- getNetworkType 獲取網路型別
- getNetworkTypeName 獲取網路名稱
- isConnected 檢查網路狀態
- isNetworkAvailable 網路可用性
- isWiFi 是否wifi
- openNetSetting 開啟網路設定介面
- setWifiEnabled 設定wifi狀態
- setDataEnabled 設定資料流量狀態
- getWifiScanResults 獲取wifi列表
- getScanResultsByBSSID 過濾掃描結果
- getWifiConnectionInfo 獲取wifi連線資訊
-
SPUtils.java SharedPreferences工具
- setSP 儲存SharedPreferences值
- getSp 獲取SharedPreferences值
- cleanAllSP 清除所有的SP值
-
StringUtils.java 字串工具
- getChsAscii 漢字轉成ASCII碼
- convert 單字解析
- getSelling 片語解析
- parseEmpty 將null轉化為""
- isEmpty 是否是空字串
- chineseLength 中文長度
- strLength 字串長度
- subStringLength 獲取指定長度的字元所在位置
- isChinese 是否是中文
- isContainChinese 是否包含中文
- strFormat2 不足2位前面補0
- convert2Int 型別安全轉換
- decimalFormat 指定小數輸出
-
SystemUtils.java 系統工具
- sendSMS 呼叫系統傳送簡訊
- forwardToDial 跳轉到撥號
- callPhone 直接呼叫號碼
- sendMail 發郵件
- openWeb 開啟瀏覽器
- openContacts 開啟聯絡人
- openSettings 開啟系統設定
/**
* com.android.settings.AccessibilitySettings 輔助功能設定
* com.android.settings.ActivityPicker 選擇活動
* com.android.settings.ApnSettings APN設定
* com.android.settings.ApplicationSettings 應用程式設定
* com.android.settings.BandMode 設定GSM/UMTS波段
* com.android.settings.BatteryInfo 電池資訊
* com.android.settings.DateTimeSettings 日期和時間設定
* com.android.settings.DateTimeSettingsSetupWizard 日期和時間設定
* com.android.settings.DevelopmentSettings 應用程式設定=》開發設定
* com.android.settings.DeviceAdminSettings 裝置管理器
* com.android.settings.DeviceInfoSettings 關於手機
* com.android.settings.Display 顯示——設定顯示字型大小及預覽
* com.android.settings.DisplaySettings 顯示設定
* com.android.settings.DockSettings 底座設定
* com.android.settings.IccLockSettings SIM卡鎖定設定
* com.android.settings.InstalledAppDetails 語言和鍵盤設定
* com.android.settings.LanguageSettings 語言和鍵盤設定
* com.android.settings.LocalePicker 選擇手機語言
* com.android.settings.LocalePickerInSetupWizard 選擇手機語言
* com.android.settings.ManageApplications 已下載(安裝)軟體列表
* com.android.settings.MasterClear 恢復出廠設定
* com.android.settings.MediaFormat 格式化手機快閃記憶體
* com.android.settings.PhysicalKeyboardSettings 設定鍵盤
* com.android.settings.PrivacySettings 隱私設定
* com.android.settings.ProxySelector 代理設定
* com.android.settings.RadioInfo 手機資訊
* com.android.settings.RunningServices 正在執行的程式(服務)
* com.android.settings.SecuritySettings 位置和安全設定
* com.android.settings.Settings 系統設定
* com.android.settings.SettingsSafetyLegalActivity 安全資訊
* com.android.settings.SoundSettings 聲音設定
* com.android.settings.TestingSettings 測試——顯示手機資訊、電池資訊、使用情況統計、Wifi
* information、服務資訊 com.android.settings.TetherSettings 繫結與行動式熱點
* com.android.settings.TextToSpeechSettings 文字轉語音設定
* com.android.settings.UsageStats 使用情況統計
* com.android.settings.UserDictionarySettings 使用者詞典
* com.android.settings.VoiceInputOutputSettings 語音輸入與輸出設定
* com.android.settings.WirelessSettings 無線和網路設定
*/
* hideKeyBoard 隱藏系統鍵盤
* isBackground 判斷當前應用程式是否後臺執行
* isSleeping 判斷手機是否處理睡眠
* installApk 安裝apk
* isRooted 是否root
* isRunningOnEmulator 當前裝置是否是模擬器
* goHome 返回Home
* hexdigest 32位簽名
* getDeviceUsableMemory 獲取裝置可用空間
* gc 清理後臺程序和服務
* getProcessName 獲取程序名字
* createDeskShortCut 建立桌面快捷方式
* createShortcut 建立快捷方式
* shareText 分享文字
* shareFile 分享檔案(此方法是呼叫FileUtils.shareFile中的方式)
* getShareTargets 獲取可接受分享的應用
* getCurrentLanguage 獲取當前系統的語言
* getLanguage 獲取當前系統的語言
* isGpsEnabled GPS是否開啟
* showSoftInputMethod 顯示軟鍵盤
* closeSoftInputMethod 關閉軟鍵盤
* showSoftInput 顯示軟鍵盤
* closeSoftInput 關閉軟鍵盤
* toWeChatScan 開啟微信掃描
* toAliPayScan 開啟支付寶掃描
* toAliPayPayCode 開啟支付寶支付碼
* getRandomNumber 獲取隨機數
-
VerificationUtils.java 驗證工具類
- matcherRealName 判斷姓名格式
真實姓名可以是漢字,也可以是字母,但是不能兩者都有,也不能包含任何符號和數字 1.如果是英文名,可以允許英文名字中出現空格 2.英文名的空格可以是多個,但是不能連續出現多個 3.漢字不能出現空格
- matcherPhoneNum 判斷手機號格式 (匹配11數字,並且13-19開頭)
- matcherAccount 判斷賬號格式 (4-20位字元)
- matcherPassword 判斷密碼格式 (6-12位字母或數字)
- matcherPassword2 判斷密碼格式 (6-12位字母或數字,必須同時包含字母和數字)
- matcherEmail 判斷郵箱格式
- matcherIP 判斷IP地址
- matcherUrl 判斷URL (http,https,ftp)
- matcherVehicleNumber 判斷中國民用車輛號牌
- matcherIdentityCard 判斷身份證號碼格式
- isNumeric 是否數值型
- testRegex 是否匹配正則
- checkPostcode 匹配中國郵政編碼
-
ViewUtils.java View工具
- removeSelfFromParent
- requestLayoutParent
- isTouchInView
- bigImage
- setTVUnderLine 給TextView設定下劃線
- showPopupWindow
- dismissPopup
- captureView 截圖
- createViewBitmap 截圖
- convertViewToBitmap 截圖
- getActivityBitmap 獲取Activity的截圖
- getStatusBarHeight 獲取狀態列高度
- getToolbarHeight 獲取工具欄高度
- getNavigationBarHeight 獲取導航欄高度
- measureView 測量view
- getViewWidth 獲取view的寬度
- getViewHeight 獲取view的高度
- getActivity 獲取view的上下文
/** * 身份證校驗 * <p> * 根據〖中華人民共和國國家標準 GB 11643-1999〗中有關公民身份號碼的規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。 * 排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。 * 地址碼錶示編碼物件常住戶口所在縣(市、旗、區)的行政區劃程式碼。 * 出生日期碼錶示編碼物件出生的年、月、日,其中年份用四位數字表示,年、月、日之間不用分隔符。 * 順序碼錶示同一地址碼所標識的區域範圍內,對同年、月、日出生的人員編定的順序號。順序碼的奇數分給男性,偶數分給女性。 * 校驗碼是根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。 * 出生日期計算方法。 * 15位的身份證編碼首先把出生年擴充套件為4位,簡單的就是增加一個19或18,這樣就包含了所有1800-1999年出生的人; * 2000年後出生的肯定都是18位的了沒有這個煩惱,至於1800年前出生的,那啥那時應該還沒身份證號這個東東,⊙﹏⊙b汗... * 下面是正則表示式: * 出生日期1800-2099 /(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])/ * 身份證正則表示式 /^[1-9]\d{5}((1[89]|20)\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dx]$/i * 15位校驗規則 6位地址編碼+6位出生日期+3位順序號 * 18位校驗規則 6位地址編碼+8位出生日期+3位順序號+1位校驗位 * 校驗位規則 公式:∑(ai×Wi)(mod 11)……………………………………(1) * 公式(1)中: * i----表示號碼字元從由至左包括校驗碼在內的位置序號; * ai----表示第i位置上的號碼字元值; * Wi----示第i位置上的加權因子,其數值依據公式Wi=2^(n-1)(mod 11)計算得出。 * i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 * Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 * </P> * * @author Yoojia.Chen ([email protected]) * @version version 2015-05-21 * @since 2.0 */
這個庫參考了眾多網路的中的程式碼,在此對這些無私奉獻的人致以最誠摯的感謝。
相關推薦
基於Android系統Api封裝常用工具類
專案地址 https://github.com/h4de5ing/AndroidCommon/blob/master/README-cn.md gradle使用方式 compile 'com.code19.library:library:0.1.2' 常用工具類 使用示
Android常用工具類
cti def air exp -a src 重復元素 nec empty 主要介紹總結的Android開發中常用的工具類,大部分同樣適用於Java。目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、Prefe
Android常用工具類集合(持續更新)
1.訊息通知管理類,適配Android8.0 https://blog.csdn.net/huangliniqng/article/details/83537119 2.Android撥打電話工具類: https://blog.csdn.net/huangliniqng/
javascript 總結(常用工具類的封裝)
** JavaScript ** 1. type 型別判斷 isString (o) { //是否字串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumb
基於Eros的Android端功能增強的工具類庫
當前工具類支援--基礎依賴包wxframework <= 1.0.9 的版本 如果您的基礎依賴包wxframework的版本 > 1.0.9 , 為了使該工具類繼續可以使用, 可前往: Eros-plugin-android-extend 基於Eros框架下的
Android : 封裝Http工具類,以及日誌攔截器的工具包
這個沒有什麼好說的 同標題 package soexample.umeng.com.okhttp.utils; import android.os.Environment; import java.io.File; import java.io.IOException; import
Android快速開發系列 10個常用工具類
開啟大家手上的專案,基本都會有一大批的輔助類,今天特此整理出10個基本每個專案中都會使用的工具類,用於快速開發~~ 在此感謝群裡給我發專案中工具類的兄弟/姐妹~ 1、日誌工具類L.java Java package c
最全Android開發常用工具類
主要介紹總結的Android開發中常用的工具類,大部分同樣適用於Java。 目前包括 HttpUtils、DownloadManagerPro、Safe.ijiami、ShellUtils、PackageUtils、 PreferencesUtils、
android 常用 工具類 com.liuan:common 個人總結
git 地址 點我傳送 此處永遠是線上最新的程式碼!!!!! 說明書在git README.md 內容同下 可能有會更改 大概如下 最新說明文件 點我tp 有些程式碼寫第一次 興致盎然,可
【常用工具類】SharedPreferences封裝類SPUtils
public class SPUtils { /** * 儲存在手機裡面的檔名 */ public static final String FILE_NAME = "share_data"; /** * 儲
Java常用工具類封裝——Base64 編碼和解碼
Base64 編碼和解碼工具類,供參考。 import java.io.*; /** * Base64 編碼和解碼。 * * @author jiangshuai * @date 2016年10月03日 */ public class Base64 { p
Java常用工具類封裝——String操作工具類
專案中經常需要用到String的一些操作,結合看到的一些前人的工具類抽取,編寫了如下針對String的常用操作的工具類,供大家參考。 package com.mkyong.common; import java.util.ArrayList; import
Java基於apache.commons.lang的日期工具類簡單封裝
package cn.lettleprincess.util; import java.text.ParseException; import java.util.ArrayList; import java.util.Calendar; import java.util
Phalcon搭建多模組框架二十八:封裝curl工具類並模擬api介面請求與響應
在開發中經常會需要寫介面給別人呼叫或者呼叫別人的介面,通常使用http post傳送json格式資料,響應也往往是json格式資料。除了必要的簽名,有時候為了資料安全還需要對資料進行對稱或非對稱加密。這裡我們只是模擬post請求傳送和響應json格式資料。
Java常用工具類封裝——連線資料庫的工具類
資料庫操作工具類,供大家參考。 package com.itjh.javaUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement
Android-Universal-Image-Loader的工具類封裝
在Android開發中對圖片資源的處理已經司空見慣了,如果還是使用Android API提供的方法來處理圖片(尤其是網路圖片),不僅複雜工作量大,而且還達不到好的一個效果.所以最終選擇一些圖片處理框架,如Android-Universal-Image-Loader,pica
羊皮書APP(Android版)開發系列(十)Android開發常用工具類
日期格式化工具 package cn.studyou.baselibrary.utils; import java.text.DecimalFormat; import java.text.ParseException; import java.text
Java常用工具類API(Arrays類,Collections類,包裝類,日期類,Math類,Systeml類)
一、陣列Arrays類(全為靜態方法) 返回型別 方法名 作用 String Arrays.toString(type[] a) 返回指定陣列內容的字串表示形式 void Arrays.sort(type[] a
android系統提供的常用命令列工具
本部落格只要沒有註明“轉”,那麼均為原創,轉貼請註明本部落格連結連結android提供了不少命令列工具,方便我們除錯和檢視資訊.下面是frameworks/base/cmds(android 6.0.1)中的命令.$ tree cmds -L 1cmds├── am├── a
android 獲取手機信息工具類
telephony == 系統 設備 android pack devices 信息 context package com.yqy.yqy_listviewheadview; import android.content.Context; import androi