【发布时间】:2011-02-11 08:30:19
【问题描述】:
谁能用简单的话解释一下Manifest文件的用途和 android 中的 R.java 文件。
为什么我们在制作应用程序时需要这些文件?
【问题讨论】:
-
请继续接受您之前问题的答案...我们希望在 SO 为您提供帮助,所以请花时间奖励那些这样做的人。
谁能用简单的话解释一下Manifest文件的用途和 android 中的 R.java 文件。
为什么我们在制作应用程序时需要这些文件?
【问题讨论】:
检查此链接,
http://developer.android.com/guide/topics/manifest/manifest-intro.html
清单
每个应用程序都必须有一个 AndroidManifest.xml 文件(与 正是那个名字)在它的根 目录。清单呈现 有关的基本信息 应用到安卓系统, 系统必须具备的信息 在它可以运行任何 应用程序代码
R.Java
它将具有我们项目中使用的所有资源的标识符
谢谢。
【讨论】:
清单文件:
- 这是一个声明文件。
- 这里只声明了应该先启动哪个活动。
- 它声明了应用程序必须拥有的权限。
- 它还声明了其他人需要拥有才能进行交互的权限。
- 它声明了 Android API 的最低级别。
- 它列出了应用程序必须链接的库。
- 所有组件都应在此处声明。
- 组件是活动、服务、广播接收器和内容提供者。
R.java 文件:
- 它是由 aapt(Android 资产打包工具)自动生成的文件,其中包含 res/ 目录下所有资源的资源 ID。
- 如果您在activity_main.xml 文件中创建任何组件,则会在此文件中自动创建相应组件的ID。
- 可以在活动源文件中使用此 ID 对组件执行任何操作。
【讨论】:
每个应用程序的根目录中都必须有一个 AndroidManifest.xml 文件(具有该名称)。清单向 Android 系统提供有关应用程序的基本信息,系统必须具备这些信息才能运行任何应用程序的代码。
查看以下链接
http://developer.android.com/guide/topics/manifest/manifest-intro.html
项目的 R.java 文件是文件中定义的所有资源的索引。您在源代码中使用此类作为一种速记方式来引用您已包含在项目中的资源。这对于 Eclipse 等 IDE 的代码完成功能特别强大,因为它可以让您以交互方式快速找到您正在寻找的特定参考。
查看以下链接
http://developer.android.com/resources/tutorials/hello-world.html
【讨论】:
简而言之,Manifest 将应用程序的基本信息提供给 Android 操作系统。
例如,假设您的应用中有一项功能可以扫描 QR 码,该功能要求您的应用访问相机,除非您征得用户同意才能访问他们的手机相机,否则该功能将由运行时权限完成.这些权限需要在Android OS的Manifest文件中定义,才能知道这个应用程序将使用与用户手机相机相关的东西。
【讨论】:
清单声明了操作系统需要了解的有关您的应用程序的任何信息。
您声明操作系统将在您的应用执行时授予它什么权限。
您还将声明有关您的应用的软件包信息。通过这样做,操作系统将知道安装了哪些应用程序。
最后,您将声明您制作的 Foud 应用程序组件(Activity、Service、BroadcstReceiver 和 ContentProvider 类)的自定义实现。
您看,您的应用程序、任何活动和服务都不是您创建的。它们是由操作系统代表您的应用程序通过意图构建的。同样,所有的广播接收器都需要在清单中注册,因此操作系统知道注册了哪些应用程序的接收器来接收广播,因此它会通知它们。最后,所有 ContentProviders 也必须在清单中声明,以便其他应用程序可以注册以获取您的内容提供者提供的内容。
换句话说,您可以在清单中放置操作系统需要了解的有关您的应用的所有信息,以便执行它并管理其组件。事实上,任何你无法通过代码直接访问或声明的东西,都需要操作系统来处理......
【讨论】:
我认为通读 Android Hello World 对您来说是个好主意。
AndroidManifest 和 R.java 都有解释。
【讨论】: