android之Activity
来源:互联网 发布:波波虎网络家庭影院 编辑:程序博客网 时间:2024/06/17 14:17
一、什么是Acitivity
Activities是一个程序的组件之一。它的主要功能是提供界面。
一个程序一般由多个Activity组成,各Activity之间关系很松散,它们之间没有直接的关联。必须有一个Activity被指定为主Activity,它是程序启动时首先显示的界面。每个Activity都可以随意启动其它的Activity。每当一个Activity被启动,则前一个Activity就被停止。一个程序中的所有启动的Activity都被放在一个栈中,所以被停止的Activity并没有销毁,而在存于栈中。新启动的Activity先被存放于栈中,然后获得输入焦点。在当前活动的Activity上点返回键,它被从栈中取出,然后销毁,然后上一个Activity被恢复。
当一个Activity因为新的Activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知Activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。
二、如何创建Activity
1、创建一个Activity类的子类。
2、在清单文件AndroidMainfest的application标签中注册此Acitivity
例、
<activityandroid:name="com.example.myfirstapp.MainActivity"></activity>
如果我们要把新建的Activity作为程序的入口时,那么我们就要在此Acitivity的标签中加入一个intent-fileter标签
例、
<activityandroid:name="com.example.myfirstapp.MainActivity"><intent-filter> <actionname="android.intent.action.MAIN"/> <category name="android.intent.category.LAUNCHER"/> </intent-filter></activity>
android.intent.action.MAIN是说明此Acitivity是程序的入口,android.intent.category.LAUNCHER表示此入口为系统图标或快捷方式启动。
三、为Acitivity添加布局
在res/layout下创建一个xml格式的布局文件,并选定它拥有的布局方式(四种布局方式LinearLayout,RelativeLayout,AbsoluteLayout,FrameLayout,TableLayout)。
然后根据自己的意愿来添加控件(按钮、文本框、输入框等)。
四、从一个Activity启动到另一个Activity
创建一个Intent并指明要从哪个Acitivity跳转到哪个Activity,然后利用startActivity的方法来实现此跳转。
例、
Intent intent_toSecondActivity = new Intent(MainActivity.this,SecondActivity.class);startActivity(intent_toSave);
这样就可以实现由MainAcitivity跳转到SecondActivity。
有时,你可能想从你启动的activity获得其执行后返回的结果。那么我们可以使用startActivityForResult()来启动新的Activity(不再使用startActivity),然后,你的程序还需要定义回调方法onActivityResult()。当新的Activity运行结束时,他把一个intent返回给你的程序,这个intent是在onActivityResult()中被接收的。
例、要实现从MainActivity启动到SecondActivity,返回时使MainActivity刷新数据
MainActivity部分代码:
Public void startScendActivity(){Intent intent = new Intent(MainActivity.this,SecondActivity.this);startActivityForResult(intent,1);}@Override protectedvoid onActivityResult(int requestCode, int resultCode, Intent data) { // super.onActivityResult(requestCode,resultCode, data); //判断请求码 if(requestCode== 1){ //判断结果码 if(resultCode== 2){ //刷新数据 refreshView(); } } }
SecondActivity部分代码:
<span style="font-size:10px;">SetResult(2);Finish();</span>
五、Activity的生命周期
Activity共7个基本的生命周期(onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart)。
onCreate: Activity被创建的时候,做一些数据的初始化工作。
onStart:界面被创建的时候, onStart方法执行完毕后,我们就可以在屏幕上看到界面,此时为用户可见不可操作的状态。
onResume:onResume方法执行完毕后,我们就可以通过屏幕对Activity进行操作了
onPause:Activity被部分遮盖时,变为用户可见但不可操作的状态。
onStop:Activity被完全被遮盖,或退到后台。
onDestroy:这是Activity被kill前最后一个被调用方法了,可能是其他类调用finish方法或者是系统为了节省空间将它结束掉。
onRestart:从onStop状态回到运行状态,需要执行的第一个生命周期。
在一个Activity正常启动过程中,这些方法调用的顺序是onCreate -> onStart -> onResume;在Activity被kill掉的时候方法顺序是onPause -> onStop -> onDestroy,此为一个完整的生命周期。那么对于中断处理(比如电话来了),则是onPause -> onStop,恢复时onRestart->onStart -> onResume;如果当前应用程序的是一个Theme为Translucent(半透明)或者Dialog的Activity那么中断就是onPause ,恢复的时候onResume。
- Android之activity
- Android之Activity 2
- Android 之 Activity 生命周期
- android之activity生命周期
- Android 之 Activity 生命周期
- android 之 Task Activity
- Android之Activity学习
- android组件之Activity
- 精通android之Activity
- Android之Activity
- android 之 Activity lifecycle
- 05.Android之Activity
- Android之Activity
- Android入门之Activity
- Android之Activity组件
- android组件之Activity
- Android之Activity
- Android之Task Activity
- Storm学习(一)Storm介绍
- myeclipse 设置项目层次和新建项目文件夹
- 第3章 局域网络架构简介
- 接受ActiveMQ信息,通过openfire公告发送给指定用户(二)
- Asynctask异步任务详解
- android之Activity
- PDF格式转换器哪里下载好
- 教你快速有效去除win7 64位系统桌面快捷箭头
- 冒泡、选择、插入、归并、希尔、快速排序效率比较代码 .
- Spring3.0实现REST实例
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第四篇)-客户端和服务器端的方法互相调用
- 织梦转移数据提示"dede_advancedsearch' doesn't exist"错误解决方法
- java文件输入输出
- quick-cocos2d-x 在 Mac 下的编译环境(安卓移植)