Android中Intent的相关用法

Intent第一个用法便是用它来进行活动之间的跳转

新建一个SecondActivity活动,并为之新建一个second_layout.XML布局文件,也创建一个Button按钮,名字为Button 2.然后在AndroidManifest.XML中进行注册。

接下来在FirstAcitivity中重写按钮点击时间

按钮点击事件首先要新建一个按钮监听器,然后在监听器中重写onClick方法.

而onClick方法中便是Intent如何显示跳转活动,即明确规定跳转到哪个活动。先新建一个intent对象,在其中定义好目的之后通过startActivity方法完成活动的跳转。

这样当我们点击FirstActivity活动中的Button 1按钮时,便会跳转到SecongActivity活动中。

Intent还有一种跳转活动的方法,便是 “隐式跳转”,或者说使用隐式intent。

我们先在AndroidManifest.XML文件中为SecondActivity活动进行一定的设置,即设置它能相应什么样的隐式intent。

只有<action>和<category>能够同时匹配Intent中指定的action和category时,SecondActivity这个活动才能够相应该Intent。

其中<category>设定的那个"android.intent.category.DEFAULT"这是默认的category,即如果Intent中没有限制category的条件,便会自动使用这条限制

修改FirstActivity中的onClick()

运行发现点击Button 1按钮可以跳转到 SecondActivity活动上,因为action得到了匹配,而没设置的category被自动设置为默认的,也匹配上了。

如果想设置category,只需要调用intent的addCategory()方法即可。

当然也要设置一个活动能够匹配上这个category,不然便会报错。我们依然设置SecondActivity这个活动

可以发现,程序正常运行且仍然匹配上SecondActivity这个活动了。这说明一个活动是能够具有多个category属性的。

《学习‘第一行代码‘ 2》

时间: 2024-08-26 14:21:37

Android中Intent的相关用法的相关文章

Android中Intent对象与Intent Filter过滤匹配过程详解

如果对Intent不是特别了解,可以参见博文<Android中Intent概述及使用>,该文对本文要使用的action.category以及data都进行了详细介绍. 本文内容有点长,希望大家可以耐心读完. 本文在描述组件在manifest中注册的Intent Filter过滤器时,统一用intent-filter表示. 概述 我们知道,Intent是分两种的:显式Intent和隐式Intent.如果一个Intent明确指定了要启动的组件的完整类名,那么这个Intent就是显式Intent,否

Android中bitmap的相关处理

加载大图片 Options options=new Options(); options.inJustDecodeBounds=true;//不加载图片,只加载文件信息 //加载图片,获取到配置信息 BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/a.jpg",options); int width=options.outWidth;//获取到图片的真是宽度 int height=options.

STL中的Vector相关用法

STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int>是一种数据类型. Vector的存储空间是连续的,list不是连续存储的. 1. 定义和初始化 vector< typeName > v1; //默认v1为空,故下面的赋值是错误的v1[0]=5;//v2是v1的一个副本,若v1.size()>v2.size()则赋值后v2.size()被

android中Handle类的用法

android中Handle类的用法 当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无响应,如果时间过长,程序还会挂掉.Handler就是把这些功能放到一个单独的线程里执行,与Activity互不影响. 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Acitivity没有响应5秒钟以上就会被强制关闭,

三、android中Handle类的用法

当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无响应,如果时间过长,程序还会挂掉.Handler就是把这些功能放到一个单独的线程里执行,与Activity互不影响. 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Acitivity没有响应5秒钟以上就会被强制关闭,因此我们需要另外起动一个线程来处理长耗

Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

[转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个andr

Java中Date各种相关用法

Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须

Android中Intent传递对象的两种方法(Serializable,Parcelable)

今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大 家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个Android工程命名为Object

Android中Intent传递Java对象的方法

Android中Intent传递Java对象有两种方法:一是通过调用Bundle对象的putSerializable(Key,Object)方法[参见示例],另一种是通过调用Bundle对象的putParcelable(Key,Object)方法[参见示例]. 第一种方法要求传递的Java对象实现Serializable接口--Serializable接口是JavaSE特有的接口,采用该种方法实现类的序列化非常简单,声明一下系统会自动将其序列化. 第二种方法要求传递的Java对象实现了Parce