1 Star 1 Fork 1

刘酱酱 / snails-app

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

snails-app

介绍

安卓 — 快速构建app框架

✔️ 1、图片库Glide

✔️ 2、沉浸式状态栏、刘海屏支持

✔️ 3、集成ButterKnife

✔️ 4、集成Activity堆栈管理器

✔️ 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。

如果你需要使用不同的支持库版本,你需要在你的 build.gradle 文件里去从 Glide 的依赖中去除 "com.android.support"。例如,假如你想使用 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)
也可能造成 Glide 的 API 生成器失败,从而不能正确地生成 GlideApp 类.

请参阅 #2730 获取这方面的更多信息。

** 本库中使用要求 **

【非必需】GlideApp使用说明(只使用Glide无需设置)
  • 在项目app模块的 build.gradle 下增加下面设置

dependencies {
    annotationProcessor "com.github.bumptech.glide:compiler:$你的Glide版本"
}
  • 在项目app模块,包名下创建继承AppGlideModule或者SnailsGlideModule类,如下:

继承AppGlideModule

package com.ak.aigo;   // 此处即为项目的包名

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

/**
 * Glide设置:
 *  注意:
 *      1、此文件,在包名下,即一级目录
 *      2、app模块的build.gradle中添加下面依赖:
 *         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 {

}

继承SnailsGlideModuleSnailsGlideModule也是继承AppGlideModule实现一些默认设置。


package com.ak.aigo;

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

/**
 * Glide设置:
 *  注意:
 *      1、此文件,在包名下,即一级目录
 *      2、app模块的build.gradle中添加下面依赖:
 *         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);
    }

}
  • 2、SnailsApp扩展功能

isTest(): boolean                   得到当前环境状态,true-测试环境,false-生产环境

setTest(boolean isTest): void       设置当前环境状态,true-测试环境,false-生产环境

组件名称、及功能说明

名称 描述 使用方法
Glide 图片下载、显示等 Glide.md 注:中文非实时更新
Glide-transformations Glide图片剪裁库 transformations.md
GlideHelper Glide辅助工具 GlideHelper.md
ImmersionBar 沉浸式状态栏、刘海屏支持 ImmersionBar.md
WeakHandler 防内存泄漏的handler WeakHandler.md
StorageSingleton 数据存储 StorageSingleton.md
DiskLruCacheUtil 仿LruCache的磁盘文件存储工具 DiskLruCacheUtil.md
ToastUtil toast提示 ToastUtil.md
Logger 日志输出工具 Logger.md
EnvironmentUtil 测试/生产环境切换工具 EnvironmentUtil.md
BaseActivity 基础Activity BaseActivity.md
BaseFragment 基础Fragment BaseFragment.md
DoubleClickHelper 点击防抖 DoubleClickHelper.md
ActivityHelper activity辅助工具 ActivityHelper.md

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/
MIT License Copyright (c) 2019 刘酱酱 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

安卓 — 快速构建app框架 展开 收起
Android
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Android
1
https://gitee.com/ak-star/snails-app.git
git@gitee.com:ak-star/snails-app.git
ak-star
snails-app
snails-app
master

搜索帮助