Andriod第一行代码(2)——Activity

本文详细介绍了Android中的Activity,包括其作为用户交互界面的角色、主活动的概念、Intent的使用、生命周期以及启动模式。同时,讨论了XML文件在Activity中的应用,如Button和item的配置。此外,还解析了Activity中的关键代码,如findViewById()和setOnClickListener()。实践部分讲解了如何手动创建和注册Activity,以及使用Toast和Menu。最后,提到了Android布局基础知识和常见问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)基础概念

1.Activity

(1)Activity
  Activity是用户进行交互的可视化界面,用户切换屏幕时进行的是Activity的切换,一个完整的占了一个屏幕的页面(可以理解为网站的一个网页)每一个Activity都与一个后台程序相联系,这个JAVA程序可以控制这个页面的启动、展示以及数据等信息,页面上展示的内容可以通过Activity本身的xml文件配置。
(2)主活动
  程序运行时首先启动的活动,没有主活动程序也不能够运行,不知道首先运行哪一个,但是这个程序仍然可以正常安装,只是无法在启动器中看到或者打开这个程序,一般作为第三方服务在其他应用内部进行调用,如支付宝的快捷支付服务。
(3)Intenet
  各个组件之间进行交互的方式。显示的很好理解,隐式的Intent并不明确的指出我们要启动哪个活动,而是指定了一系列更为抽象的action和category,然后交由系统去分析Intent。
<IntentFilter>意图过滤器,隐式的启动系统组件时,根据IntentFilter来筛选出合适的进行启动。
(4)生命周期
a.四种状态:运行状态、暂停状态、停止状态、销毁状态
b.三种生存期:完整生命周期、可见生命期、前台生存期
c.七种回调方法

方法名称方法作用
onCreat()活动第一次被创建时调用,在这个活动中完成初始化操作,加载布局、绑定事件。
onStart()活动由不可见变为可见时调用
onResume()活动准备与用户进行交互时调用,此时的活动位于栈顶,处于运行状态
onPause()启动或者回复另一个活动的时候调用,将一些消耗的CPU资源释放掉,保存一些关键数据
onStop()在活动完全不可见时调用
onDestroy()在活动被销毁之前调用,之后的状态变为销毁状态
onRestart()活动由停止状态变为运行状态之前调用,重新启动

(5)启动模式

启动模式名称使用场景
standard启动一个新的模式每次都会创建一个实例
singleTop会进行初步判断活动是不是在栈顶
singleTask针对任务不在栈顶的情况
singleInstance共享活动实例

2.XML文件

(1)Button
id,长宽,文本信息
(2)item
创建可供选择的菜单项

(二)代码解释

1.Activity中的代码

(1)findViewById()
功能:获取在布局文件中定义的元素。
参数:XML文件中的Id号。
(2)setOnClickListener()
功能:为按钮注册一个监听器,监听onClick的方法;
参数:View v
(3)Toast.makeText(FirstActivity.this,“You clicked Button 1”,Toast.LENGTH_SHORT).show();
功能:小而短的通知提醒信息。
参数:活动,文本,显示时间
(3)getMenuInflater()
功能:得到MeuuInflater对象;
参数:通过哪一个资源文件创建菜单,菜单项添加到哪一个资源文件中。
(4)item.getItemId()
判断点击的是哪一个菜单项,给每个菜单加入自己的处理逻辑。
(5)Intent intent = new Intent()
Intent intent = new Intent(FirstActivity.this,SecondActivity.class)
参数:第一个作为上下文,第二个作为目标活动。
(6)finish()
消除当前活动

2.XML文件

项目中的任何资源都会在R文件中生成一个相应资源的id
(1)Button
id,长宽,文本信息
android:id=“@+id/button_1”
给当前元素定义唯一的标识符,之后就可以在代码中对这个元素进行操作;
@id/button_1 引用一个id;
(2)item
创建可供选择的菜单项

3.Manifest

(1)<data>

配置语句具体内容
andriod:scheme指定数据的协议部分
andriod:host指定 数据的主机部分呢
andriod:port指定数据的端口部分,一般紧随主机名之后
andriod:path主机名和端口之后的部分
andriod:mimepath指定可出口的书u类型

(三)实践应用

1.通用实践

(1)手动创建活动

com.example.activitytest–>New–>Activity–>EmptyActivity

a.选择和没选择的区别 generate layout file
选择自动生成一个对应的布局文件。
b.选择和没选择的区别
会自动将当前活动设置为主活动。
(2)创建和加载布局

app/src/main/res–>New–>Directory(layout)
layout文件夹右键,新建一个布局资源文件

布局方式用XML文件编辑
(3)在AndriodMainfest文件中注册活动
给主活动指定的label不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。

2.具体应用

(1)Toast
  Andriod系统的一种提醒方式,将一些短线的信息通知给用户,消息在一段时间后自动消失。
(2)Meun
  系统中的可以点击弹出的菜单栏。

app/src/main/res–>New–>Directory(menu)
layout文件夹右键,新建Menu resource file
(3)两个Activity之间互相传递数据
(4)点击按钮跳转页面——Intent
打开一个网页;
显示地理位置;
拨打电话号码;

(四)其他

1.相关知识

(1)Android布局基础知识:wrap_content,match_parent,layout_weight
(2)AndroidStudio创建项目时的minimum SDK作用

2.遇到过的问题

(1)更新功能后没有办法直接在APP里进行更新
解决办法File——Setting——Build——Hotswap
(2)解决Android Studio报的警告:Resource IDs will be non-final in Android Gradle Plugin version 5.0
(3)xml如何添加注释? < >内部不能注释
(4)「第一行代码」 activity supporting action_view is not set as browsable

参考书籍
《第一行代码》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值