首页编程componentname?android中componentname怎么使用

componentname?android中componentname怎么使用

编程之家2023-11-0667次浏览

朋友们,你是否曾想过深入了解componentname和android中componentname怎么使用的内涵?在本文中,我将为你详细解析这两个话题,希望能给你带来全新的视角和思考。

componentname?android中componentname怎么使用

android中多个intent.setCompontent没用

Intent查找组件策略,其中一种方法就是显示查找,即通过组件名称(Component name)来查找。

Intent的组件名称对象由CompontentName类来封装,组件名称包含包名称和类名称,被声明在AndroidManifest.xml文件中。

组件名称通过setComponent()、setClass()、setClassName()设置,通过getComponent()获得。

MainActivity.java主要代码:

//btn01的点击事件

btn01.setOnClickListener( new OnClickListener(){

componentname?android中componentname怎么使用

@Override

public void onClick(View v){

//实例化组件名称

ComponentName cn= new ComponentName(MainActivity.this,

"com.example.intentdemo.MyActivity");

//实例化Intent

componentname?android中componentname怎么使用

Intent intent= new Intent();

//为Intent设置组件名称属性

intent.setComponent(cn);

//启动activity

startActivity(intent);

}

});

MyAcivity.java主要代码:

tv=(TextView)findViewById(R.id.text01);

//获得Intent

Intent intent= this.getIntent();

//获得组件名称

ComponentName cn= intent.getComponent();

//获得包名称

String packagname= cn.getPackageName();

//获得类名称

String className= cn.getClassName();

//显示

tv.setText(packagname+"====="+ className);

intent的component属性的作用是什么,如何定义此属性

在应用中,我们可以以两种形式来使用Intent:

直接Intent:指定了component属性的Intent(调用setComponent(ComponentName)或者setClass(Context, Class)来指定)。通过指定具体的组件类,通知应用启动对应的组件。

间接Intent:没有指定component属性的Intent。这些Intent需要包含足够的信息,这样系统才能根据这些信息,在在所有的可用组件中,确定满足此Intent的组件。

对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将 Intent映射给可以处理此Intent的Activity、IntentReceiver或Service。

Intent解析机制主要是通过查找已注册在AndroidManifest.xml中的所有IntentFilter及其中定义的Intent,最终找到匹配的Intent。在这个解析过程中,Android是通过Intent的action、type、category这三个属性来进行判断的,判断方法如下:

如果Intent指明定了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不能匹配;如果Intent没有提供type,系统将从data中得到数据类型。和action一样,目标组件的数据类型列表中必须包含Intent的数据类型,否则不能匹配。

如果Intent中的数据不是content:类型的URI,而且Intent也没有明确指定它的type,将根据Intent中数据的scheme(比如 http:或者mailto:)进行匹配。同上,Intent的scheme必须出现在目标组件的scheme列表中。

如果Intent指定了一个或多个category,这些类别必须全部出现在组建的类别列表中。比如Intent中包含了两个类别:LAUNCHER_CATEGORY和 ALTERNATIVE_CATEGORY,解析得到的目标组件必须至少包含这两个类别。

android中componentname怎么使用

component name是控件的名字。

控件是包含在窗体对象中的对象。每种类型的控件都有自己的一组属性、方法和事件,用于相应的特定目的。

在Visual

Basic中使用的控件分为标准控件、ActiveX控件和可插入对象。

工具箱中包含了标准控件,可用于在窗体中绘制控件。工具箱里的每一个按钮代表一种控件,包括指针、图片框、标签、文本框、框架、命令按钮、复选框、单选框、组合框、列表框、水平滚动条、垂直滚动条、计时器、驱动器列表框、目录列表框、文件列表框、几何图形、直线、图像框和数据控件。

单击工具箱中想要添加的控件,把鼠标指针移动到窗体上,指针会变化为十字形,把十字形指针放置在控件的左上角所在的位置,拖动到右下角,这样就会在窗体上绘制出一个矩形,表明控件的实际大小和位置。控件被正确地防治之后,释放鼠标,控件就会进入窗体中的位置。

控件添加到窗体中之后,它还可以被重新摆放位置或缩放大小。要重新设置控件的位置,可以单击选中它,然后拖动到希望的位置。要缩放控件,直接拖动缩放手柄,调整到合适的大小就可以了。

Name属性总是在设计时被设置。在创建控件时,Visual

Basic会给它一个默认的名称,表明了控件的类型,再加一个整数。在应用程序开发的前期修改Name属性是很重要的,因为控件的名称在程序中用来指代控件。如果修改了控件的名称,那么任何其事件里的程序或任何引用了原来的名称的程序,都不会再运行。

好了,文章到此结束,希望可以帮助到大家。

稳定空间?DNF不稳定的空间怎么打郑州app开发 郑州app开发哪家好