【KJLibrary框架学习】基于BaseActivity的MyBaseActivity代码和用法
来源:互联网 发布:淘宝客户端for mac 编辑:程序博客网 时间:2024/05/20 17:27
KJLibrary是一个安卓开源框架,封装了各种操作,目的是节约开发成本,实现快速又安全地搭建应用。
废话少说,先贴出代码:
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与添加点击响应事件的繁杂代码,用起来真心带感。
0 0
- 【KJLibrary框架学习】基于BaseActivity的MyBaseActivity代码和用法
- 关于BaseActivity的用法
- Android中BaseActivity的用法
- Android学习笔记--BaseActivity和BaseFragment的再抽取
- BaseActivity和BaseFragment 的封装
- 基于baseActivity的6.0权限封装
- Android 继承BaseActivity的典型用法
- BaseActivity 和 ToolBar 的完美结合
- Android 基于BaseActivity封装
- 基于JavaScript 和 CSS 的 Web 图表框架技术学习
- BaseActivity框架搭建
- BaseActivity框架搭建
- 框架搭建之BaseActivity
- Android BaseActivity App框架设计BaseActivity封装
- <include>标签和BaseActivity联合使用简化代码结构
- 论如何写出优雅的Android代码--------BaseActivity
- 如何创建一个baseActivity,让你的代码更优雅
- 基于微软企业库的分层代码框架
- visual studio2008使用遇到的问题
- 强大的xUtils工具类整理
- javascript 链式栈
- poj 3237 Tree(树链剖分)
- Android添加APP权限
- 【KJLibrary框架学习】基于BaseActivity的MyBaseActivity代码和用法
- LeetCode Partition List
- Android学习笔记【示例代码】
- 索引
- 进程和线程的区别
- 没人比程序员更讨厌软件
- Find Minimum in Rotated Sorted Array
- phpcms v9二次开发及使用中各种问题解决方案(一)
- RTP协议分析