android学习4:深入理解activity

1、建立,配置和使用Activity
1)建立activity
  • activity对于android的作用类似与Servlet对web。建立自己的activity需要继承activity基类。也可以继承activity的子类。
  • activity何时被实例化,方法何时被调用都是android决定的。
  • 与servlet类似,为了响应用户请求,要实现Activity的方法。
2)配置activity

在元素下添加

3)启动,关闭activity

android通常包含多个activity,但只有一个activity为入口,运行时会自动启动执行activity,一般由入口activity启动其他activity。

  • startActivity(Intent intent):启动其他activity
  • startActivityForResult(Intent intent,int requestCode):指定请求码,启动activity,程序会等到新启动activity的结果(通过重写onActivityResult方法获取)
  • finish():结束当前Activity
  • finish(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity
4)使用Bundle在Activity之间交换数据

一个Activity启动另一个时,会有数据过去,就像Servlet到另一个时,会将数据放稻草requestScope等中。

Activity中只需要将数据放入Intent中。

Intent提供的多个重载方法传递数据:

  • putExxtras(Bundle data):向Intent中放入数据
  • putXXX(String key,xx data):向Bundle放入int ,long等数据
  • putSerializable(String key,Serializable data):向Bundle中放入一个可序列化的对象
  • getXXX(String key):从Bundle取出int,long等各种类型的数据
  • getSerializable(String key,Serializable data):从Bundle取出一个可序列化的对象
5)启动其他Activity并返回结果

startActivityForResult(Intent intent,int requestCode)启动其他acctivity,而且获取指定activity返回的结果。

onActivityResult(int requestCode, int resultCode, Intent intent),其他的requestCode关联调用启动Activity的方法,resultCode关联返回结果的Activity。

2、Activity的回调机制

与servlet类似,activity被开发出来后,只要在AndroidManifest.xml文件配置Activity。

当把这个Servlet部署在Web应用中之后,Web服务器将会在特定的时刻,调用该Servlet上面的各种方法——这种调用就被称为所谓的回调。

3、Activity的生命周期

activity在Android应用中运行的活动状态,以Activity栈的形式管理。当前活动的在栈顶。

1)Activity的生命周期演示

四种状态:

  • 活动状态:当前Activity位于前台,用户可见,可以获得焦点
  • 暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点
  • 停止状态:该Activity不可见,失去焦点
  • 销毁状态:该Activity结束,或Activity所在的Dalvik进程被结束

生命周期中回调的方法:

  • onCreate(Bundle savedSatus):创建Activity时被回调
  • onStart():启动Activity时被回调
  • onRestart():重新启动Activity时被回调
  • onResume():恢复Activity时被回调
  • onPause:暂停Activity时被回调
  • onStop:停止Activity时被回调
  • onDestroy:销毁Activity时被回调
2)Activity与Servlet的相似性与区别

相似:

  • 都是向用户呈现界面
  • 开发都要两者都要继承系统的基类
  • 开发出来都要配置
  • activity运行再Android中,Servlet运行在Web应用中
  • 方法都是系统回调
  • 都有各自的生命周期
  • 都不会直接相互调用,不能直接进行数据交换

区别:

  • activity是Android窗口容器,最终以窗口形式显示,Servlet不会生成应用界面,只是向浏览器生成文本响应
  • Activity的本质是通过各种组件搭建页面,servlet向浏览器生成文本,由浏览器生成
  • Activity跳转由Intent控制,Servlet跳转由用户请求控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值