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

OSCHINA-MIRROR/ak-star-snails-app

Клонировать/Скачать
README.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 12:20 6633c3e

Snails-app

Введение

Android — быстрая сборка app-фреймворка

✔️ 1. Библиотека изображений Glide

✔️ 2. Погружение в статусную строку, поддержка экрана с вырезом

✔️ 3. Интеграция ButterKnife

✔️ 4. Интеграция Activity Stack Manager

✔️ 5. Инструмент журнала

✔️ 6. Интеграция Retrofit для сетевых запросов

✔️ 7. Базовый класс BaseActivity

Архитектура программного обеспечения

Описание архитектуры программного обеспечения

Инструкция по установке

1. Установка Glide [текущая версия Glide 4.9.0]

Требования к Glide


Требования Android SDK:
Min Sdk Version — для использования Glide требуется min SDK версии API 14 (Ice Cream Sandwich) или выше.
Compile Sdk Version — Glide должен быть скомпилирован с использованием API версии 27 (Oreo MR1) или более поздней версии SDK.
Support Library Version — используемая версия библиотеки поддержки Glide равна 27.

Если вам нужно использовать другую версию библиотеки поддержки, вы должны удалить «com.android.support» из зависимостей Glide в файле build.gradle вашего проекта. Например, если вы хотите использовать v26 библиотеки поддержки:

dependencies {
  implementation ("com.github.bumptech.glide:glide:4.9.0") {
    exclude group: "com.android.support"
  }
  implementation "com.android.support:support-fragment:26.1.0"
}
Использование разных версий библиотеки поддержки с Glide может привести к некоторым ошибкам во время выполнения, таким как:

java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)Landroid/graphics/Typeface; in class Landroid/support/v4/content/res/ResourcesCompat; or its super classes (declaration of 'android.support.v4.content.res.ResourcesCompat'
at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)
Это также может вызвать сбой генератора API Glide и помешать правильному созданию класса GlideApp.

Для получения дополнительной информации см. #2730.

Использование в этой библиотеке

[Необязательно] Использование GlideApp (можно использовать Glide без настройки)*
  • В файле build.gradle модуля приложения добавьте следующие настройки:

dependencies {
    annotationProcessor "com.github.bumptech.glide:compiler:$версия Glide"
}
  • Создайте класс, который наследуется от AppGlideModule или SnailsGlideModule в пакете имени проекта:

Наследование от AppGlideModule

package com.ak.aigo;   // Здесь находится имя пакета проекта

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

/**
 * Настройка Glide:
 *  Обратите внимание:
 *      1. Этот файл находится в каталоге первого уровня под именем пакета.
 *      2. Добавьте следующую зависимость в файл build.gradle app-модуля:
 *         annotationProcessor "com.github.bumptech.glide:compiler:4.9.0"
 *      3. Используйте GlideApp.with(fragment).load(myUrl).into(imageView);
 *         Замените Glide.with(fragment).load(myUrl).into(imageView);
 * @author lawrence
 * @date 2019-04-25 17:35
 */

@GlideModule
public class GlobalGlideModule extends AppGlideModule {

}

Наследование от SnailsGlideModule, SnailsGlideModule также наследует AppGlideModule и реализует некоторые настройки по умолчанию.


package com.ak.aigo;

import com.bumptech.glide.annotation.GlideModule;
import com.snails.app.glide.SnailsGlideModule;

/**
 * Настройка Glide:
 *  Обратите внимание:
 *      1. Этот файл находится в каталоге первого уровня под именем пакета.
 *      2. Добавьте следующую зависимость в файл build.gradle app-модуля:
 *         annotationProcessor "com.github.bumptech.glide:compiler:4.9.0"
 *      3. Используйте GlideApp.with(fragment).load(myUrl).into(imageView);
 *         Замените Glide.with(fragment).load(myUrl).into(imageView);
 * @author lawrence
 * @date 2019-04-25 17:35
 */

@GlideModule
public class GlobalGlideModule extends SnailsGlideModule {

}

2. xxxx
3. xxxx

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

    1. Инициализация SnailsApp
import android.app.Application;

import com.snails.app.SnailsApp;
import com.snails.app.configuration.IConfiguration;
import com.snails.app.configuration.model.SnailsDebug;
import com.snails.app.configuration.model.SnailsNetwork;

