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

OSCHINA-MIRROR/hais-Hais_Android_Utils

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

#Hais_Android_Utils

#Использование: 1. Создайте собственное приложение Application и унаследуйте его от AppApplication. 2. Создайте собственное приложение BaseActivity и унаследуйте его от AppBaseActivity. 3. В конфигурационном файле UtilConfig в пакете app настройте информацию для всех утилит. 4. После выполнения этих шагов вы сможете использовать все функции Hais_Android_Utils.

#Описание пакетов в библиотеке Этот набор утилит включает в себя app, helper, http, model, sqlite, ui, utils, view. app содержит базовые классы для наследования, такие как AppApplication, AppBaseActivity, AppBaseFragment, AppAdapter, AppBasePopupWindow... helper содержит вспомогательные классы Hais_Android_Utils, которые обычно не используются. http содержит обработку сетевых запросов, включая загрузку изображений, загрузку файлов, сетевые запросы [поддерживает добавление заголовков в POST-запросы]. model содержит упакованные в классы объекты для удобного использования. sqlite содержит базовые функции работы с SQLite. ui содержит классы представления, в настоящее время это только одно окно с крутилкой. util содержит множество утилит, применимых к различным сценариям. view содержит расширения простых элементов управления.

Проект зависит от Gson и okhttp.

