文章目录
一、activity概述
Activity
类是Android
应用的关键组件,而Activity
的启动和组合方式则是该平台应用模型的基本组成部分。在编程范式中,应用是通过main()
方法启动的,而Android
系统与此不同,它会调用与其生命周期特定阶段相对应的特定回调方法来启动Activity
实例中的代码。- 移动应用体验与桌面体验的不同之处在于,用户与应用的互动并不总是在同一位置开始,而是经常以不确定的方式开始。例如,如果您从主屏幕打开电子邮件应用,可能会看到电子邮件列表,如果您通过社交媒体应用启动电子邮件应用,则可能会直接进入电子邮件应用的邮件撰写界面。
Activity
类的目的就是促进这种范式的实现。当一个应用调用另一个应用时,调用方应用会调用另一个应用中的Activity
,而不是整个应用。通过这种方式,Activity
充当了应用与用户互动的入口点。您可以将Activity
实现为Activity
类的子类。Activity
提供窗口供应用在其中绘制界面。此窗口通常会填满屏幕,但也可能比屏幕小,并浮动在其他窗口上面。通常,一个Activity
实现应用中的一个屏幕。例如,应用中的一个Activity
实现“偏好设置”屏幕,而另一个Activity
实现“选择照片”屏幕。- 大多数应用包含多个屏幕,这意味着它们包含多个 Activity。通常,应用中的一个
Activity
会被指定为主Activity
,这是用户启动应用时出现的第一个屏幕。然后,每个Activity
可以启动另一个Activity
,以执行不同的操作。例如,一个简单的电子邮件应用中的主Activity
可能会提供显示电子邮件收件箱的屏幕。主Activity
可能会从该屏幕启动其他Activity
,以提供执行写邮件和打开邮件这类任务的屏幕。- 虽然应用中的各个
Activity
协同工作形成统一的用户体验,但每个Activity
与其他 Activity
之间只存在松散的关联,应用内不同Activity
之间的依赖关系通常很小。事实上,Activity
经常会启动属于其他应用的Activity
。例如,浏览器应用可能会启动社交媒体应用的“分享”Activity
。- 要在应用中使用
Activity
,您必须在应用的清单中注册关于Activity
的信息,并且必须适当地管理Activity
的生命周期。
创建自定义activity
- 基于
Empty activity
创建安卓应用Demo1_2
基于普通类创建自定义activity
-
在
net.ls.demo1_2
包中新建一个普通的java类LoginActivity
-
在
res/layout
目录里创建布局文件activity_login供LoginActivity
作为用户界面
-
切换成
code
视图
-
设置线性布局
gravity
和orientation
属性,并且添加一个标签,设置相关属性
-
修改
LoginActivity
,继承AppConpatActivity
-
创建回调方法
onCreate()
,利用布局资源文件设置用户界面
基于模板来创建自定义Activity
-
基于
Empty Activity
模板创建自定义Activity
-
配置
Activity
信息
-
将
activity_register
改成线性布局设置gravity
和orientation
属性,添加添加一个标签,并设置相关属性
注册自定义Activity
-
打开项目清单文件
AndroidManifest.xml
-
只有自己继承
AppCompatActivity
创建的自定义activity
需要注册
-
注册
LoginActivity
-
在
string
中定义变量
-
给项目清单中的
login
和register
添加label
属性
-
查看效果
设置启动窗口
-
将
register
设为启动窗口
-
在元素里添加意图过滤器来设置启动
activity
-
设置为启动窗口的
exported
属性改为true
-
效果
实现窗口跳转
1、在activity_login中设置按钮,并添加id等属性
2、修改registeractivity
3、同上修改activity_login和loginactivity
最终效果