文章目录

  • 零、学习目标
  • 一、Activity简介
  • 二、创建自定义Activity
    • 1、基于普通类继承AppCompatActivity来创建
    • 2、基于Android Studio的Activity模板来创建
  • 三、注册自定义Activity
    • 1、查看项目清单文件
    • 2、注册LoginActivity
  • 四、设置启动Activity
    • 1、将LoginActivity设置为启动Activity
    • 2、将RegisterActivity设置为启动Activity

零、学习目标

  1. 能说出Activity的作用
  2. 会基于模板创建Activity
  3. 会在项目清单文件里注册Activity
  4. 会在项目清单文件里设置启动Activity

一、Activity简介

  • 官方文档网址:https://developer.android.google.cn/guide/components/activities/intro-activities
  • Activity是安卓四大核心组件之一,主要功能是提供界面,与用户进行交互。
  • 一个程序一般由多个Activity组成,各个activity之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。每个activity都可以随意启动其它的activity。每当一个activity被启动,则前一个activity就被停止。一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。新启动的activity先被存放于栈中,然后获得输入焦点。在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。
  • 当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。

二、创建自定义Activity

  • 创建安卓应用【ActivityOverview】

1、基于普通类继承AppCompatActivity来创建

  • 新建一个普通的Java类
  • 输入类名
  • 给类添加文档注释
  • 创建布局文件activity_login供LoginActivity作为用户界面
  • 设置布局文件名 - activity_login

  • 切换到Code视图
  • 设置线性布局属性,添加一个标签,设置属性
  • 修改LoginActivity,继承AppCompatActivity
  • 创建回调方法onCreate(),利用布局资源文件设置用户界面

2、基于Android Studio的Activity模板来创建

  • 基于Empty Activity模板创建自定义Activity
  • 配置Activity信息

  • 在布局文件里添加一个标签控件

三、注册自定义Activity

1、查看项目清单文件

  • 只有自己继承AppCompatActivity创建的自定义Activity,才需要在项目清单文件里注册。刚才我们创建的LoginActivity就需要我们自己在项目清单文件里注册,而基于模板创建的RegisterActivity,系统已经帮我们注册好了。

2、注册LoginActivity

  • 可以设置LoginActivity的属性
  • 在字符串资源文件strings.xml里定义login变量
  • 再查看项目清单文件
  • 启动应用,查看效果
  • 看到的是MainActivity窗口,如果想启动应用时首先看到的是LoginActivity窗口,那么就要在项目清单文件里将LoginActivity设置为启动Activity(Launcher Activity)。

四、设置启动Activity

  • 通过添加意图过滤器来设置启动Activity

1、将LoginActivity设置为启动Activity

  • 设置意图过滤器
  • 启动应用,查看效果

2、将RegisterActivity设置为启动Activity

  • 设置意图过滤器
  • 启动应用,查看效果
  • 思考题:如果启动的是MainActivity,如何才能跳转到LoginActivity或RegisterActivity呢?

安卓学习笔记05:Activity概述相关推荐

  1. 2020年安卓学习笔记目录

    文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...

  2. 安卓学习笔记07:事件处理、窗口跳转与传递数据

    文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...

  3. JavaScript学习笔记05【高级——DOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  4. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  5. RN学习笔记01:概述、特点与环境搭建

    RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...

  6. 很low的安卓学习笔记(一、实用技巧)

    很low的安卓学习笔记(一.实用技巧) 一.学习了几天的实用技巧小总结: 1.规范的定义内容的格式: 2.一些快捷键 3.将xxx.xml布局改为Activity中可以调用的View视图 4.当左下角 ...

  7. ESP32 单片机学习笔记 - 05 - AP/Smart Config

    ESP32 单片机学习笔记 - 05 - AP/Smart Config 终于把感觉必要的基础外设学完了,开始学esp32的主要特色功能--物联网~~?(大概) 一.WIFI热点 AP模式 编程指南: ...

  8. JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  9. JavaWeb-综合案例(用户信息)-学习笔记05【分页查询功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

最新文章

  1. android 重启后进入安全模式_图文详细教程:台式电脑或笔记本也可以运行Android系统,凤凰OS...
  2. 解决×××无法上网的心得
  3. cmd下,如何在文本的指定行添加内容
  4. iOS开发 -------- AFNetworking使用中遇到的小问题
  5. BufferedInputStream 缓冲区原理解析
  6. MySQL事务及锁机制大揭秘 - 公开课笔记
  7. Objective-C中的@property
  8. 给 asp.net core 写一个简单的健康检查
  9. Coding and Paper Letter(二)
  10. 汇编语言:实验10 根据材料编程—3.数值显示,编程,将data段中的数据以十进制形式显示出来
  11. 编写一个脚本判断某个用户是否处在活动模式_大数据技术之Spark内核解析(二)Spark 部署模式...
  12. hdu 4196(数论)
  13. 凯撒密码及C语言python实现
  14. 图神经网络 图像处理,神经网络图像修复
  15. matlab运行时间特别长,Matlab运行时间过长
  16. 第八周【任务1】神经网络推理加速(笔记)
  17. 微信 openid = hash(uid + app_id) 也就是说,对每个app可以做到用户id唯一
  18. 多重积分的理解以及转动惯量的求解
  19. 顺序栈栈顶指针指向详析
  20. 小白也能看懂的seaborn入门示例

热门文章

  1. 诸多老牌数据仓库厂商当前,Snowflake如何创近12年最大IPO金额
  2. python编译反编译,你不知道的心机与陷阱
  3. Too many open files的四种解决办法
  4. php中购物车功能,php如何实现购物车功能
  5. 微塔式服务器esxi虚拟机黑群晖,ESXi6主机上安装部署黑群晖虚拟机
  6. yolox: AssertionError: Caught AssertionError in DataLoader worker process 0.
  7. Ubuntu18.04上手配置入门指南
  8. java移动接口发短信_天天都会写接口,但它的用途和好处有多少人能说得清楚?...
  9. lan交换和无线教师手册_无线AP组网方式有多种,办公楼的无线覆盖系统的组网方式有哪些?...
  10. 中职学校计算机教学背景,创新网络背景下中职院校计算机教学模式探析