概述

当我们跟随时间的脚步向前挪动的时候,总能发现原来以前的自己做了一些愚蠢的事情。但,不见得以前就是不好的事情。我在以前的博客中写过两种关于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退出程序(二)——利用广播机制

更多相关文章

  1. Android(安卓)Wear - App Structure for Android(安卓)Wear(应用
  2. Android连续点击两次返回键退出App
  3. Android启动之BOOT_COMPLETED广播
  4. Android完全退出程序、线程
  5. Android(安卓)-- 重写android返回键
  6. android双击返回键退出程序
  7. 如何以编程方式退出android应用程序
  8. android双击返回键退出程序
  9. [已解决]mac android studio安装报错java.lang.RuntimeException

随机推荐

  1. android socket io 前篇
  2. Android客户端上传文件,C#服务端接收文件
  3. android 录音 Android 使用AudioRecord录
  4. Android Studio 2.0 Beta 5发布,修复几个
  5. android permission
  6. 几个activity跳转特效的实现
  7. Android下如何获取CPU序列号
  8. Android 密度转换实例
  9. 一个基于ffmpeg的简易视频播放器
  10. Android 获取AndroidManifest.xml文件ver