Android 中BaseActivty
Base接口
IBaseActivity
package liu.basedemo.base; /**
* 基类接口
* Created by 刘楠 on 2016/7/28 0028.23:05
*/
public interface IBaseActivity { /**
* 返回视图的布局(setContentView中使用)
* @return 返回视图的布局
*/
int bindLayout(); /**
* 初始化View(onCreate方法中调用)
*/
void initView(); /**
* 初始化数据(onCreate方法中调用)
*/
void initData(); /**
* 初始监听器(onCreate方法中调用)
*/
void initListener(); /**
* 暂停恢复刷新相关操作(onPause方法中调用)
*/
public void pause(); /**
* 暂停恢复刷新相关操作(onResume方法中调用)
*/
public void resume(); /**
* 暂停恢复刷新相关操作(onStop方法中调用)
*/
public void stop(); /**
* 销毁,释放资源等操作在(onDestory方法中谳用)
*/
public void destory();
}
BaseActivity
package liu.basedemo.base; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.Window; import java.lang.ref.WeakReference; import liu.basedemo.MyApplication;
import liu.basedemo.R; /**
* Activity基类
* Created by 刘楠 on 2016/7/28 0028.23:02
*/
public abstract class BaseActivity extends AppCompatActivity implements IBaseActivity { /**
* 全局应用
*/
MyApplication mMyApplication;
/**
* 弱引用
*/
WeakReference<Activity> mTask; @Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(layoutResID);
} @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
/**
* 设置布局
*/ setContentView(bindLayout()); /**
* 抽象方法
*/
initView();
initData();
initListener(); mMyApplication =MyApplication.getInstance();
mTask = new WeakReference<Activity>(this);
/**
* 添加任务栈
*/
mMyApplication.pushTask(mTask);
} @Override
public void pause() {
super.onPause();
} @Override
public void stop() {
super.onStop();
} @Override
public void destory() {
super.onDestroy();
/**
* 过场动画
*/
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right); /**
* 移除任务栈
*/
mMyApplication.removeTask(mTask);
} @Override
public void startActivity(Intent intent) {
super.startActivity(intent);
/**
* 过场动画
*/
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} @Override
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode);
/**
* 过场动画
*/
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}
Android 中BaseActivty的更多相关文章
- Android中的LinearLayout布局
LinearLayout : 线性布局 在一般情况下,当有很多控件需要在一个界面列出来时,我们就可以使用线性布局(LinearLayout)了, 线性布局是按照垂直方向(vertical)或水平方向 ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)
之前的博文<Android中使用ExpandableListView实现好友分组>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信 ...
- Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)
昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...
- Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...
- Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...
- 【月入41万】Mono For Android中使用百度地图SDK
借助于Mono For Android技术,.Net开发者也可以使用自己熟悉的C#语言以及.Net来开发Android应用.由于Mono For Android把Android SDK中绝大部分类库都 ...
- mono for android中使用dapper或petapoco对sqlite进行数据操作
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...
- Android开发学习之路-Android中使用RxJava
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...
随机推荐
- JAVA - IDEA快捷键(精简版)
快捷键 功能 Ctrl + Alt + V 对应eclipse ctrl + l + 2 自动补全 Ctrl + Alt + L 对应eclipse ctrl + shift + o 代码格式化 Ct ...
- 【转载】async & await 的前世今生(Updated)
async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...
- css3飞机起飞进度条
效果:http://hovertree.com/texiao/css3/27/ 源码下载:http://hovertree.com/h/bjaf/pgwql1x2.htm 本效果使用Font Awes ...
- inner join on, left join on, right join on的区别与介绍
Table A aid adate 1 a1 2 a2 3 a3 TableB bid bdate 1 b1 2 b2 4 b4 两个表a,b相连接, ...
- ASP.NET MVC SSO单点登录设计与实现(转载)
实验环境配置 HOST文件配置如下: 127.0.0.1 app.com127.0.0.1 sso.com IIS配置如下: 应用程序池采用.Net Framework 4.0 注意IIS绑定的域名, ...
- MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的?
文章内容 上个章节我们讲到了,可以在HttpModules初始化之前动态添加Route的方式来自定义自己的HttpHandler,最终接管请求的,那MVC是这么实现的么?本章节我们就来分析一下相关的M ...
- OC基础数据类型-NSData-NSMutableData-NSString
NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛.NSData创建后不可以再修改,NSMutableData可以再次修改. 1.NSStrin ...
- jquery内容选择器(匹配包含指定选择器的元素)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 孙鑫MFC学习笔记4:MFC画图
1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4 ...
- XE7 Android 中使用 MessageDlg 范例
MessageDlg('Choose a button:', System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgDlgBtn ...