`
endual
  • 浏览: 3572894 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

AndroidManifest.xml中使用Meta-Data

 
阅读更多

 有时候你有这方面的需要,建立了一些app-wide配置信息在一个android应用程序或需要创建一个类,可以用于多个项目的设置与一个通用的方式配置的价值观。这是特别有用的API钥匙,为事物像在程序可能会不同,但应该是可访问在同样的方式。有几种方法来做这件事,但我是来更喜欢是加入一个元数据节点在AndroidManifest.xml文件。

       这一领域可以用来储存一个布尔值、浮动,智力,或字符串,以后访问的数据类型为你束方法(例如,getInt())。这里是一个例子,如何定义有价值的AndroidManifest.xml:

Java代码:

  1. <?xml version="1.0" encoding="utf-8"?>

  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"

  3. package="com.example.readmetadata"

  4. android:versionCode="1"

  5. android:versionName="1.0">

  6. <application android:icon="@drawable/icon" android:label="@string/app_name">

  7. <activity android:name=".MainMenu" android:label="@string/app_name">

  8. <intent-filter>

  9. <action android:name="android.intent.action.MAIN" />

  10. <category android:name="android.intent.category.LAUNCHER" />

  11. </intent-filter>

  12. </activity>

  13. <meta-data android:name="my_api_key" android:value="mykey123" />

  14. </application>

  15. <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" />

  16. </manifest>
复制代码


       阅读这篇文章的元数据只需要几行Java:

Java代码:

  1. try {

  2. ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);

  3. Bundle bundle = ai.metaData;

  4. String myApiKey = bundle.getString("my_api_key");

  5. } catch (NameNotFoundException e) {

  6. Log.e(TAG, "Failed to load meta-data, NameNotFound: " + e.getMessage());

  7. } catch (NullPointerException e) {

  8. Log.e(TAG, "Failed to load meta-data, NullPointer: " + e.getMessage());

  9. }
复制代码


        ContextWrapper活动延伸,它有一个getPackageManager()方法。 方法的作用是:返回的,这是用于PackageManagerApplicationInfo,传球包名和元数据国旗。 返回的ApplicationInfo包含一个字段、元数据,这是一束所包含的所有元数据。第4行取一个字符串,是相同的:名称“参数”机器人在XML

       那听起来比看上去的复杂,它确实是。基本上,如果你有一个活动,你可以拿你的维管束,元数据从AndroidManifest并使用它在整个应用程序。本人只理解这么些,希望高手多多的指教。这样我也可以更快的进步,进而缩小我和高手的差距。在这里谢谢武林高手了。

分享到:
评论

相关推荐

    meta-data标签的使用

    在Android开发中,`meta-data`标签是AndroidManifest.xml文件中的一个重要组成部分,它允许开发者在应用的配置中存储额外的数据。这些数据可以是字符串、整数或其他任何可以在XML中表示的类型,通常用来保存第三方库...

    Androidmanifest.xml文件分析

    AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的...

    AndroidManifest.xml文件详解

    `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,通常位于项目的根目录下。该文件定义了应用程序的架构和元数据,包括应用程序的基本信息(如包名、版本号等)、组件(如 Activity、Service、...

    Android教程之AndroidManifest.xml

    - **`xmlns:android`**:定义了 Android 命名空间,使得可以在 XML 文件中使用 Android 提供的标准属性。 - **`package`**:指定了应用的 Java 主程序包名,也是应用进程的默认名称。 - **`android:versionCode`*...

    学习笔记之AndroidManifest.xml文件解析.docx

    AndroidManifest.xml 文件是每个 Android 程序中必须的文件,位于整个项目的根目录,描述了 package 中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 一、...

    Android Manifest中meta-data扩展元素数据的配置与获取方式

    在 AndroidManifest.xml 文件中,我们可以看到 `&lt;meta-data&gt;` 元素,它提供了组件额外的数据,可以自定义名称和值。 `&lt;meta-data&gt;` 元素可以包含在 `&lt;activity&gt;`、`&lt;application&gt;`、`&lt;service&gt;` 和 `&lt;receiver&gt;` 等...

    Android实现获取meta-data和build.gradle的值

    有时候会用到meta-data中的参数,比如定义的渠道号,类似友盟统计。也会用到定义在build.gradle文件中android标签下的defaultConfig标签下,添加manifestPlaceholders标签中,有可能也会用到渠道值。 &lt;meta-data...

    Android获取清单文件中的meta-data,解决碰到数值为null的问题

    在AndroidManifest.xml中,meta-data元素可以作为子元素,被包在activity、application、service、receiver元素中。meta-data元素可以用来存储应用程序的配置信息,例如版本号、作者信息等。meta-data元素的格式如下...

    AndroidManifest.xml文件综合详解[整理].pdf

    - `&lt;meta-data&gt;`:附加元数据信息。 - `&lt;activity-alias&gt;`:为Activity创建别名。 - `&lt;service&gt;`:后台运行的组件。 - `&lt;receiver&gt;`:接收广播事件的组件。 - `&lt;provider&gt;`:管理数据并提供给其他应用使用的...

    XposedBridgeApi-82.jar

    AndroidManifest.xml &lt;meta-data android:name="xposedmodule" android:value="true" /&gt; &lt;meta-data android:name="xposeddescription" android:value="..." /&gt; &lt;meta-data android:name=...

    proxycomponent:实现Android Activity的代理机制,可以实现:1. 在AndroidManifest.xml中仅声明一个代理Activity,即可打开多个被代理Activity 2. 被代理Activity可以动态更新,即使用DexClassLoader加载

    简介实现Android Activity的代理机制,可以实现:在AndroidManifest.xml中仅声明一个代理Activity,即可打开多个被代理Activity被代理Activity可以动态更新,即使用DexClassLoader加载的Activity使用方法原派生于...

    SNS开发指南.pdf

    8. 使用meta-data标签在AndroidManifest.xml中存放配置信息。 9. 确保应用具有访问网络的权限。 这些知识点为开发者提供了关于如何使用UMeng Android SDK为应用添加社交网络功能的全面指南,涵盖了从基础到高级的多...

    Java解析APK, AXMLPrinter2.jar

    在APK的AndroidManifest.xml文件中,这两个属性被定义如下: ```xml &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"&gt; ... &lt;application ...&gt; ... &lt;meta-data android:name=...

    Mac下apk渠道检测工具

    在AndroidManifest.xml中,渠道号通常作为`&lt;meta-data&gt;`标签的属性存在,与`android:name`和`android:value`相关联。例如: ```xml &lt;meta-data android:name="渠道号" android:value="channel_name" /&gt; ``` - ...

Global site tag (gtag.js) - Google Analytics