学会写BaseActivity

大家有没有遇到一个很头疼的问题,就是在做项目的时候,会写很多的Activity、Fragment,然而这些Activity、Fragment里面又有一些重复的功能,我们只能重复一遍又一遍代码。作为一个android开发者,“不要重复造轮子”这就话就是我们的宗旨,so,怎么解决。。。(废话不多说,代码敲起大笑大笑大笑


这里我们以Activity为例,Fragment同理。首先在项目下面创建一个base包,里面就是存放各种基础类,比如BaseActivity、BaseFragment等。

这里我只是简单的打印了当前实例的类名,当我们以后写新的Activity时,可以直接继承BaseActivity,也就可以知道当前是那个活动在运行。

后续大家可以将BaseActivity写成abstract的,里面写一些常用的方法,之后去继承它就可以了。通过写一些基类,可以让我们的代码结构更清晰,一些重复的方法也进行了封装,代码量相应减少了。废话不多说,赶紧去试试看吧!

BaseActivity是一种通用的基础活动类,在Android中,通常作为所有其他Activity的父类,它封装了一些常见的功能,比如设置主题、管理生命周期、初始化布局等。下面是一个简单的`BaseActivity`示例: ```java public abstract class BaseActivity extends AppCompatActivity { // 标识当前Activity是否已经初始化过View protected boolean isViewInitiated = false; // 所有Activity共用的全局Context protected Context context; // 布局文件ID protected int layoutId = 0; // 初始化视图的方法,一般会在这个方法中加载布局和设置一些默认属性 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = this; // 设置全局Context // 设置主题 setTheme(R.style.BaseAppTheme); // 请替换为你应用的主题资源ID // 初始化布局 if (!isViewInitiated) { setContentView(layoutId); // 加载布局 isViewInitiated = true; // 标记已经初始化 initViews(); // 自定义的初始化视图方法 } // 其他必要的初始化工作,如绑定事件、初始化组件等 // ... init(savedInstanceState); // 子类需要覆盖的初始化方法 } // 子类可以覆盖这个方法来处理特定的初始化操作 protected void init(@Nullable Bundle savedInstanceState) { // ... } // 当Activity因配置改变而重建时调用 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // 更新布局或其他相关设置 } // 省略其他生命周期方法... } ``` 在这个基础类中,你可以根据实际需求添加更多的功能,比如网络请求、设置共享偏好等。每个具体的Activity只需继承这个BaseActivity,并覆盖`init()`方法来完成特定的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值