Для удобства поиска код был разделён на категории, как показано ниже:
Приложения → AppUtils.java
- Установка приложения
installApp
- Деинсталляция приложения с указанным пакетом
uninstallApp
- Получение информации о текущем приложении
getAppInfo
- Получение информации обо всех установленных приложениях
getAllAppsInfo
- Определение установлена ли программа с указанным пакетом
isInstallApp
- Открытие приложения с указанным пакетом
openAppByPackageName
- Открытие экрана информации о приложении с указанным пакетом
openAppInfo
- Поделиться информацией о приложении
shareAppInfo
- Определение находится ли приложение в фоновом режиме
isAppBackground
Константы → ConstUtils.java
- Константы для хранения данных
- Константы для времени
- Константы для регулярных выражений
Преобразования → ConvertUtils.java → Тест
- Преобразование каждого байта в два шестнадцатеричных символа
bytes2HexString
- Преобразование двух шестнадцатеричных символов в один байт
hexString2Bytes
- Преобразование массива char в массив байтов
chars2Bytes
- Преобразование массива байтов в массив char
bytes2Chars
- Преобразование входящего потока в массив байтов
inputStream2Bytes
- Преобразование массива байтов в входящий поток
bytes2InputStream
> - Преобразование входящего потока в строку с использованием указанной кодировки inputStream2StringПреобразование строки в входящий поток с использованием указанной кодировки string2InputStream
Устройства → [DeviceUtils.java][device.java]
Получение MAC-адреса устройства getMacAddress
Получение производителя устройства, например Xiaomi getManufacturer
Получение модели устройства, например MI2SC getModel
Шифрование/расшифровка → [EncodeUtils.java][encode.java] → [Тест][encode.test]
Шифрование URL urlEncode
Расшифровка URL urlDecode
Шифрование Base64 base64Encode base64Encode2String
Расшифровка Base64 base64Decode
Безопасное шифрование Base64URL base64UrlSafeEncode
Шифрование HTML htmlEncode
Расшифровка HTML htmlDecode
Шифрование/дешифровка → [EncryptUtils.java][encrypt.java] → [Тест][encrypt.test]
Шифрование MD2 encryptMD2ToString encryptMD2
Шифрование MD5 encryptMD5ToString encryptMD5
Шифрование SHA1 encryptSHA1ToString encryptSHA1
Шифрование SHA224 encryptSHA224ToString encryptSHA224
Шифрование SHA256 encryptSHA256ToString encryptSHA256
Шифрование SHA384 encryptSHA384ToString encryptSHA384
Шифрование SHA512 encryptSHA512ToString encryptSHA512
Получение контрольной суммы MD5 файла encryptMD5File2String encryptMD5File
Шифрование DES с последующим преобразованием в Base64 encryptDES2Base64
Шифрование DES с последующим преобразованием в шестнадцатеричный формат encryptDES2HexString
Шифрование DES encryptDES
Расшифровка DES из Base64 зашифрованного сообщения decryptBase64DES> - Расшифровка DES из шестнадцатеричного зашифрованного сообщения decryptHexStringDES
Расшифровка DES decryptDES
Шифрование 3DES с последующим преобразованием в Base64 encrypt3DES2Base64
Шифрование 3DES с последующим преобразованием в шестнадцатеричный формат encrypt3DES2HexString
Шифрование 3DES encrypt3DES
Расшифровка 3DES из Base64 зашифрованного сообщения decryptBase64_3DES
Расшифровка 3DES из шестнадцатеричного зашифрованного сообщения decryptHexString3DES
Расшифровка 3DES decrypt3DES
Шифрование AES с последующим преобразованием в Base64 encryptAES2Base64
Шифрование AES с последующим преобразованием в шестнадцатеричный формат encryptAES2HexString
Шифрование AES encryptAES
Расшифровка AES из Base64 зашифрованного сообщения decryptBase64AES
Расшифровка AES из шестнадцатеричного зашифрованного сообщения decryptHexStringAES
Расшифровка AES decryptAES
Файловые операции → [FileUtils.java][file.java] → [Test][file.test]
Получение файла по пути getFileByPath
Проверка наличия файла isFileExists
Проверка является ли путь директорией isDir
Проверка является ли путь файлом isFile
Проверка существования директории, если нет — попытка её создания createOrExistsDir
Проверка существования файла, если нет — попытка его создания createOrExistsFile
Удаление старого файла перед созданием нового createFileByDeletingOldFile
Копирование директории copyDir
Копирование файла copyFile
Перемещение директории moveDir
Перемещение файла moveFile> - Удаление директории deleteDir
Удаление файла deleteFile
Получение всех файлов в директории listFilesInDir
Получение всех файлов в директории, включая поддиректории listFilesInDirRecursive
Получение всех файлов с расширением suffix в директории listFilesInDirWithFilter
Получение всех файлов с расширением suffix в директории, включая поддиректории listFilesInDirWithFilterRecursive
Получение всех файлов, соответствующих фильтру filter в директории listFilesInDirWithFilter
Получение всех файлов, соответствующих фильтру filter в директории, включая поддиректории listFilesInDirWithFilterRecursive
Поиск файла с указанным именем в директории, включая поддиректории searchFileInDir
Запись входящего потока в файл writeFileFromIS
Запись строки в файл writeFileFromString
Простое получение кодировки файла getFileCharsetSimple
Получение количества строк в файле getFileLines
Чтение файла построчно с указанием кодировки в List readFile2List
Чтение файла построчно с указанием кодировки в StringBuilder readFile2SB
Преобразование единиц в байты (единица: unit) bytesToUnit
Получение размера файла getFileSize
Закрытие IO closeIO
Получение самого длинного каталога по полному пути getDirName
Получение имени файла по полному пути getFileName
Получение имени файла без расширения по полному пути getFileNameWithoutExtension
Получение расширения файла по полному пути getFileExtension
Изображения → [ImageUtils.java][image.java]
В процессе завершения
Клавиатура → [KeyboardUtils.java]```markdown [java][keyboard.java]
Предотвращение закрытия клавиатуры панелями ввода данных
Динамическое скрытие мягкой клавиатуры
hideSoftInput
Нажатие на пустое пространство экрана для скрытия мягкой клавиатуры (замечательный комментарий)
clickBlankArea2HideSoftInput0
Динамическое отображение мягкой клавиатуры
showSoftInput
Переключение состояния отображения мягкой клавиатуры
toggleSoftInput
- Сеть → [NetworkUtils.java][network.java]
- Открытие сетевых настроек
openWirelessSettings
- Проверка доступности сети
isAvailable
- Проверка соединения с сетью
isConnected
- Проверка наличия 4G сети
is4G
- Проверка соединения Wi-Fi
isWifiConnected
- Получение названия мобильного оператора
getNetworkOperatorName
- Получение типа мобильного устройства
getPhoneType
- Получение текущего типа сети (WIFI, 2G, 3G, 4G)
getNetWorkType
getNetWorkTypeName
- Мобильное устройство → [PhoneUtils.java][phone.java]
- Проверка является ли устройство телефоном
isPhone
- Получение IMEI телефона
getPhoneIMEI
- Получение информации о состоянии телефона
getPhoneStatus
- Переход к экрану набора номера с заполненным номером
dial
- Вызов номера
call
- Отправка SMS
sendSms
- Получение контактов телефона
getAllContactInfo
- Открытие экрана контактов телефона и получение номера после выбора контакта (замечательный комментарий)
getContantNum
- Получение всех SMS сообщений и сохранение их в XML
getAllSMS
- Регулярные выражения → [RegularUtils.java][regular.java] → [Тест][regular.test]
> - Проверка номера телефона (точная) *isMobileExact*
> - Проверка номера телефона *isTel*
> - Проверка 15-значного номера паспорта *isIDCard15*
> - Проверка 18-значного номера паспорта *isIDCard18*
> - Проверка электронной почты *isEmail*
> - Проверка URL *isURL*
> - Проверка китайских символов *isChz*
> - Проверка имени пользователя *isUsername*
> - Проверка даты в формате yyyy-MM-dd, учитывающая обычные и високосные годы *isDate*
> - Проверка адреса IP *isIP*
> - Проверка совпадения строки с регулярным выражением *isMatch*
>
> - **Экран → [ScreenUtils.java][screen.java]**
> - Получение разрешения экрана телефона *getDeviceWidth*, *getDeviceHeight*
> - Установка прозрачной панели состояния (работает при API больше 19) *setTransparentStatusBar*
> - Скрытие панели состояния (замечательное замечание) *hideStatusBar*
> - Получение высоты панели состояния *getStatusBarHeight*
> - Определение наличия панели состояния *isStatusBarExists*
> - Получение высоты ActionBar *getActionBarHeight*
> - Отображение панели уведомлений *showNotificationBar*
> - Скрытие панели уведомлений *hideNotificationBar*
> - Установка экрана в горизонтальное положение (замечательное замечание) *setLandscape*
> - Получение скриншотов с панелью состояния и без неё *snapShotWithStatusBar*, *snapShotWithoutStatusBar*
> - Определение заблокированного экрана *isScreenLock*
>
> - **Функции работы со SD-картой → [SDCardUtils.java][sdcard.java]**
> - Определение доступности SD-карты устройства *isSDCardEnable*
> - Получение пути к SD-карте устройства *getSDCardPath*> - В процессе доработки
>
> - **Функции работы с Shell → [ShellUtils.java][shell.java]**
> - Определение root-прав на устройстве *isRoot*
> - Выполнение команд в режиме root *execCmd*
>
> - **Функции работы с размерами → [SizeUtils.java][size.java]**
> - Преобразование dp в px и обратно *dp2px*, *px2dp*
> - Преобразование sp в px и обратно *sp2px*, *px2sp*
> - Преобразование различных единиц измерения *applyDimension*
> - Принудительное получение размеров View в onCreate() *forceGetViewSize*
> - Предварительное измерение размеров View в ListView (замечательное замечание) *measureView*
>
> - **Функции работы со SharedPreferences → [SPUtils.java][sp.java] → [Test][sp.test]**
> - Конструктор SPUtils *SPUtils*
> - Запись String значения в SP *putString*
> - Чтение String значения из SP *getString*
> - Запись int значения в SP *putInt*
> - Чтение int значения из SP *getInt*
> - Запись long значения в SP *putLong*
> - Чтение long значения из SP *getLong*
> - Запись float значения в SP *putFloat*
> - Чтение float значения из SP *getFloat*
> - Запись boolean значения в SP *putBoolean*
> - Чтение boolean значения из SP *getBoolean*
> - Получение всех пар ключ/значение из SP *getAll*
> - Удаление ключа из SP *remove*
> - Проверка существования ключа в SP *contains*
> - Очистка всех данных из SP *clear*
>
> - **Функции работы со строками → [StringUtils.java][string.java] → [Test][string.test]**
> - Проверка строки на null или пустую строку *isEmpty*
> - Проверка строки на null или строку, состоящую только из пробелов *isSpace*
> - Преобразование null в пустую строку *null2Length0*
> - Получение длины строки *length*> - Преобразование первой буквы строки в верхний регистр *upperFirstLetter*
> - Преобразование первой буквы строки в нижний регистр *lowerFirstLetter*
> - Преобразование символов в полужирные (half-width) *toDBC*
> - Преобразование символов в жирные (full-width) *toSBC*
>
> - **Функции работы со временем → [TimeUtils.java][time.java] → [Test][time.test]**
>> - Преобразование времени в строку *(milliseconds2String)*
> - Преобразование строки времени в миллисекунды *(string2Milliseconds)*
> - Преобразование строки времени в объект Date *(string2Date)*
> - Преобразование объекта Date в строку времени *(date2String)*
> - Преобразование объекта Date в миллисекунды *(date2Milliseconds)*
> - Преобразование миллисекунд в объект Date *(milliseconds2Date)*
> - Преобразование единицы измерения миллисекунд *(единица: unit)* *(milliseconds2Unit)*
> - Получение разницы между двумя временами *(единица: unit)* *(getIntervalTime)*
> - Получение текущего времени *(getCurTimeMills)* *(getCurTimeString)* *(getCurTimeDate)*
> - Получение разницы между текущим временем и другим *(единица: unit)* *(getIntervalByNow)*
> - Определение високосного года *(isLeapYear)*
> - **Не отнесено к категории → [UnclassifiedUtils.java][unclassified.java]**
> - Проверка запущенного сервиса *(isRunningService)*
> - **Обновление лога → [update_log.md][update_log.md]**
***
**Целью этого списка является использование его как небольшого словаря для Android-разработки, чтобы при возникновении мелких проблем не было необходимости обращаться к Baidu или Google для поиска API.**Здесь есть всё необходимое, так что берите себе; также надеюсь, что проект будет развиваться день ото дня, и я буду продолжать обновлять версии и логи для удобства использования. Для удобства уже загружены на jcenter. Многие части кода собраны из различных источников, спасибо всем за предоставленные материалы. Конечно, всё это прошло тестирование, если вы заметили ошибки, пожалуйста, сообщите мне. Также открыт QQ-чат для обсуждения, номер группы: 74721490, а вопрос проверки для вас, конечно, не составит проблем.
**
###
Download
***
Gradle:
implementation 'com.blankj:utilcode:1.1.3'
###
Proguard
***
-keep class com.blankj.utilcode.** { ; }
-keepclassmembers class com.blankj.utilcode.* { ; }
-dontwarn com.blankj.utilcode.*
###
Лицензия
***
Copyright 2016 Blankj Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
[app.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/AppUtils.java
[const.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ConstUtils.java
[convert.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ConvertUtils.java
[convert.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/ConvertUtilsTest.java
[device.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/DeviceUtils.javacom/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/DeviceUtils.java
[encode.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/EncodeUtils.java
[encode.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/EncodeUtilsTest.java
[encrypt.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/EncryptUtils.java
[encrypt.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/EncryptUtilsTest.java
[file.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/FileUtils.java
[file.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/FileUtilsTest.java
[image.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ImageUtils.java
[keyboard.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/KeyboardUtils.java
[network.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/NetworkUtils.java
[phone.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/PhoneUtils.java
[regular.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/RegularUtils.java
[regular.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/RegularUtilsTest.java
[screen.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ScreenUtils.java
[sdcard.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SDCUtils.java
[shell.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ShellUtils.java
[size.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SizeUtils.java
[sp.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SPUtils.javajava
[специальный тест]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/SPUtilsTest.java
[строка. java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/StringUtils.java
[строка. тест]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/StringUtilsTest.java
[время. java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/TimeUtils.java
[время. тест]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/utils/TimeUtilsTest.java
[неотсортированные. java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/UnclassifiedUtils.java
[обновление_журнал. md]: https://github.com/Blankj/AndroidUtilCode/blob/master/update_log.md
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )