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

OSCHINA-MIRROR/wave-chtj-BaseIotUtils

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 12:47 2c20d78

Подключение

  • В корневом каталоге Android-проекта в файле build.gradle добавьте:

    allprojects {
        repositories {
            ...
            maven { url 'https://www.jitpack.io' }
        }
    }
  • В файл build.gradle приложения добавьте:

    • base_iotutils — класс с базовыми инструментами для IoT (интернета вещей):
    dependencies {
        // Несколько классов с инструментами для интернета вещей
        implementation 'com.github.wave-chtj:BaseIotUtils:2.6.1'
    }

Пользовательское приложение

// Описание функций каждого модуля библиотеки можно посмотреть на странице ниже
// Не забудьте использовать это пользовательское приложение в Manifest
public class App extends Application {

  @Override
  public void onCreate() {
    super.onCreate();
    //① base_iotutils — класс с базовыми инструментами для IoT
    BaseIotUtils.instance().
                    setAdaptation(1080, 1920, BaseIotUtils.WIDTH,true).
                    create(getApplication());
  }

  @Override
  protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
  }
}

Скриншоты приложения

Рисунок Описание
[Рисунок 1]
[Рисунок 2]

Класс base_iotutils с описанием инструментов

Номер Инструмент Название Функция
01 AudioUtils Управление аудио Воспроизведение, продолжение, пауза
02 AppsUtils Инструменты для приложений Поиск приложений и информация о приложениях
03 AdaptationUtils Адаптация экрана Адаптация к пикселям pt
04 TranscodingUtils Инструменты преобразования Преобразование 10/16/ascii, байтовых массивов и т. д.
05 DownloadUtils Многозадачное управление загрузкой Загрузка, пауза, обратный вызов состояния
06 DisplayUtils Информация об экране Информация о экране (ширина, высота, пиксели и т.д.)
07 DialogUtils Диалоговые окна Обычные диалоговые окна, диалоговые окна с полями ввода
08 DeviceUtils Информация об устройстве Заводская информация об устройстве
09 EncryptUtils Шифрование Получение строк, файлов MD5
10 FileUtils Файлы Чтение и запись файлов
11 FormatViewsUtils Прокрутка текста Прокрутка последней строки TextView
12 GlobalDialogUtils Всплывающие окна приложения SYSTEM_ALERT_WINDOW
13 HttpUtils Сетевые запросы GET, POST запросы
14 JsonFormatUtils Форматирование JSON Форматирование строк JSON
15 KLog Печать журнала Метки журнала
16 KeyBoardUtils Управление мягкой клавиатурой Открытие, закрытие
17 NotifyUtils Уведомления Пользовательские уведомления, динамическая настройка параметров
18 NetUtils Сетевые инструменты Тип сети, состояние и т. д.
19 NetMonitorUtils Широковещательные уведомления об изменениях в сети Обратные вызовы при изменении сети
20 ObjectUtils Общие инструменты для работы с объектами Проверка на пустоту, сравнение, случайность
21 PermissionsUtils Запрос разрешений Множественные разрешения
22 RegularTools Регулярные выражения Результаты регулярных выражений
23 SerialPort/SerialPortFinder Последовательный порт Открытие, связь, закрытие
24 SPUtils Хранилище SharedPreferences чтение и запись
25 ShellUtils Adb Выполнение команд adb
26 ServiceUtils Управление службами Запуск, остановка, проверка активности и т. д.
27 StatusBarUtils Иммерсивная строка состояния Изменение цвета строки состояния
28 ToastUtils Системный Toast Успех, неудача, предупреждение и т. д.
29 TimeUtils Время Преобразования даты и времени
30 TPoolSingleUtils/TPoolUtils Управление пулом потоков Повторное использование потоков
31 UriPathUtils URI в реальный путь Преобразование URI в Android 7.0
32 ZipUtils Сжатие Сжатие, распаковка, пакетная обработка и т. д.

Использование инструментов класса base_iotutils и изображения

FileUtils — операции с файлами: чтение, запись, удаление, размер файла и т. д.

//@filePath — путь к файлу, например /sdcard/config.txt
//@content — содержимое для записи
//@isCover — перезаписывать ли содержимое файла
boolean writeResult = FileUtils.writeFileData(filePath, content, true);
``` **Инструменты и библиотеки**

* **Класс инструментов:** «Файл, сжатие, загрузка файлов, управление журналами, управление временем, сетевые решения и т. д.»

* Это библиотека...

* 18 марта 2020 года

* Ложно

* Истинно)

    ```
    .exeuNotify();
} else {
    // Открыть уведомление
    NotifyUtils.toOpenNotify();
}
// Изменить часть содержимого
NotifyUtils.setAppName("");
NotifyUtils.setAppAbout("");
NotifyUtils.setRemarks("");
NotifyUtils.setPrompt("");
NotifyUtils.setDataTime("");
// Закрыть это уведомление
NotifyUtils.closeNotify();

PlayUtils: воспроизведение аудио

// Начать воспроизведение
AudioUtils.getInstance()
    .setPlayStateChangeListener(new PlayUtils.PlayStateChangeListener() {
        @Override
        public void onPlayStateChange(PlayUtils.PLAY_STATUS play_status) {
            // Получить текущее состояние PLAY, RESUME, PAUSE, STOP, NONE
            KLog.d(TAG," play_status= "+play_status.name());
        }

        @Override
        public void getProgress(int sumProgress, int nowProgress) {
            //sumProgress общая продолжительность  nowProgress текущая продолжительность
            KLog.d(TAG, " sumProgress= " + sumProgress + ",nowProgress= " + nowProgress);
        }
    })
    .startPlaying("/sdcard/ding.wav");// адрес файла

