【KJLibrary框架学习】基于BaseActivity的MyBaseActivity代码和用法
2014-10-17 09:34
176 查看
KJLibrary是一个安卓开源框架,封装了各种操作,目的是节约开发成本,实现快速又安全地搭建应用。
废话少说,先贴出代码:
之后的Activity都继承MyBaseActivity,即可实现以下功能:
· 是否允许全屏:
· 是否隐藏ActionBar:
· 修改屏幕显示方向:
· 是否启用返回键监听:
· 跳转到其他Activity并结束本Activity:
· 跳转到其他Activity但不结束本Activity:
· 设置布局【必须】:
· 开启新线程初始化数据【不能操作UI】:
· 在UI线程初始化数据:
· 初始化控件:
· 初始化点击事件:
· 注册广播:
· 注销广播:
以上各方法的调用顺序为:
· 用注解的方式绑定View:
废话少说,先贴出代码:
package com.cvte.walmon.base; import android.content.Context; import android.os.Bundle; import android.widget.Toast; import org.kymjs.aframe.KJLoger; import org.kymjs.aframe.ui.activity.BaseActivity; import cn.jpush.android.api.JPushInterface; /** * Created by SplendourHui on 14-10-14. * 本应用的基类 */ public class MyBaseActivity extends BaseActivity { private static final String TAG = MyBaseActivity.class.getSimpleName(); //全局的Context protected Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initActivity(); mContext = this.getApplicationContext(); } @Override protected void onResume() { super.onResume(); JPushInterface.onResume(this); } @Override protected void onPause() { super.onPause(); JPushInterface.onPause(this); } protected void initActivity() { setAllowFullScreen(false); setHiddenActionBar(true); setScreenOrientation(ScreenOrientation.VERTICAL); setBackListener(true); } @Override public void setRootView() { } /** * Debug输出Log信息 * @param msg */ protected void debugLog(String msg) { KJLoger.debugLog(TAG, msg); } /** * 长时间显示Toast提示(来自String) * @param message */ protected void showToast(String message) { Toast.makeText(mContext, message, Toast.LENGTH_LONG).show(); } /** * 长时间显示Toast提示(来自res) * @param resId */ protected void showToast(int resId) { Toast.makeText(mContext, getString(resId), Toast.LENGTH_LONG).show(); } /** * 短暂显示Toast提示(来自res) * @param resId */ protected void showShortToast(int resId) { Toast.makeText(mContext, getString(resId), Toast.LENGTH_SHORT).show(); } /** * 短暂显示Toast提示(来自String) * @param text */ protected void showShortToast(String text) { Toast.makeText(mContext, text, Toast.LENGTH_SHORT).show(); } }
之后的Activity都继承MyBaseActivity,即可实现以下功能:
· 是否允许全屏:
public void setAllowFullScreen(boolean allowFullScreen)
· 是否隐藏ActionBar:
public void setHiddenActionBar(boolean hiddenActionBar)
· 修改屏幕显示方向:
public void setScreenOrientation(ScreenOrientation orientation)
· 是否启用返回键监听:
public void setBackListener(boolean openBackListener)
· 跳转到其他Activity并结束本Activity:
public void skipActivity(Activity aty, Class<?> cls) public void skipActivity(Activity aty, Intent it) public void skipActivity(Activity aty, Class<?> cls, Bundle extras)
· 跳转到其他Activity但不结束本Activity:
public void showActivity(Activity aty, Class<?> cls) public void showActivity(Activity aty, Intent it) public void showActivity(Activity aty, Class<?> cls, Bundle extras)
· 设置布局【必须】:
void setRootView()
· 开启新线程初始化数据【不能操作UI】:
protected void initDataFromThread()
· 在UI线程初始化数据:
protected void initData()
· 初始化控件:
protected void initWidget()
· 初始化点击事件:
public void widgetClick(View v)
· 注册广播:
registerBroadcast();
· 注销广播:
unRegisterBroadcast();
以上各方法的调用顺序为:
setContent(); initDataFromThread(); initData(); initWidget(); registerBroadcast(); unRegisterBroadcast();
· 用注解的方式绑定View:
@BindView(id = R.id.edittext) private EditText mEtText; @BindView(id = R.id.button, click = true) private Button mBtn;这种方法省去了寻找View与添加点击响应事件的繁杂代码,用起来真心带感。
相关文章推荐
- 如何减少基于DataSet框架的代码输入量(三)
- NetTier模板生成的代码框架用法 (转)
- 一个基于jQuery ajax和.net httphandler 的超轻异步框架,千行代码完成。
- 基于ExtJs框架实现高级查询界面的代码
- 正式学习bootloader,基于u-boot1.1.4(启动流程框架)
- 如何减少基于DataSet框架的代码输入量(一)
- 基于微软企业库的分层代码框架
- 5DG'S OpenGL学习01--简单框架代码
- 基于JavaScript 和 CSS 的 Web 图表框架技术学习
- AJAXPro用法,关于JS同步和异步调用后台代码的学习
- NetTier模板生成的代码框架用法
- [技术学习]基于MSXML实现DOM操作的VC++代码
- NetTier模板生成的代码框架用法
- 通过代码学REST之二——Restlet框架学习
- MonoRail学习笔记二:框架代码下载
- CodeSmith NetTier模板生成的代码框架用法 (转)
- 转:NetTier模板生成的代码框架用法
- 动易的SiteFactory RC 已经发布了,基于.NET 2.0实现的,代码没加密,故建群聚有兴趣的来一起学习 QQ群号:19452522
- 正式学习bootloader,基于u-boot1.1.4(启动流程框架)
- 基于mootools 1.3框架下的图片滑动效果代码