Android 创建模块化接口

开发过程中通常会碰到这些问题:Activity越来越臃肿,界面中会有越来越多的业务代码,请求代码,上层的耦合越来越严重,维护起来会相当麻烦。项目开发时如果能有一个好的结构是至关重要的,比如最近的MVP架构主要就可以把Activity中的业务代码抽取出来,使Activity层的代码充分解耦,但是实现起来也需要耗费大量精力。这里介绍一种简单的方法来抽取Activity层的业务代码,就是利用Fragment来创建可以复用的模块。

为什么用Fragment

Fragment拥有和Activity很相似的生命周期,onCreate() , onDestroy() 还有自己的生命周期 onAttach() ,onCreateView 。Fragment本身如果不去重写onCreateView()的话是不会有界面的,从而可以把它当做一个纯粹的数据源,或者一个接口模块来进行复用,同时我们还可以利用FragmentManager来很方便的进行通信。

示例

作为dota爱好者这里简单写一个英雄选择的模块
先来实现数据模块 DataFragment,说道英雄选择肯定要有文字和图片

public class DataFragment extends Fragment {
   

    public static final String TAG = "data";


    public class DataItem{
   
        private String title;
        private int resId;

        public DataItem(String title, int resId) {
            this.title = title;
            this.resId = resId;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getResId() {
            return resId;
        }

        public void setResId(int resId) {
            this.resId = resId;
        }
    }

    public static DataFragment newInstance() {
        DataFragment fragment = new DataFragment();
        return fragment;
    }

    public DataFragment() {
        // Required empty public constructor
    }

    private ArrayList<DataItem> dataList;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        dataList = new ArrayList<>();
        dataList.add(new DataItem("敌法师",R.mipmap.df));
        dataList.add(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值