Android meta作用,Android中meta-data的使用
一、android meta-data 使用详解
android:resource="resourcespecification"
android:value="string" />
这是该元素的基本结构。在AndroidManifest.xml中,元素可以作为子元素,被包含在、、和元素中,但不同的父元素,在应用时读取的方法也不同。
这个名字值是额外的任意的可以提供给父组件的数据。一个组件元素能够包含任意数量的meta-data子元素。它们所有的值都会被收集在Bundle对象中并且使其可以作为组件的 PackageItemInfo.metaData 字段。
一般的值可以通过value属性来指定,但是如果要指定一个资源id作为一个值,那么就要用resource属性来代替。例如:下面的代码就是指定存储在@string/kangaroo资源中的zoo名字。
另一方面,利用resource属性将指定zoo的资源id号,并不是存储在资源中的资源值。
当要给组件提供多个复杂的数据时,在这里并不推荐使用多重meta-data元素,推荐你存储这些数据在一个资源文件中并且利用resource属性来通知它的id给组件。
android:name
元数据项的名字,为了保证这个名字是唯一的,采用java风格的命名规范。例如:
com.example.project.activity.fred
android:resource
资源的一个引用,指定给这个项的值是该资源的id。该id可以通过方法Bundle.getInt()来从meta-data中找到。
android:value
指定给这一项的值。可以作为值来指定的数据类型并且组件用来找回那些值的Bundle方法列在了下面的表中。
获得a meta-data 的值:
Android:name="foo"
android:value="@string/app_name"/>
ActivityInfo activityInfo=activity.getPackageManager()
.getActivityInfo(componentName, PackageManager.GET_META_DATA);
String foo =ai.metaData.getString("foo");
Toast.makeText(this, "meta:"+foo,1).show();
二、android meta-data在不用元素中使用
在AndroidManifest.xml中,元素可以作为子元素,被包含在、、和元素中,但不同的父元素,在应用时读取的方法也不同。
1 :在Activity的应用。
xml代码段:
android:name="myMsg"
android:value="hellomy activity">
java代码段:
ActivityInfo info=this.getPackageManager()
.getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
String msg=info.metaData.getString("myMsg");
System.out.println("myMsg:"+msg);
2:在application的应用。
xml代码段:
android:value="hellomy application"
android:name="myMsg">
java代码段:
ApplicationInfo appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
String msg=appInfo.metaData.getString("myMsg");
System.out.println("myMsg:"+msg);
3:在service的应用。
xml代码段:
android:value="hellomy service"
android:name="myMsg">
java代码段:
ComponentName cn=new ComponentName(this, MetaDataService.class);
ServiceInfo info=this.getPackageManager()
.getServiceInfo(cn, PackageManager.GET_META_DATA);
String msg=info.metaData.getString("myMsg");
System.out.println("myMsg:"+msg);
4: 在receiver的应用。
xml代码段:
android:value="hellomy receiver"
android:name="myMsg">
java代码段:
ComponentName cn=new ComponentName(context, MetaDataReceiver.class);
ActivityInfo info=context.getPackageManager()
.getReceiverInfo(cn, PackageManager.GET_META_DATA);
String msg=info.metaData.getString("myMsg");
System.out.println("myMsg:"+msg);
Android meta作用,Android中meta-data的使用相关推荐
- android intent-filter作用,Android中Intent-Filter的匹配规则是什么
Android中Intent-Filter的匹配规则是什么 发布时间:2020-12-14 15:19:32 来源:亿速云 阅读:67 作者:Leah 今天就跟大家聊聊有关Android中Intent ...
- HTML中可以有多个meta吗,HTML5中meta标签有三个主要属性是什么
HTML5中meta标签有三个主要属性是什么 发布时间:2020-10-22 13:46:11 来源:亿速云 阅读:88 作者:小新 小编给大家分享一下HTML5中meta标签有三个主要属性是什么,相 ...
- android aliasactivity作用,android activity-alias 的作用
activity-alias是android里为了重复使用Activity而设计的. 当在Activity的onCreate()方法里,执行getIntent().getComponent().get ...
- android coreservice作用,android service重启
首先,说一下思路,很简单,启动两个service检测对方,如果发现对方killed,立马启动就可以了.具体实现代码如下 1.先准备两个service,CoreService和DaemonService ...
- android padding作用,android:padding和android:layout_margin的区别
简单点来说: android:padding是内边距,控件本身的内容与控件边缘的距离. android:layout_margin是外边距,控件与其他控件之间的距离. 下面以具体的例子来进行解释: 1 ...
- android contentprovider作用,Android ContentProvider基本使用
一.基本概念: 1.ContentProvider为存储和获取数据提供了统一的接口: 2.使用ContentProvider可以在不同的应用程序之间共享数据: 3.Android为常见的一些数据提供了 ...
- android odex 作用,Android ROM中Odex文件的作用及介绍
细心的网友可能发现Android的ROM中有很多odex文件,相对于 APK中的dex文件而言这个odex有什么作用呢? Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些 ...
- android handler作用,Android中Handler的作用
* Handler的定义: * 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.当应用程序启动时, * Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控 ...
- android 目录作用,Android中各级目录的作用说明
android中各级目录的作用 1>目录结构 1.根目录: src目录---存放源代码文件 gen目录---adt插件生成的文件,(自动生成) assets目录---存放资源文件目录,不会在r. ...
最新文章
- jQuery MD5加密
- python class 属性是什么_python class 的属性
- [php入门] 4、HTML基础入门一篇概览
- html5学习之路_003
- 流量主系列|微信AI人脸转换小程序源码
- 浅析ReentrantLock重入锁
- 站在我个人的角度上来说。。。。。
- 【递归】n个数的全排列
- php at,PHP的at符号
- Registry Size 提示注册表容量不够!
- 【渝粤教育】广东开放大学 财会法规和职业道德 形成性考核 (26)
- github入门到上传本地项目(转)
- R语言大作业(四):上海市、东京 1997-2018 年GDP值分析
- matlab与螺旋桨,基于Matlab的船用螺旋桨计算机实时仿真及GUI设计
- 弱电工程综合布线施工过程控制
- Ubuntu系统上的ImageJ安装和卸载方法
- go1.15版本 mod 报An existing connection was forcibly closed by the remote host错误处理
- 电脑怎么用计算机打开指令,命令提示符怎么用 命令提示符快捷键打开使用技巧详解...
- 张云茹计算机,张云茹 - 重庆理工大学 - 药学与生物工程学院
- 2019年保研夏令营时间经验汇总
热门文章
- python观察日志(part6)--不可变的元祖
- 走近分形与混沌(part10)--用简单的规律来描述复杂的大自然
- 什么是常驻内存式的开发模式?_“直播+”模式下的直播系统开发需要注意什么问题?...
- 这个神奇的库,可以将数据平滑化并找到异常点
- SAP 电商云 Spartacus UI 的自定义 hamburger 菜单
- 关于 Node.js 参数 max-old-space-size
- SAP 电商云 Spartacus UI DeliveryComponent 的依赖设计
- 如何编写第一个 ngrx Effect 类
- 如何在Angular单元测试里,对class protected方法进行测试
- Angular jasmine fixture.detectChanges如何触发directive的set方法