FoxFrame框架说明

FoxFrame是一个便于中小型项目开发的Android框架,包括RxJava、Retrofit的封装,MVP框架支持,以及各种工具类。它提供快速接入方式,核心类FoxCore提供全局数据管理,Activity管理和应用信息获取等功能。FoxActivity和FoxFragment基类简化了Activity和Fragment的使用,支持双击检测、ViewHelper和权限请求等操作。此外,框架还包含了网络请求、数据存储和UI辅助工具等模块。
摘要由CSDN通过智能技术生成

FoxFrame 框架说明

概述

Github地址

FoxFrame 是一个为方便中小型项目开发而遍写的一个开发框架。封装了RxJava、Retrofit和一些工具方法。同时为MVP框架的搭建提供便利。

由于算是学习过程中的积累产物,一不小心就写了不少东西,导致很多工具类没有很好的介绍,甚至根本没有介绍。我是不会承认因为自己懒得写,所以如果有兴趣可以看看源码,若发现问题相当欢迎练习作者进行指正。希望我早日成为Android大佬,日薪过万

QQ:864706521

快速接入

在项目的 app.gradle 文件中的 dependencies 代码块中填写以下依赖

    implementation 'com.github.binzeefox:AndroidTemplete:Tag';  //Tag为最新版本号

并在项目的 Project.Gradle 里的 allprojects.repositories 里添加 maven { url "https://jitpack.io" }。然后同步项目即可

开始使用

直接将 Manifest 文件中的 <Application>标签 name 属性指向com.binzeefox.foxframe.core.base.FoxApplication或继承自该类的自定义Application即可

若项目本身有继承其它Application,可以在自定义Application 的onCreate()方法中调用FoxCore.init(this);即可。

注意,若跳过此步骤,大部分工具方法仍可以通过手动输入Context参数来调用,但有可能会导致奇怪的问题发生

FoxCore

该类为核心类,需要应用使用继承自FoxApplication的Application或者调用FoxCore.init(Application)才能生效,该类包含几个工具方法。
通过该类,可以在应用任何位调用FoxCore.get()方法获取FoxCore唯一实例。同时可以用FoxCore.getApplication()在任何位置获取Application实例。

获取应用信息。

通过调用FoxCore.get().getPackageInfo();即可快速获取应用信息

获取版本名

通过调用FoxCore.get().getVersionName();即可获取当前应用的版本名称

获取版本号

通过调用FoxCore.get().getVersionCode();即可获取long 类型的版本号。

全局数据

该类提供了一个简易的全局数据保存方法。
通过FoxCore.get().putGlobalData(String key, Object data)方法存入数据。
该存入的数据可以在任何地方通过FoxCore.get().getGlobalData(String key, T defaultValue)方法获取
通过 FoxCore.get().removeGlobalData(String key)来删除数据。
通过FoxCore.get().submitGlobalData(String key, DataHolder.Callback callback)订阅全局数据的变化情况
该数据是由HashMap进行保存的,如果过度使用可能会导致OOM。建议仅用该方法保存较小的数据(例如token之类的常用值)

具体可参考com.binzeefox.foxframe.core.tools.DataHolder.class

Activity 管理

可以通过FoxCore.get().getTopActivity()获取当前栈顶实例,或通过FoxCore.get().popActivity()进行弹栈并销毁栈顶Activity。

通过FoxCore.get().killActivity(int count)批量销毁Activity,参数为从栈顶数想销毁的Activity数量。

通过FoxCore.get().getActivityList()获取当前存活的所有Activity列表

FoxActivity与FoxFragment

为方便开发,该框架提供了FoxActivity与FoxFragment作为基类(以下统称基类),并提供了一些常用方法。下面介绍它们的一些方法

继承

基类在各自的onCreate()onCreateView()内进行了一些部署,并将这两个方法修饰为final。原本在该方法中进行的Layout绑定与部署将分别在三个独立的方法onSetLayoutResource(int layoutId)onSetLayoutView(View view)create(Bundle savedInstance)中进行。

layout资源文件请重写onSetLayoutResource(int)并返回layout资源id;layout实例请重写onSetLayoutView(View)并返回View实例。原本的初始化代码请于create(Bundle)中进行。

双击检测

基类提供了checkCallAgain(long timeout, int id)用于检验该方法在规定时间内是否被调用两次。其中第一个参数为两次点击的间隔。第二个参数为判断检测事件的id,默认为-1

示例如下

/**
 * 利用 {@link FoxActivity#checkCallAgain(int)}   实现二次返回键退出功能
 */
@Override
public void onBackPressed() {
   
    if (checkCallAgain(2000)){
   
        // 上面的方法,第一次调用时返回false。参数接受一个长整型&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值