安卓开发复习笔记(二)
探究活动中的要素:
活动(Activity):包含用户界面的组件,主要用于和用户进行交互。
• 手动创建活动

勾选 Generate Layout File 表示会自动为FirstActivity创建一个对应的布局文件。
勾选 Launcher Activity 表示会自动将FirstActivity设置为当前项目的主活动。
勾选 Backwards Compatibility 表示会为项目启用向下兼容的模式,这个要勾选。
创建好之后千万不要忘记!所有新创建的活动都要在Manifest中注册才能生效!

我这里配置了两个Activity,MainActivity作为主活动。
首先我们需要在MainActivity文件中将按键实例,我们经常使用 findViewById() 的方法获取到布局文件中定义的元素
通过传入按键的id值(上面通过android:id定义的id值)即可返回一个View对象,我们需要向下转型将它转成Button对象
,我们需要通过 setOnClickListener() 的方法为按钮注册一个监听器
点击按钮就会执行监听器方法中的 onClick() 方法。

下面我们用按键触发一个Toast。
• 活动中创建Toast
非常好的提醒方式,这些信息会在一段时间后消失,并不会占用任何屏幕空间。
首先需要定义一个Toast 的触发点,就通过上面的按钮触发吧。
通过静态方法 makeText() 创建出一个Toast对象,然后用 show() 将Toast显示出来就好了
•makeText() 传入三个参数:
① Context
也就是Toast要求的上下文,由于活动本身就是一个Context对象,这里直接传入FirstActivity.this 即可。
② 显示的文本内容
③ Toast显示的时长
系统给出了两个内置常量:Toast.LENGTH_SHORT , Toast.LENGTH_LONG


•在活动中使用 Menu
手机和电脑不同,由于它的屏幕空间有限,因此充分利用屏幕中的空间就显得格外重要了。
那么我们在res目录下新建一个名为menu的新文件夹。

然后在menu文件夹下新建一个Menu resourse file。

创建好之后会出现main.xml文件,我们在里面增添两个item

这里我们创建两个菜单项,
android:id 是这个菜单项的唯一标识符
android:title 是这个菜单项指定的一个显示名称。
接下来我们要回到活动中重写菜单中的两个item的创建方法
我们用的是 onCreateOptionsMenu() 方法
函数返回值是boolean, 调取一个Menu参数。

通过getMenuIflater() 的方法能够得到 Menuinflater 对象,在调用它的 inflater() 方法,即可给当前活动创建菜单了。
当然,仅仅让菜单显示出来是不够的,定义菜单不仅仅是为了看,关键是菜单要有功能才行。
因此还要定义菜单响应事件。
我们要在活动中重写 onOptionsItemSeleted() 方法
函数返回值是boolean, 调取一个MenuItem参数。

Menu就写好了。
运行效果:

• 销毁一个活动,Destroy it~~
正常我们日常安卓手机操作时按一下Back键即可完成这个销毁动作
如果是在游戏中,或者其他种种情况,我们需要一个按键来实现销毁。
我们就会使用 finish() 这个方法,该方法是Activity类提供的
• 在活动之间切换
1.使用显式Intent
首先我们创建一个新活动。
修改旧活动的点击事件,代码如下

Intent 是Android程序各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的操作,还可以在不同组件之间传递数据
Intent 一般可以被用在启动活动,启动服务以及发送广播等场景。
Intent有多个构造函数的重载,其中一个是Intent ( Context package Context, Class <?> cls )
这个构造函数接收两个参数:
第一个参数Context要求提供一个启动活动的上下文。
第二个参数Class则是指定想要启动的活动的目标。
这样我们就创造了这样一个“Intent”(意图)。
那么我们接下来怎么把这个意图实现呢。
Activity类中提供了一个 startAcitivity() 方法,这个方法是专门用于启动活动的,它接收一个Intent参数,即可启动。
2.隐式Intent
以后有机会再学习介绍
• 向下一个活动传递数据
Intent还有启动活动时传递数据的作用
Intent中提供了一系列 putExtra() 方法的重载,可以把我们想要传递的数据暂存在Intent中。
启动另一个活动时,把数据从Intent中再取出来就可以了
那么FirstActivity的按键监听中:

SecondActivity中:

得到调试信息:

所以,注意这里使用到的三个方法:
1. putExtra() 方法接收两个参数:第一个是键,用于后面的Intent取值,第二个参数该是真正要传递的数据。
2. getIntent() 方法用于获取到启动本活动的Intent。
3. getStringExtra() 方法,是intent类的方法,输入键值参数即可调取数据。
• 返回数据给上一个活动
与上面不同的是返回上一个活动只需要按一下Back键就可以了
浙公网安备 33010602011771号