继承与BaseActivity的抽取
2016-08-10 13:55
369 查看
(未完待续)关于继承的理解:
继承就相当于遗产一样,可以直接拿来用;父类中的东西相当于公有的。
继承的作用:
1、子类继承父类是增强代码复用性和统一性,在写子类的时候不必重复写一些代码。特别是对于BaseActivity中的内容,关于布局、对话框的继承,在BaseActivity中抽取一些公用的东西。
2、父类引用指向子类对象,提高了程序可扩展性,如程序中有Dog d=new Dog();如果什么时候想用猫了改动就比较大了,但是如果Animal
d=new Dog();想用猫就只需要改这一句Animal d=new Cat();,程序后面的方法都不用改。(继承可以实现多态,可把相对具体的对象赋给相对抽象的引用。)
3、父类引用子类是为了使父类拥有更强的功能而不用重写父类方法(因为发现某个子类已经实现了某些功能)。
在BaseActivity中一般抽取和封装哪些东西?
常用对话框、状态栏的颜色改变、后退键、键盘的显示与隐藏、生命周期方法(管理activity)、事件分发、find控件、fragment等
对父类进行多层封装(第一层封装、第二层封装)
软键盘、关于网络的重构
继承就相当于遗产一样,可以直接拿来用;父类中的东西相当于公有的。
继承的作用:
1、子类继承父类是增强代码复用性和统一性,在写子类的时候不必重复写一些代码。特别是对于BaseActivity中的内容,关于布局、对话框的继承,在BaseActivity中抽取一些公用的东西。
2、父类引用指向子类对象,提高了程序可扩展性,如程序中有Dog d=new Dog();如果什么时候想用猫了改动就比较大了,但是如果Animal
d=new Dog();想用猫就只需要改这一句Animal d=new Cat();,程序后面的方法都不用改。(继承可以实现多态,可把相对具体的对象赋给相对抽象的引用。)
3、父类引用子类是为了使父类拥有更强的功能而不用重写父类方法(因为发现某个子类已经实现了某些功能)。
在BaseActivity中一般抽取和封装哪些东西?
常用对话框、状态栏的颜色改变、后退键、键盘的显示与隐藏、生命周期方法(管理activity)、事件分发、find控件、fragment等
对父类进行多层封装(第一层封装、第二层封装)
软键盘、关于网络的重构
package com.example.tuhuadmin.fanxinglei.widget; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.widget.Toast; import com.example.tuhuadmin.fanxinglei.R; import com.example.tuhuadmin.fanxinglei.utils.StatusBarUtil; /** * Created on 2016/8/1. * Author:crs * Description:抽取父类 */ public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStatusBar(); } //设置状态栏的颜色 private void setStatusBar() { StatusBarUtil.setColor(this, getResources().getColor(R.color.color_status_bar)); } //Toast public void showToast(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } //自定义对话框 public void showDialog(Context context, String text) { } //初始化控件 强制类型转化、泛型通配符的使用 protected <T extends View> T findView(int id) { return (T) findViewById(id); } //返回键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } //软键盘的显示与隐藏 //消息机制的抽取 //事件分发的抽取 //生命周期方法中关于Activity的管理 }
相关文章推荐
- 不能继承OrmLiteBaseActivity时,这样获取getHelper
- Android基于4.4以上沉侵式状态栏和继承BaseActivity不用findViewbyid得到控件id
- ## 抽取BaseActivity解放你的titlebar ##
- 布局按钮Activity继承BaseActivity的使用
- 手机安全卫士7----导航页面手势滑动,继承BaseStepActivity
- 直接拿来用,BaseActivity的常用功能的抽取
- Android 继承BaseActivity的典型用法
- 抽取ButterKnife到BaseActivity
- Android短信(baseactivity抽取相同代码块,复用代码,减少工作量)短信管家4
- (一) 抽取Activity基类--BaseActivity
- Activity继承BaseActivity的使用
- 2.抽取代码(BaseActivity)
- Ormlite-不继承OrmLiteBaseActivity使用Ormlite
- android继承BaseActivity
- 自定义继承自ProfileBase的Profile
- 修改Activity的继承类导致程序闪退
- 填充ListView(继承BaseAdapter)
- AppCompatActivity与toolbar的结合,封装BaseActivity
- BaseActivity的应用
- 从头开始敲代码之《从BaseApplication/Activity开始(二)》