android 在activity中使用intent

 时间:2024-10-16 02:41:15

intent(意图)主要是解决Android应用的各项组件之间的通讯。既然是在各个组件之间进行通讯,就不仅仅代表着act足毂忍珩ivity了.也就是说,intent不仅可以用来启动一个activity,也可以用来发起一个广播、启动一个服务等.intent是意图,既然是意图自然会携带着相关的信息,表达这个intent到底想干嘛。所以,intent会携带着一次操作的动作、动作涉及数据、附加数据等,然后android将会根据这这些信息找到对应的组件,进行相应的处理。比如,启动一个acitivity,intent就会携带着想要启动的那个activity的相关信息,android获取了这些信息,明确了要启动的那个activity,就会去启动它。

工具/原料

eclipse

android开发坏境

一.显示使用intent

1、通过指定Intent组件名称来实现的,一般是在同一个应用程序内部使用的。比如:我知道你的名字叫王XX,我就直接说,王XX过来一下,简单明了。

2、首先,创建一个android项目;然后,增加一个按钮,这个按钮就是用来启动另一个activity的。淌捌釜集XML布局代码如下:<Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="启动另一个activity" />很简单,就是增加一个按钮,这样我们第一个activity就完成了

android 在activity中使用intent

3、然后,创建我们的第二个activity。从零创建一个acitivy需要3个步骤:1)首先要有一个java文件,是我们的acitivy的代码;2)要有一个布局文件XML,然后java文件中会引入这个布局,作为我们第二个activity的布局;3)将这个activity在清单文件中注册。

4、首先是第一步:创建一个新的java文件。直接右击工程/包(package) -->new->class,填写包名package,类名activity2,并点击SuperClass后面的browse..,输入Activity,让新建的这个类继承与此。

android 在activity中使用intent

5、加入如下代码,调用父类的onCreate方法。public class activity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}

android 在activity中使用intent

6、然后是第二步,创建一个XML布局文件。右键res->layout,选择new->android xml file,名称为layout2

android 在activity中使用intent

7、在这个XML中加入一个button按钮

android 在activity中使用intent

8、创建XML成功后,回到刚才的代码中,引入这个布局

android 在activity中使用intent

9、最后,在清单文件中对这个activity进行注册,加入如下代码:<activity android:name="com.example.test.activity2" android:label="@string/app_name" > </activity>到此,第二个activity创建成功

android 在activity中使用intent

10、回到第一个activity,因为在布局中增加了一个按钮,现在我们要使用它。在mainactivity.java中添加对遽牟赓雁按钮的使用,Button b = (Button) findViewById(R.id.button); b.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, activity2.class); startActivity(intent); } });这里,intent就是显示使用,在intent的第一个参数,传入MainActivity.this作为上下文,而第二参数直接指明了我要启动的activity的名字,非常的明确,就是在MainActivity上启动activity2。

android 在activity中使用intent

11、现在把代码运行起来,点击“启动另一个activity”,就可以直接启动第二个activity了

二.使用隐式intent

1、隐式intent相比于显式intent要隐晦的多,显式intent就是直接知道你的名字,直接喊你。但是隐式intent就是不知道你的名字,喊的是特性。比如,你在医院,不知道护士叫什么名字,你就可以喊“那个戴眼镜的年轻的护士”,“那个2楼耳鼻喉专家科室里的那个年轻的实习生”,医院再根据当前上下文,就知道你喊的是谁了。隐式intent就是这样子

2、在清单文件中,更改下activity2的相关内容<activity android:name="com.example.test.act足毂忍珩ivity2" android:label="@string/app_name" > <intent-filter> <action android:name="alsp" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="yinshi" /> </intent-filter> </activity>其中,<category android:name="android.intent.category.DEFAULT" />是必须要加上的,因为启动隐式intent默认的intent就是这个,如果不加上这个,会出错

android 在activity中使用intent

3、更改mainactivity.java中的内容,将显式intent更改为隐式intent。注意,这里不需要单独去匹配android.intent.category.DEFAULT,因为这个是默认的

android 在activity中使用intent
  • 用蒙氏积木怎样拼一座教堂?
  • 标准门诊管理系统的安装教程
  • 阴阳师残局得胜鲸骨鸣最全攻略
  • Palglg法式气质蕾丝连衣裙,独显设计感,内搭外穿都可以
  • 云图计划如何进行基础检索
  • 热门搜索
    关于爱国的手抄报资料 我爱数学手抄报 教师节手抄报内容大全 有关于读书的手抄报 绿色植物手抄报 追逐梦想手抄报 爱国手抄报大全 春节手抄报花边 手抄报之家 讲卫生手抄报