设计模式 面试整理(五)
1.单列设计模式
就是让一个程序中,对于该对象
只有为一个实现对象
2.适配模式
1.创建
Activity
2.创建布局和item
条目布局
3.初始化集合数据List<info>
,
4.创建内容适配器
。
3.Acitvity
和FragmentAcitvity
对比总结
FragmentAcitvity
继承Acitvity
,用法和
Acitvity
没有太多区别
4.Template
设计模式封装Adapter
好处: Java的抽象类本来就是Template模式, 就是把Adapter
中可以抽取的类在抽取出来
5.Command
监听器Listener
模式的思路
目的: 让我们使用的不同操作来,调用不同的方法体。
在对应的实现类当中,设置
on..Lisener
接口
把控件和控件的事件处理分离开来的一种设计模式。、创建:监听
接口
,设置相应的方
public static interface OnHmClickListener {
public void onHmClick();
}
设置监听器,调用接口当中的方法。
private OnHmClickListener listener;
public void setOnHmClickListener(OnHmClickListener listener) {
this.listener = listener;
}
在当前类当中调用
监听器
当中设置的方法
if (listener != null) {
listener.onHmClick();
}
在创建的对象当中
实现监听器类
,当事件满足时,就会调用该方法。
mybutton.setOnHmClickListener(new OnHmClickListener {
public void onHmClick()
{
//添加相应的方法体。
}
});
5.观察者模式的原理总结
原理和监听器实现的原理差不错。
6.双击返回键退出实现思路
long[] time = new long[2];
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// 按返回键。
if (keyCode == KeyEvent.KEYCODE_BACK)
{
time[0] = time[1];
// 获取到当前系统的时间
time[1] = System.currentTimeMillis();
if (time[1] - time[0] < 2000)
{
finish();
} else
{
Toast.makeText(getApplicationContext(),"在点击一次退出", 0).show();
}
return true;
}
return super.onKeyDown(keyCode, event);
}