1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zl_freedom-AndroidUtilCode

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Код, который должен собирать разработчик Android (в процессе обновления)


Для удобства поиска код был разделён на категории, как показано ниже:

  • Приложения → 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 )

Вы можете оставить комментарий после Вход в систему

Введение

Код, который должен собирать Android-разработчик (список постоянно обновляется). Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zl_freedom-AndroidUtilCode.git
git@api.gitlife.ru:oschina-mirror/zl_freedom-AndroidUtilCode.git
oschina-mirror
zl_freedom-AndroidUtilCode
zl_freedom-AndroidUtilCode
master