[Если у вас есть предложения или вопросы, оставьте комментарий на http://hais.pw]============================================================

1. Пакет pw.hais.app:

1. AppApplication
	(1) Объединяет управление активностями и инициализацию утилит. Метод exitApp() используется для выхода из приложения.
	(2) Включает отлов ошибок и возможность отправки отловленных ошибок на сервер.
	(3) Метод onErrorListener используется для обратного вызова информации об ошибках.

2. AppBaseActivity
	Особенности: если ID элемента в XML совпадает с именем переменной в активности, можно использовать переменную без вызова findViewById.
		Пример:
			Если в XML определен TextView с ID text_hello,
			и в активности определена переменная типа TextView с тем же именем text_hello,
			то можно использовать text_hello без вызова findViewById.
			Эту функцию можно включить или выключить в конфигурационном файле UtilConfig.		(1) Свойства
		tag свойство: имя активности используется как tag для удобства логирования.
		context свойство: текущий контекст активности, удобен для установки слушателей и т.д.
		gson свойство: объект Gson для всего приложения.

	(2) Методы
		loadDialogShow(String text) метод: отображает диалоговое окно с прогрессом, параметр text определяет текстовое сообщение, если параметр null, текстовое сообщение не отображается.
		loadDialogDismiss() метод: закрывает диалоговое окно с прогрессом.
  1. AppBaseFragment (1) Свойства tag свойство: получает имя каждого активити как tag для удобства логирования. context свойство: контекст текущего активити, для удобства установки слушателей и т.д. gson свойство: объект Gson для всего приложения.

    (2) Методы onCreateView(); возвращает R.layout.main для загрузки интерфейса onInitView(View view); в этом методе выполняется findViewbyId. [Можно использовать вместо findView в активити] onLoadDateToView(View view); этот метод отображает данные после onInitView.

     finish();	закрыть текущее активити
     popBackStack();	вернуться назад
     onBackPressed();	вернуться назад и закрыть текущее активити
    
     loadDialogShow(String text) метод: отображает диалог с текстом, параметр text определяет отображение текста
     loadDialogDismiss() метод: закрыть диалог загрузки4. BasePopupWindow

    (1) При создании PopupWindow наследуйте BasePopupWindow. (2) В конструкторе PopupWindow вызовите setLayout(Activity activity, int layout). (3) Метод drawEnd вызывается после завершения отрисовки PopupWindow, здесь можно выполнить findViewById и установить слушатели и т.д. (4) Метод showCenter() BasePopupWindow отображает PopupWindow по центру активити. (5) Примечание: из-за ограничений PopupWindow, его нельзя вызывать до завершения отрисовки активити, обычно это происходит в onCreate, а затем при нажатии кнопки и т.д.5. AppAdapter Адаптер, который позволяет сократить количество кода, подробности использования смотрите в демо.

  2. UtilConfig Конфигурация параметров для всего приложения.

2. пакет pw.hais.http

1. HTTP-запросы
    (1) Обычные запросы (слушатель может быть типа JSONObject, String и т.д.)
        Http.get(String url, Map<String, String> params, OnHttpListener<?> listener);
        Http.post(String url, Map<String, String> params, OnHttpListener<?> listener);
        Http.post(String url, String body, OnHttpListener<?> listener);
        ...

    (2) Запросы с добавлением заголовков
        Http.get(String url, Map<String, String> params, Map<String, String> header, OnHttpListener<?> listener);
        Http.post(String url, Map<String, String> params, Map<String, String> header, OnHttpListener<?> listener);
        ...

    (3) Другие специальные запросы
        Http.post(String url, String body, OnHttpListener<?> listener);
        ...

2. Загрузка файлов через HTTP
    Http.updateFile(String url, Map<String, String> params, File[] files, String[] fileKeys, OnHttpListener<?> listener);
    Http.updateFile(String url, Map<String, String> params, File file, String fileKey, OnHttpListener<?> listener);

3. Отображение загрузки изображений

  • (1) Загрузка изображения из сети и его отображение Http.displayImage(ImageView imageView, String url);
  • (2) Загрузка изображения из сети с отслеживанием Http.displayImage(ImageView imageView, String url, OnHttpListener<Bitmap> listener);
  • (3) Кэширование одного изображения Http.cacheImage(String url);
  • (4) Кэширование изображения с отслеживанием Http.cacheImage(String url, OnHttpListener<Bitmap> listener);
  • (5) Чтение кэшированного изображения Http.getCacheBitmap(String url);
  • ...## 4. Загрузка файлов (слушатель может отображать прогресс)
  • Http.download(String url, String fileDir, OnHttpListener<String> listener);

5. Отмена одного сетевого запроса

  • Http.cancel(String url);

3. Пакет pw.hais.model

  • Класс PositionMap:

    • Это карта, которая позволяет получить содержимое по позиции. Обычно используется вместе с List, например:
    PositionMap<Fragment> fragmentList;
    fragmentList = new PositionMap<>();
    fragmentList.add("商品详情", OneFragment.newInstance(1));
    fragmentList.add("商品规格", TwoFragment.newInstance(2));
    fragmentList.add("商家详情", ThreeFragment.newInstance(3));
    
    fragmentList.getKey(position); // Получение заголовка по позиции
    fragmentList.getValue(position); // Получение объекта по позиции

4. Пакет pw.hais.utils.sqlite

  • Класс Sqlite представляет собой простое упаковывание ORM. Вот шаги использования:
      1. В классе модели добавьте аннотацию ID, установите auto=true для автоинкремента, по умолчанию автоинкремент включен
      @Id(auto=true) private int id;
      1. Не добавляйте аннотацию для операций с базой данных
      @NoDB private int id;
      1. Используйте следующим образом
      DBUtil.save(u);
      DBUtil.findById(User.class, "1");
      1. Поддерживает только простые типы данных.## 5. Пакет pw.hais.ui - 1. Класс LoadProgressDialog
    • 
      
    LoadProgressDialog loadDialog = new LoadProgressDialog(Context); loadDialog.show(); // Отображение "крутилки" loadDialog.show("Данные загружаются..."); // Отображение "крутилки" с текстом loadDialog.dismiss(); // Закрытие "крутилки"
    - (В настоящее время в Activity можно вызвать loadDialogShow для отображения этого элемента управления)## Шестая часть: пакет pw.hais.utils
  1. ApkInfoUtil используется для получения имени пакета, номера версии, имени версии и названия программы текущего APK.

  2. AppInfoUtil используется для получения IMEI-кода системы, MAC-адреса, номера серии процессора, уникального идентификатора пользователя.

  3. AppNetInfoUtil используется для проверки подключения к сети, является ли подключение Wi-Fi, является ли подключение мобильной сетью, включен ли Wi-Fi, включен ли GPS, открытие настроек сети.

  4. AppSystemUtil используется для открытия и установки APK-файла, удаления программы, проверки запущенности службы, остановки службы.

  5. CrashUtil используется для отлова исключений. В AppApplication уже включен по умолчанию.

  6. DownTime. Из-за неисправности встроенной CountDownTimer, был создан этот класс-инструмент. Использование аналогично.

  7. EmptyUtil используется для проверки на пустоту, проверки пустоты строк, списков, массивов, объектов, Map.

  8. GenericsUtils используется для отражения и получения свойств родительского класса. 9.ImageUtil используется для преобразования Drawable в Bitmap, Bitmap в Drawable, Bitmap в Byte[], сохранения изображения на SD-карте, загрузки изображения с SD-карты.

  9. KeyBoardUtil используется для открытия и закрытия виртуальной клавиатуры.

  10. L используется для вывода логов и сообщений Toast. [В момент публикации приложения можно настроить отключение всех логов в классе UtilConfig].

  11. Md5Utils используется для шифрования MD5.

  12. ReaderAssetsUtil используется для получения и чтения данных из папки Assets.

  13. SDCardUtils используется для проверки доступности SD-карты, получения пути к SD-карте, получения оставшегося места на SD-карте, получения пути к системному хранилищу.

  14. SPUtils используется для упрощения работы с SharedPreferences, позволяя сохранять и читать любой объект или список.

  15. ScreenUtil используется для получения высоты экрана, ширины экрана, высоты панели состояния, получения скриншота экрана, получения размера и плотности экрана.

  16. TimeUtil используется для преобразования таймстампов в даты, преобразования временных интервалов на китайском языке, преобразования оставшегося времени в секунды.

  17. UtilConfig используется для настройки всех классов-инструментов.

  18. ViewHolderUtils используется для загрузки представлений и отражения элементов управления, обычно используется в адаптерах. ## 7. Пакет pw.hais.view

  19. ButtonFocus Расширяет класс Button.Использование похоже на использование Button, но добавляет эффект нажатия кнопки. Используется в тех случаях, когда установка изображения в качестве фона кнопки приводит к потере эффекта нажатия.2. ImagesFocus Расширяет класс ImageView. Использование похоже на использование ImageView, но добавляет эффект нажатия. Используется в тех случаях, когда ImageView используется как кнопка, и при этом теряется эффект нажатия.

  20. StrokeTextView Расширяет класс TextView. Использование похоже на использование TextView, но добавляет обводку текста.

  21. TextIntChangeView Расширяет класс TextView. Использование похоже на использование TextView, но при вызове setChange(100); значение будет динамически изменяться.

  22. TextHtmlImageView Расширяет класс TextView. Использование похоже на использование TextView, но при вызове setHtml("html строка"); будет автоматически загружено изображение из HTML.

Комментарии ( 0 )

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

Введение

Пример, написанный с использованием библиотеки для быстрой разработки Android Hais_Android_Utils Развернуть Свернуть
Отмена

Обновления

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

Участники

все

Язык

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

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