Activity学习总结

1、什么是activity

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。 Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能。它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的activity(使用ActivityGroup)。activity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道。

2、activity生命周期

生命周期

2.1 七个回调方法

①,onCreate() ————-> 创建
②,onStart()—————->不可见→可见
③,onResume()————>进行交互
④,oPause()—————->启动或者恢复另一个活动
⑤,onStop()—————->可见→不可见
⑥,onDestroy()————>销毁
⑦,onRestart()————->停止→运行
前六个方法成对。

2.2 四种状态

①,运行状态(栈顶,可见,可交互)
onResume()
②,暂停状态(非栈顶,仍可见,不可交互)
onpause()
③,停止状态(非栈顶,不可见,不可交互)
onStop()
④,销毁状态(出栈)

2.3 三个生存期

①,完整生存期
onCreate()和onDestroy()之间
②,可见生存期
onStart() 和 onStop()之间
③,前台生存期
onResume() 和 onPause()之间

3,Activity的启动模式

3.1 四中启动模式

standard,singleTop,singleTask,singleInstance

3.2 设置启动模式

在AndroidManifest.xml 中,

3.3 各种启动模式的特点

standard——默认启动模式,每次都会创建新实例
singleTop——在启动活动时如果发现返回栈的栈顶是该活动,则直接使用,不会创建新活动。
singleTask——每次启动该活动首先会在返回栈中检查是否存在该活动实例,若存在,则直接使用,并把该活动之上的所有活动全部出栈,若不存在,则新建活动。
singleInstance——指定为singInstance模式的活动会启用一个新的返回栈来单独管理这个活动。

4,活动的最佳实践

4.1 判断当前活动对应的是哪一个活动

①,新建BaseActivity继承自Activity;
② , 重写onCreate()方法;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.d("BaseActivity",getclass().getSimpleName());
}

③ , 让所有的活动都继承BaseActivity;
④ , 运行程序,进入相应活动,观察LogCat打印信息。

4.2 启动活动的最佳写法

SecondActivity:
public class SecondActivity extends Activity{
public static void actionStart(Context context,String data1,String data2){
Intent intent = new Intent(context,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
context.startActivity(intent);
 }
}
FirstActivity:
public class Firstctivity extends Activity{
……
button1.setOnClickListener(new OnClickListener){
@Override
public void onClick(View v){
SecondActivity.actionStart(FirstActivity.this,"data1","data2");
}
});
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值