Android学习心得--关于BaseActivity
2015-02-02 10:36
465 查看
在项目当中构建一个BaseActivity,这个BaseActivity继承了Activity,但是它确实所有项目当中的Activity的parents。在BaseActivity当中可以实现许多继承功能,这个会使项目当中的Activity开发起来更快,不用重复写许多的基础功能,而且封装的很整洁。
我下面就以公司的项目中BaseActivity实现的功能举例:
1,判断网络是否连接上了。
2,注册退出事件监听,在onDestory当中可以使用到
3,设定退出菜单
4,封装一个Toast。
总结:BaseActivity其实可以做许多东西,它很好的体现了面向对象变成的特点,封装,继承,多态等。以后的每个项目都应该先封装一个该内容。
补充:再添加三个抽象函数
我下面就以公司的项目中BaseActivity实现的功能举例:
1,判断网络是否连接上了。
public boolean isGoodNet() { ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkinfo = manager.getActiveNetworkInfo(); if (networkinfo == null || !networkinfo.isAvailable()) { Toast.makeText(this, "网络异常",Toast.LENGTH_SHORT).show(); return false; } return true; }
2,注册退出事件监听,在onDestory当中可以使用到
public void regListener() { exitre = new ExitListenerReceiver(); IntentFilter intentfilter = new IntentFilter(); intentfilter.addAction(this.getPackageName() + "." + "ExitListenerReceiver"); this.registerReceiver(exitre, intentfilter); }
3,设定退出菜单
public void quit(boolean menu) { if (menu) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("退出"); builder.setTitle(getResources().getString(R.string.app_name)); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); System.exit(0); } }); builder.setNegativeButton("取消", null); builder.create().show(); } else { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出" + getResources().getString(R.string.app_name), Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); } } }
4,封装一个Toast。
public final void showMessage(String message) { if(!message.equals("")){ Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); } }
总结:BaseActivity其实可以做许多东西,它很好的体现了面向对象变成的特点,封装,继承,多态等。以后的每个项目都应该先封装一个该内容。
补充:再添加三个抽象函数
<pre name="code" class="java">abstract <span style="font-family: 宋体;">public void getIntentDatas();</span>
abstract <span style="font-family: 宋体;">public</span><span style="font-family: 宋体;"> void initViews();</span>
abstract <span style="font-family: 宋体;">public</span><span style="font-family: 宋体;"> void getDatas();</span>
相关文章推荐
- android学习中关于Textview,Button,EditText,连接的设置,Intent,Activity不同状态等的一系列基础知识点
- Android学习札记39:关于安全退出已创建多个Activity的应用(2)
- Android学习心得(四) 关于Android studio的更新
- android的startActivityForResult学习心得
- android学习心得:error:Warning: Activity not started, its current task has been brought to the front
- 关于文淑大神的BaseRecyclerAdapter的学习心得。。。
- Android学习札记40:关于安全退出已创建多个Activity的应用(3)
- Android(java)学习笔记94:关于广播接收者的注册和使用心得
- 【重头学习Android】 关于Activity生命周期
- 关于Android中保存activity的状态的几点学习笔记
- android学习心得之Activity
- [Android学习系列10]关于Task,Activity,BackStack的一些事
- 【转】android的startActivityForResult学习心得
- Android学习心得(三)关于真机调试后,签名的apk无法安装的问题
- Android学习 -- 《关于Activity》
- 关于android自定义控件的学习心得小结
- android中Activity切换动画学习心得
- Android开发学习笔记(三):关于fragment_main.xml、activity_main.xml与主函数之间的关系
- Android学习札记38:关于安全退出已创建多个Activity的应用(1)