元数据或属性文件中的Android配置?

前端之家收集整理的这篇文章主要介绍了元数据或属性文件中的Android配置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个由开发人员使用的库,我有一个配置项,如apiKey,环境和其他.我想让开发人员设置这些值,我的第一个想法是使用我在应用程序类中加载的 Java属性文件,但是我看到Google Play和Google Map SDK要求开发人员在 Android中的元数据标签添加他们的apiKey表现.推荐的方法是什么?

解决方法

推荐的android方式让用户为您的库定义值
从应用模块是通过元标签

就像在android-manifest上使用这个代码一样简单

<Meta-data android:name="com.yourproject.apikey" android:value="apikey"/>

你可以从这样的图书馆获得这些值

try {
    ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(activity.getPackageName(),PackageManager.GET_Meta_DATA);
    Bundle bundle = applicationInfo.MetaData;
    String apiKey = bundle.getString("com.yourproject.apikey");
} catch (NameNotFoundException e) {
    //Resolve error for not existing Meta-tag,inform the developer about adding his api key
}

这种方法的主要好处是

1)您可以让用户为每个设备类型定义不同的值,例如手机,平板电脑或sdk版本
(这可能不适用于您的情况,但这是一个好点)

2)您可以添加复杂数据作为元标记中的值,
如果要添加一个字符串数组,您可以使用所有要声明的值.

3)由于元标签基本上是一个捆绑包,所以更容易

>在库代码中读取这些值.
>如果用户尚未声明必需,则具有默认值
标签.

(我认为从资产中解析属性需要更多的代码,没有任何很大的优势)

4)您还可以在AndroidManifest上为活动,提供商和广播接收者添加配置元标记.

5)另外,我想,在他的Android Manifest上,请求消费者更容易的添加一些元信息,而不是在他们的资产文件夹中添加一个属性文件.我认为这是主要原因许多已知的库使用这种方法,如google-play-service,google-maps,崩溃报告库和许多提供用户分析的库.

祝你好运

原文链接:https://www.f2er.com/android/313585.html

猜你在找的Android相关文章