Android退出程序(三)——Android事件总线

概述

  当我们跟随时间的脚步向前挪动的时候,总能发现原来以前的自己做了一些愚蠢的事情。但,不见得以前就是不好的事情。我在以前的博客中写过两种关于Android中如何退出应用程序的方法。近日,我又发现了一个看似高大上的方法,因为作为程序员的你,使用起来会更加方便。它就像是你得心应手的工具,在需要的时候让你有一种,还好有它的感觉。下面我就使用Android事件总线来对Android退出程序作一个说明。


AndroidEventBus简介

  AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码更加简洁,耦合性更低,提升了我们的代码质量。但它能做的却不仅限于这些。


使用说明

需求的jar包:

 android-support-v4.jar

 simple_eventbus.jar

注:以上两个jar包在下面的工程源码下载连接中有包含,大家可以直接前往下载。(PS:当你真的开始使用他们时,你会发现他们是如此的好)


关键代码

BaseActivity.java

public class BaseActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EventBus.getDefault().register(BaseActivity.this);
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(BaseActivity.this);
    }
    
    @Subcriber(tag = "exit_app")
    private void finishApp(String msg) {
        finish();
    }
}

StartActivity.java

public class StartActivity extends BaseActivity {

    private int getLayoutResID() {
        return R.layout.activity_main;
    }
    
    private Button mGoNextButton = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(getLayoutResID());
        
        initEvent();
    }
    
    private void initEvent() {
        initViews();
        
        setViews();
    }
    
    private void initViews() {
        mGoNextButton = (Button) findViewById(R.id.activity_main_go_sample_actviity_a_button);
    }
    
    private void setViews() {
        mGoNextButton.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                startActivity(new Intent(StartActivity.this, SampleAActivity.class));
            }
        });
    }
}

ExitActivity.java

public class ExitActivity extends BaseActivity {

    private int getLayoutResID() {
        return R.layout.activity_exit;
    }
    
    private Button mGoNextButton = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(getLayoutResID());
        
        initEvent();
    }
    
    private void initEvent() {
        initViews();
        
        setViews();
    }
    
    private void initViews() {
        mGoNextButton = (Button) findViewById(R.id.activity_exit_finish_button);
    }
    
    private void setViews() {
        mGoNextButton.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                exitApp();
            }
        });
    }
    
    public void exitApp(){
        EventBus.getDefault().post("", "exit_app");
    }
}


工程源码

http://download.csdn.net/detail/u013761665/8624649


参考连接

Android事件总线还能怎么玩?

相关博文

Android退出程序(一)——单例模式


Android退出程序(二)——利用广播机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值