【问题标题】:Is it possible to reuse parts of AndroidManifest.xml files?是否可以重用部分 AndroidManifest.xml 文件?
【发布时间】:2018-12-15 16:59:00
【问题描述】:

AndroidManifest.xml 文件中有很多配置。对于许多应用程序,其中一些配置是相同的。例如,访问 7 以上 android 版本的文件提供程序所需的此提供程序:

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="${applicationId}.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/paths"/>
</provider>

这不是特定于应用程序的。希望在某个地方拥有这个 XML 片段,并在许多应用程序中重用它。

我找不到与在许多 AndroidManifest.xml 文件中重用 XML 片段相关的任何内容。我们可以这样做吗?

更新:这个问题与Android Fragments 无关。我说的是 XML 代码块。我正在尝试将 DRY(不要重复自己)原则应用于许多项目中的 AndroidManifest.xml 文件。

【问题讨论】:

  • Manfest 是与应用程序相关的活动.. 恢复的片段应该是布局 xml 中的代码.. 不是清单..
  • 我没有正确回答您的问题。通过片段你想说什么?您是在谈论实际的片段概念还是只是将一些 XML code block(例如提供程序代码块)称为片段?
  • @ItzikSamara @JaydipKalkani 用“片段”表示,他的意思是“部分”。不是 Android 上下文中的片段。
  • @JaydipKalkani,我说的是一些 XML 代码块。我的意思是重用 AndroidManifest.xml 中重复的代码 sn-ps。我说的是跨许多项目的 AndroidManifest 文件的 DRY(不要重复自己)。

标签: android android-manifest dry


【解决方案1】:

我认为没有这样的方法可以不重复 xml 代码块。有一个概念可以让您免于多次编写相同的代码。 Android Studio 会自己做。你只需要写一个小的关键字。这个概念在 android studio 中被称为Live Templates

要创建模板,请转到文件 -> 设置 -> 编辑器 -> 实时模板。然后单击右侧的+ 按钮并选择Live Template。在 Abbreviation 中放入快捷关键字(例如 provider)并将您的代码放入 Template Text 并将 XML 定义为模板上下文。 定义上下文很重要!。就这样!

现在,当您想使用相同的代码时,您可以在 XML 文件中编写缩写(例如提供程序),您的整个 Template Text 代码将被粘贴在那里。

【讨论】:

  • 不错的提示。也许我也会将它用于其他代码 sn-ps。
  • 这与我正在寻找的答案相去甚远。我不是一个不赞成投票的人,但这确实值得一票。我可以简单地将一个简单的文本文件保存在某个地方以用作复制/粘贴的来源,而不是定义模板。当我们坚持 DRY 时,我们并不是在谈论不写东西的懒惰。我们谈论的是它在维护方面带来的质量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2014-09-30
  • 2011-05-14
  • 1970-01-01
  • 2019-02-02
  • 1970-01-01
  • 2016-11-10
相关资源
最近更新 更多