概述
一、 Activity简介
Activity是Android应用程序的四大组件之一,它负责管理Android应用程序的用户界面。一个应用程序一般会包含若干个Activity,每一个Activity组件负责一个用户界面的展现。
二、Actvity的定义
1、Activity,直译为活动,它是Android定义的四大应用组件之一,也是最重要用得最多的。
2、Activity用来提供一个能让用户操作并与之交互的界面。
3、一个应用有多个界面,也就是包含多个Activity
4、打电话,发短信,拍照,发邮件等功能都是通过Activity来做的
5、Activity是通过调用setContentView()方法来显示指定组件的。该方法既可以接收View对象为参数,也可以接收布局文件对应的资源id为参数。
6、Activity就像一个界面管理员,用户在界面上的操作是通过Activity来管理的, 下面列举几个Activity的常用事件。
onKeyDown(int keyCode,KeyEvent event):对应按键按下事件
onKeyUp(int keyCode,KeyEvent event):对应按键松开事件
onTouchEvent(MotionEvent event):对应点击屏幕事件
三 、Activity的创建
在Android应用中,可以创建一个或多个Activity,创建步骤如下所示:
1)定义一个类继承自android.app.Activity或者其子类;
2) 在res/layout目录中创建一个xml文件,用于创建Activity的布局;
3)在AndroidManifest.xml文件中注册Activity;
4)重写Activity的onCreate()方法,并在该方法中使用setContentView()
加载指定的布局文件;
四、 Activity的生命周期
生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为三种状态。
运行状态:当Activity在屏幕的最前端时,它是可见的、有焦点的。
暂停状态: Activity对用户来说仍然是可见的,但它不再拥有焦点。
停止状态:当Activity完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的。
五、Android下的任务栈
Android系统中的任务栈,类似于一个容器,用于管理所有的
Activity实例。在存放Activity时,满足"先进后出 (First-In/Last-Out) "的原则。
3.2 Activity的启动模式
一、Activity的四种启动模式
1、Activity的启动模式有四种,分别是standard、singleTop、singleTask和singlelnstance。
2、在AndroidManifest.xml中,可以通过标签的android:launchMode属性设置启动模式。
①standard标准模式
standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard模式。
在standard模式下,每当启动一个新的Activity,它就会进入任务栈,
并处于栈顶的位置,对于使用standard模式的Activity,每次启动都会创建一个新的实例。
②singleTop模式
singleTop启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使虏它,不再创建新的实例。
③singleTask模式
当Activity的启动模式为singleTask时,每次启动该Activity时,系统首先套检查栈中是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
④singlelnstance模式
singlelnstance模式加载Activity时,只会创建一个Activity实例,并且会使用一个全新的任务栈来装载该Activity实例。
3.3在Activity中使用Intent
一、 Intent介绍
1、Intent中文翻译为“意图",它是Android程序中各个组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。
2、 Intent一般用于启动Activity、启动服务、发送广播等,承担了Android应用程序三大核心组件相互间的通信功能。
3、Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。
4、对于向这三种组件发送intent有不同的机制:
使用Context.startActivity()或Activity.startActivityForResult(),传入一个intent来启动一个activity。使用Activity.setResult0,传入—个intent来从activity中返回结果。
将intent对象传给Context.startService()来启动一个service或者传消息给一个运行的service。将intent对象传给Context.bindService(来绑定一个service。
将intent对象传给Context.sendBroadcast(),Context.sendOrderedBroadcast(),或者
Context.sendStickyBroadcast()等广播方法,则它们被传给broadcast receiver。
5、Intent启动Activity的方法有:
startActivity (Intent intent)
startActivityForResult (lntent intent,int code)
6、Intent的相关属性:
Intent由以下各个组成部分:
compohent(组件):目的组件
component禹性明确指定Intent的口标组件的类名称。(属于直接Intent)
如果component这个属性有指定的话,将直接使用它指定的组件。指定了这个属性以后,Intent的其它所有属性都是可选的。
action(动作):用来表现意图的行动
在Intent中,Action就是描述做、写等动作的,当你指明了一个Action,执行者就会依照这个动作的指示,接受相关输入,表现对应行为,产生符合的输出。在Intent类中,定义了一批量的动作,比如ACTION_VIEW,ACTION_PICK等,基本涵盖了常用动作。加的动作越多,越精确。
最后
以上就是喜悦奇迹为你收集整理的activity的全部内容,希望文章能够帮你解决activity所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复