public class AiGoApplication extends Application {

    private IConfiguration iConfiguration = new IConfiguration() {
        @Override
        public SnailsDebug debug() {
            return new SnailsDebug().tag("AiGo").debug(true);
        }

        @Override
        public SnailsNetwork network() {
            return new SnailsNetwork()
                    .isOnline(false)    // Является ли это официальной версией, по умолчанию true-официальная версия
                    .testUrl("http://www.test.com")         // Тестовый адрес
                    .productUrl("http://www.product.com");  // Производственный адрес
        }

        @Override
        public SnailsRestful restful() {
            return new SnailsRestful()
                    .cache(new File("cache/json"), 5 * 1024 * 1024)
                    .debug(true, "Snails-restful");
        }
    };

    @Override
    public void onCreate() {
        super.onCreate();
        SnailsApp.instance().init(this, iConfiguration);
    }

}
    1. Расширение функциональности SnailsApp Компоненты, их названия и функции
Название Описание Как использовать
Глайд (Glide) Загрузка и отображение изображений и т. д. Glide.md (Примечание: китайский язык не обновляется в реальном времени) https://muyangmin.github.io/glide-docs-cn/doc/getting-started.html
Глайд-трансформации (Glide-transformations) Библиотека для обрезки изображений Глайд transformations.md https://github.com/wasabeef/glide-transformations
Глайдхелпер (GlideHelper) Вспомогательный инструмент Глайд GlideHelper.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.GlideHelper.md
Иммерсионбар (ImmersionBar) Панель состояния погружения, поддержка экрана с вырезом ImmersionBar.md https://github.com/gyf-dev/ImmersionBar
Викхендлер (WeakHandler) Handler для предотвращения утечки памяти WeakHandler.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.WeakHandler.md
Стораджсинглетон (StorageSingleton) Хранилище данных StorageSingleton.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.StorageSingleton.md
ДискЛруКэшУтил (DiskLruCacheUtil) Инструмент для хранения файлов на диске, имитирующий LruCache DiskLruCacheUtil.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.DiskLruCacheUtil.md
ТостУтил (ToastUtil) Подсказки toast ToastUtil.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.ToastUtil.md
Логгер (Logger) Инструмент вывода журнала Logger.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.Logger.md
ЭнвиронментУтил (EnvironmentUtil) Инструмент переключения между тестовой и производственной средой EnvironmentUtil.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.EnvironmentUtil.md
БэйзАктивити (BaseActivity) Базовая активность BaseActivity.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.BaseActivity.md
БэйзФрагмэнт (BaseFragment) Базовый фрагмент BaseFragment.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.BaseFragment.md
ДаблКликХэлпер (DoubleClickHelper) Предотвращение двойного нажатия DoubleClickHelper.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.DoubleClickHelper.md
АктивитиХэлпер (ActivityHelper) Помощник активности ActivityHelper.md https://gitee.com/ak-star/snails-app/blob/master/readme/README.ActivityHelper.md

Участие в проекте

  1. Форкните этот репозиторий.
  2. Создайте ветку Feat_xxx.
  3. Отправьте код.
  4. Создайте Pull Request.

Советы по использованию Code Cloud

  1. Используйте Readme_XXX.md для поддержки разных языков, например Readme_en.md, Readme_zh.md.
  2. Официальный блог Code Cloud — blog.gitee.com.
  3. Вы можете узнать об отличных проектах с открытым исходным кодом на Code Cloud по адресу https://gitee.com/explore.
  4. GVP — это аббревиатура от «Самые ценные проекты с открытым исходным кодом Code Cloud», которая представляет собой список выдающихся проектов с открытым исходным кодом, отобранных Code Cloud.
  5. Code Cloud предоставляет руководство по использованию по адресу https://gitee.com/help.
  6. Code Cloud предлагает серию «Code Cloud Stars», чтобы продемонстрировать достижения своих членов.

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

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

1
https://api.gitlife.ru/oschina-mirror/ak-star-snails-app.git
git@api.gitlife.ru:oschina-mirror/ak-star-snails-app.git
oschina-mirror
ak-star-snails-app
ak-star-snails-app
master