14、从头学Android之机器人的意图之Intent的CompentName
来源:互联网 发布:预算通软件 编辑:程序博客网 时间:2024/05/29 14:28
类层次结构图:
什么是Intent?
Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。可以理解为它是一个信使。当然,也可以将Intent视为一个在不同组件之间仁慈的消息,这个消息在到达接收组件后,接收组件会执行相关的操作。它使得Android系统中互相独立的应用程序组件,成为一个可以互相通信的组件组件集合。因此,无论这些组件是否在同一个应用程序中,Intent 可以将一个组件的数据和动作仁慈给另一个组件
主要常见的用途:1、启动Activity和Service 2、在Android系统上发布广播消息
Intent的组成:
动作:Action
数据:Data
分类:Category
类型:Type
组件:Component
扩展信息:Extra
首先来看Intent的Component属性:
Component可以用来查找组件,我们可以根据setComponent()、setClass()、setClassName()来设置组件的名称。通过getComponet(ComponetName componetName)来获取组件
先来看下ComponetName类:
构造函数:
public ComponentName(String pkg,String cls)
参数说明:
pkg:包名
cls:完整类名
ComponentName componentName = new ComponentName(
"com.jiahui.activity", "com.jiahui.activity.MyActivity");
Intent intent = new Intent();
public ComponentName (Context pkg,String cls)
参数说明:
pkg:应用程序上下文
cls:类名(必须是完整的类名,也就是包名+类名)
ComponentName componentName = new ComponentName(
MainActivity.this, "com.jiahui.activity.MyActivity");
Intent intent = new Intent();
public ComponentName (Context pkg,Class<?> cls)
参数说明:
pkg应用程序上下文
cls:类名
ComponentName componentName = new ComponentName(
MainActivity.this, MyActivity.class);
public ComponentName (Parcel in)
实例:Intent_ComponetDemo
点击按钮跳转到另外一个Activity获取到组件包名称和类名称显示在另外一个Activit里的文本框中
代码:
package com.jiahui.activity; import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button; public class MainActivity extends Activity { private Button myBtn; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myBtn = (Button) findViewById(R.id.myBtn); //注册事件 myBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 通过上下文和类名创建ComponetName ComponentName componentName = new ComponentName( MainActivity.this, MyActivity.class); // 通过包名和类名创建ComponetName // ComponentName componentName = new ComponentName( // "com.jiahui.activity", "com.jiahui.activity.MyActivity"); // Intent intent = new Intent(); // 通过上下文和类名创建ComponetName // ComponentName componentName = new ComponentName( // MainActivity.this, "com.jiahui.activity.MyActivity"); Intent intent = new Intent(); // 通过Intent的setComponet指定组件名称 intent.setComponent(componentName); // 启动Activity startActivity(intent); } }); }}
MyActivity:
package com.jiahui.activity; import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.os.Bundle;import android.widget.EditText; public class MyActivity extends Activity { private EditText myEditText; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.myactivity); myEditText = (EditText) findViewById(R.id.editTxt); Intent intent = this.getIntent();// 获得Intent // 获得组件名称对象 ComponentName componentName = intent.getComponent(); // 获得包名称 String pkgName = componentName.getPackageName(); // 获得类名称 String clsName = componentName.getClassName(); // 显示在文本框中 myEditText.setText("组件包名称" + pkgName + "\n" + "类名称" + clsName); }}
- 14、从头学Android之机器人的意图之Intent的CompentName
- 14、从头学Android之机器人的意图之Intent的CompentName
- 从头学Android之机器人的意图之Intent的CompentName
- 15、从头学Android之机器人的意图之Intent的Action
- 从头学Android之机器人的意图之Intent的Action
- 15、从头学Android之机器人的意图之Intent的Action
- Android之隐式意图(Intent)如何查找匹配的组件
- Android Intent学习之 隐式意图&IntentFilter的作用
- Android之隐式意图(Intent)如何查找匹配的组件
- Android之隐式意图(Intent)如何查找匹配的组件
- Android意图机制之Intent
- 19、从头学Android之Android的数据存储--SharedPreferences
- 20、从头学Android之Android的数据存储--File
- 从头学Android之Android的数据存储--File
- 22、从头学Android之Android的数据存储--SQLite
- 从头学Android之Android的数据存储--SQLite
- 19、从头学Android之Android的数据存储--SharedPreferences
- 从头学Android之Android的数据存储--SharedPreferences
- 基数排序
- Silverlight开发历程--(数据流方向和数据更新通知)
- SDET/测试开发工程师
- Expected build key “Windows msvc release full-config” got “Windows mingw release full-config”
- 优秀博客链接
- 14、从头学Android之机器人的意图之Intent的CompentName
- android中styles的使用
- 一道笔试题,去除首尾空白符,中间若有连续空格则保留一个,若出现换行则保留一个换行
- |myEclipse中代码的修改不起作用
- 你幸福了吗&顺其自然 用尽全力
- BCB 水波效果
- MFC 做不规则对话框
- Drawable资源
- 计算某个文件或文件夹的大小 文件夹内可能含有子文件夹