// Приостановить воспроизведение
AudioUtils.getInstance().pausePlay();

// Возобновить воспроизведение
AudioUtils.getInstance().resumePlay();

// Остановить воспроизведение
AudioUtils.getInstance().stopPlaying();

NetMonitorUtils: сетевой монитор

// Зарегистрировать трансляцию
NetMonitorUtils.register();
// Установить мониторинг NetTypeInfo (NETWORK_2G, NETWORK_3G, NETWORK_4G, NETWORK_WIFI, NETWORK_ETH, NETWORK_NO, NETWORK_UNKNOWN)
NetMonitorUtils.addCallBack(new INetChangeCallBack() {
    @Override
    public void netChange(int netType, boolean pingResult) {
        tvType.setText("" + netType);
        tvStatus.setText("" + pingResult);
    }
});
.......
// Отменить трансляцию
NetMonitorUtils.removeCallback(this);
NetMonitorUtils.unRegister();

SerialPort|SerialPortFinder: класс оболочки для последовательного порта

// Получить адрес последовательного порта
SerialPortFinder mSerialPortFinder = new SerialPortFinder();
String[] entryValues = mSerialPortFinder.getAllDevicesPath();
// Выбрать последовательный порт в соответствии с адресом последовательного порта и скоростью передачи
SerialPort port = null;
int baudrate=9600;// скорость передачи данных, выберите самостоятельно
try{
    //entryValues[xxx] содержит некоторые адреса последовательных портов, выберите сами
    port=new SerialPort(new File(entryValues[xxx]), baudrate,0);
    Log.e(TAG,"успешно открыт");
}catch(Exception e){
    e.printStackTrace();
    Log.e(TAG,"errMeg:"+e.getMessage());
}

// Отправить команду
port.write(command);
// Прочитать команду
// Можно использовать метод readInputStreamData(int flag) в SerialPortHelper для чтения данных, здесь используется чтение по одному байту за раз
// Или используйте метод read в порту для одновременного чтения, если объём данных большой, может возникнуть проблема с пакетированием
port.read(byte[] buff,int lenght);
// Закрыть последовательный порт
port.close();

ShellUtils: инструмент для работы с adb

Использование:

// Выполнить одну команду
ShellUtils.CommandResult commResult=ShellUtils.execCommand("reboot",true);
// Выполнить несколько команд
// ShellUtils.CommandResult commResult2=ShellUtils.execCommand(new String[]{"comm1","comm2","comm3","commN..."},true);
if(commResult.result==0){
    Log.e(TAG, "commResult2 exeu успешно");
}else{
    Log.e(TAG, "commResult exeu не удалось errMeg="+commResult.errorMsg);
}

AppsUtils: инструменты

Использование:

AppsUtils.getSystemAppList();// Список системных приложений на телефоне
AppsUtils.getDeskTopAppList();// Список всех приложений на рабочем столе
AppsUtils.getNormalAppList();// Список несистемных приложений на телефоне
AppsUtils.getMainIntent();// Получить главный экран определённого приложения
AppsUtils.isAppRunning();// Определить, работает ли приложение по имени пакета
AppsUtils.startApp();// Запустить приложение по имени пакета и перейти на главный экран
AppsUtils.getAppName();// Получить имя текущего приложения
AppsUtils.getPidByPackageName();// Получить PID процесса по имени пакета
AppsUtils.getAppVersionCode();// Получить код версии приложения
AppsUtils.getAppVersionName();// Получить название версии приложения
AppsUtils.isAppForeground();// Определить, находится ли приложение на переднем плане
AppsUtils.getAppPath();// Получить путь установки приложения

PermissionsUtils: запрос разрешений

Использование:

PermissionsUtils.with(mContext).
``` ```
addPermission(Manifest.permission.ACCESS_FINE_LOCATION).
            addPermission(Manifest.permission.ACCESS_COARSE_LOCATION).
            addPermission(Manifest.permission......).
            initPermission();

Version Code

v1.1.0

Информация о локальном устройстве (сеть, пространство устройства и т. д.) Упрощён процесс передачи параметров в классе DownloadSupport, можно самостоятельно определять информацию для каждой задачи загрузки. Системные API-вызовы, например, связанные с сетью или пространством.

v1.0.9

Межпроцессное сохранение активности Service/Activity. Оптимизация использования некоторых классов инструментов.

v1.0.8

Добавлен аудиоплеер PlayUitls с управлением состояниями. DwonloadSupport — новый класс инструментов для управления многозадачной загрузкой. Сбор данных о воспроизведении видео. Удалены инструменты для сохранения активности сервисов и оригинальный класс инструментов загрузки. Добавлено управление приложениями в системе через PackagesUtils. Улучшен интерфейс приложения, включая использование операций. Добавлена функция таймера: обратный отсчёт, счётчик и т.д. Собраны данные greenDAO для удобства последующего использования, операции с SQLite стали более удобными.

v1.0.3

Оптимизированы и добавлены некоторые классы инструментов. Обработка оптимизации при запуске приложения.

v1.0.2

Проект оптимизирован. Основные классы инструментов собраны и интегрированы.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/wave-chtj-BaseIotUtils.git
git@api.gitlife.ru:oschina-mirror/wave-chtj-BaseIotUtils.git
oschina-mirror
wave-chtj-BaseIotUtils
wave-chtj-BaseIotUtils
androidx