Android基础Activity篇——Intent

1.显式的Intent

intent是用来各各活动之间切换的,还可以用来传递参数。

项目还是使用之前创建的ActivityTest项目,这里新建一个活动SecondActivity.java,并且勾选创建second_layout.xml。

在second_layout.xml。写入代码如下。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/button_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 2"
     />
</LinearLayout>

AS已经自动在AndroidMainfest.xml中自动注册了该活动。

 <activity android:name=".SecondActivity"></activity>

而且也在该活动中自动引入了second_layout.xml的布局。

setContentView(R.layout.second_layout);

2.在FirstActivity中onClick()方法添加代码

 Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
 startActivity(intent);

使用Intent声明并用构造方法创建一个Intent对象。

Intent()构造方法中,有两个参数。第一个是Context,即上下文,第二个是目标活动,Class类。

3.隐式Intent

不明确指定目标活动,而是由系统自行分析,最后响应活动。

4.在AndroidMainfest.xml中添加代码

<activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="com.example.activitytest.ACTION_START"/>  <!--表示该活动可以响应-->
                <category android:name="android.intent.category.DEFAULT"/>      <!--设置类型为默认-->
            </intent-filter>
</activity>

5.修改FirstActivity中按钮的点击事件

 Intent intent=new Intent("com.example.activitytest.ACTION_START");

注意这里Intent构造方法传参的是一个action字符串。

注意:每一个Intet对象只能有一个action,但是可以有多个category。

intent.addCategory("com.example.activitytest.MY_CATEGORY");//通过此方法添加category

注意:只有当action与category都是匹配的,活动才能响应。如果不是程序会崩溃的。

原文地址:https://www.cnblogs.com/Unlimited-Rain/p/8832151.html

时间: 2024-11-13 09:50:10

Android基础Activity篇——Intent的相关文章

【Android基础】利用Intent在Activity之间传递数据

前言: 上一篇文章给大家聊了Intent的使用方法.怎样用Intent启动Activity和隐式Intent.这一篇文章给大家聊聊怎样利用Intent在Activity之间进行沟通. 从一个Activity获取返回结果: 启动一个Activity不不过startActivity(Intent intent)一种方法.你也能够通过startActivityForResult()启动一个Activity而且在它退出的时候收到一个返回结果. 比方.你能够调用系统相机在你的应用中,拍了一张照片,然后返回

Android基础——Activity的状态,创建和结束

注意 onRestart的箭头是弄错了,应该指向onStart MainActivity的布局文件和java代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/

Android基础:Activity

Activity基本概念 Activity代表活动窗口,通过Context加载页面显示内容,每一个Activity都必须在manifest.xml中注册. 一个应用程序由多个界面构成,回退栈,活动窗口,新窗口加入,旧窗口压入栈 继承了Activity的类都包括: onCreate() 方法内部有setContextView(int layoutResID), 会加载资源文件; onPause() 用户离开Activity,系统会自动调用,但是Activity并没有被销毁,在这个生命周期里数据需要

Android基础 -- Activity之间传递数据(bitmap和map对象)

原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符串之类的东东,结果这次卡了好久,折腾了一个下午. 第一个:传递bitmap 这个问题非常奇葩(可能我android水平还不够),居然不会报错,我是直接用bundle或Intent的extral域直接存放bitmap,结果运行时各种宕机,各种界面乱窜(我非常的纳闷)...搜索之后看大家都说不能直接传递

android基础总结篇之五:BroadcastReceiver应用详解

一.概述 broadcastReceiver  顾名思义,广播接收者,他是用来接收来自系统和应用中的广播. 在android系统中,广播体现在方方面面,例如开机完成后,系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能:当网络状态改变时,系统会产生一条广播,接收到这条广播就能及时的作出提示和保存数据等操作:当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等. 什么是广播? 广播,我的理解就是系统中消息的一个变种:就是当一个事件发生时,如系统濡染

Android基础——隐式intent和intent过滤器

当不直接在intent中指定组件名时,就是隐式使用intent,此时要配合过滤器来使用,找到目标的组件 注册文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myintentiii"> <

[Android基础]Activity的生命周期

今天面试被问及了一个问题:Activity A.Activity B,Activity A 被B覆盖的时候,Activity生命周期中哪几个方法被调用了?Activity A.Dialog B对话框覆盖了Activity A,Activity生命周期中哪些方法被调用了?答案等下揭晓: 我们经常使用Activity,也知道Activity的生命周期中有onCreate.onStart.onResume.onPause.onStop.onDestroy.onRestart这些方法,那么这些方法什么时

Android基础UI篇------TextView及其子类

一.TextView 继承自View类,本质上就是一个文本编辑器,只是Android关闭它的编辑功能.把编辑文字的功能交给了它的子类--EditText. 特殊之处: 1.通过设置ellipsize=marquee,可以实现"跑马灯" android:width="wrap_content" android:focusable = "true" android:singleline = "true" android:ellip

Android基础UI篇------六种基本布局

1.线性布局 LinearLayout 常用属性: android:gravity 设置子控件的对齐方式 android:orientation 排列方式 (分为水平排列和垂直排列) android:layout_gravity 设置相对于父控件的对齐方式 android:layout_weight 子控件在布局中所占的权重 !LinearLayout不会换行,所以,如果子控件超出屏幕范围,将不会显示. 2.表格布局 TableLayout 继承自LinearLayout,所以,它的本质依然是线