Android的BaseFragment封装

简介: Android的BaseFragment封装

不久前文章写了 BaseActivity的博客 今天顺便把BaseFragment的封装也写一下。

Base的封装可以让你更加了解Java面向对象的特征(如继承、多态、泛型、注解等等)的同时解决重复性编码问题。废话不多说,直接上代码。

/**
 * @author:程龙 date; On 2018/8/22
 */
public abstract  class BaseFragment extends Fragment {
    private View mContentView;
    private Context mContext;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        mContentView = inflater.inflate(setLayoutResourceID(), container, false);
        ButterKnife.bind(this, mContentView);
        mContext = getContext();
        init();
        setUpView();
        setUpData();
        return mContentView;
    }
    /**
     * 此方法用于返回Fragment设置ContentView的布局文件资源ID * * @return 布局文件资源ID
     */
    protected abstract int setLayoutResourceID();
    /**
     * 一些View的相关操作
     */
    protected abstract void setUpView();
    /**
     * 一些Data的相关操作
     */
    protected abstract void setUpData();
    /**
     * 此方法用于初始化成员变量及获取Intent传递过来的数据 * 注意:这个方法中不能调用所有的View,因为View还没有被初始化,要使用View在initView方法中调用
     */
    protected void init() {
    }
    public View getContentView() {
        return mContentView;
    }
    public Context getMContext() {
        return mContext;
    }
}

除了上面的简单封装,还可以根据实际项目中使用的第三方来封装需要的一些初始化或者其他操作,例如友盟、推送、百度等。

1. 
    @Override public void onResume() {
        super.onResume();
        StatService.onPause(this);
//此处是百度 ...//其他一些 
    }
    @Override public void onPause() {
        super.onPause();
        StatService.onResume(this);
//此处是百度 ...//其他一些 
    }
    @Override public void onDestroy() {
        DetoryViewAndThing(); 
//其他一些 
    }

除此之外还可以封装一些Fragment、Activity之间传参问题,如下:

1. /** 
 * 
 发送消息,用于各个组件之间通信 
 * 
 *@param event 消息事件对象 
 */
 public final <EVENT extends BaseEvent> void sendMessage(@NonNull EVENT event) { 
 // 发布事件 EventBus.getDefault().post(event); 
  }

大家可以根据自己的十几需求进行更改,有什么问题可以在下方评论。


目录
相关文章
|
7月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
156 0
|
Android开发
Android Http 请求封装及使用
Android Http 请求封装及使用
238 0
|
前端开发 Android开发 数据安全/隐私保护
安卓MVI架构真的来了?动手试着封装吧(一)上
安卓MVI架构真的来了?动手试着封装吧(一)
305 0
|
7月前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
48 2
|
4月前
|
Android开发 iOS开发
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
46 0
|
4月前
|
编解码 API 开发工具
Android平台轻量级RTSP服务模块二次封装版调用说明
本文介绍了Android平台上轻量级RTSP服务模块的二次封装实践,旨在简化开发流程,让开发者能更专注于业务逻辑。通过`LibPublisherWrapper`类提供的API,可在应用中轻松初始化RTSP服务、配置视频参数(如分辨率、编码类型)、启动与停止RTSP服务及流发布,并获取RTSP会话数量。此外,还展示了如何处理音频和视频数据的采集与推送。最后,文章提供了从启动服务到销毁资源的完整示例,帮助开发者快速集成实时流媒体功能。
|
6月前
|
Android开发 Kotlin
kotlin安卓开发【Jetpack Compose】:封装SnackBarUtil工具类方便使用
GPT-4o 是一个非常智能的模型,比当前的通义千问最新版本在能力上有显著提升。作者让GPT开发一段代码,功能为在 Kotlin 中使用 Jetpack Compose 框架封装一个 Snackbar 工具类,方便调用
|
7月前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
41 2
|
7月前
|
达摩院 安全 Java
80 PM撸代码之Android【武侠讲封装、继承、多态】
80 PM撸代码之Android【武侠讲封装、继承、多态】
49 0