搭建项目基础框架

一、设计全局配置器

依照“单例模式”下的“懒汉式”,通过枚举类和静态内部类来实现,保证线程安全,也避免使用双重校验锁。

1. public class Configurator

该类用于配置文件的存储和获取,包括各种配置项(如,后端主机地址)、字体图标库的引用、用于线程通信的全局Handler。

import android.os.Handler;

import com.blankj.utilcode.util.Utils;
import com.joanzapata.iconify.IconFontDescriptor;
import com.joanzapata.iconify.Iconify;

import java.util.ArrayList;
import java.util.HashMap;

public class Configurator {

    private static final HashMap<Object,Object> QILU_CONFIGS= new HashMap<>();
    private static final Handler HANDLER = new Handler();
    private static final ArrayList<IconFontDescriptor> ICONS = new ArrayList<>();
    
    // 不让其他类创建本类的对象
    private Configurator(){
        QILU_CONFIGS.put(ConfigKeys.CONFIG_READY, false);
        QILU_CONFIGS.put(ConfigKeys.HANDLER, HANDLER);
    }
    
    //利用静态内部类进行初始化
    private static class Holder {
        private static final Configurator INSTANCE = new Configurator();
    }

    static Configurator getInstance() {
        return Holder.INSTANCE;
    }

    final HashMap<Object, Object> getQiluConfigs() {
        return QILU_CONFIGS;
    }

    public final void configure() {
        initIcons();
        QILU_CONFIGS.put(ConfigKeys.CONFIG_READY, true);
        Utils.init(Qilu.getApplicationContext());
    }

    private void initIcons() {
        if (ICONS.size() >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值