【移动应用开发期末复习】第二章例题

系列文章

第一章------Android平台概述
第一章例题
第二章------Android开发环境



  • A. 在Android项目中,res目录包含了所有的编译过的资源文件,如布局文件、图片、字符串等。这些资源文件在编译后会被R类引用,R类是一个自动生成的类,用于为这些资源提供唯一的ID。
  • B. AndroidManifest.xml文件是Android应用程序的重要配置文件,用于描述应用程序的各种信息,如应用程序的包名、版本号、应用程序的入口Activity、权限要求等。这个文件是开发者手动编写的,而不是由ADT(Android Development Tools)自动生成的。虽然ADT和其他IDE工具可能会提供一些模板或自动填充某些字段的功能,但开发者仍然需要手动编辑这个文件来定义应用程序的特性和行为
  • C. src目录通常包含的是Java源代码文件(.java),而不是已经编译的Java类文件(.class)。这些Java源代码文件包含了应用程序的主要逻辑和功能,当它们被编译时,会生成对应的Java类文件
  • D. assets目录用于存储应用程序需要使用的原始资源文件,如文本文件、音频文件、视频文件等。这些文件在编译时不会被编译成二进制格式,而是以原始的文件格式保留下来 。因此,它们不会被R类引用,而是需要通过其他方式(如AssetManager类)来访问

  • AndroidManifest.xml文件的功能


  • AndroidManifest.xml文件的功能

  • Android的R类是一个自动生成的类,它包含了所有在res目录下定义资源的引用

  • 图片资源分为:


  • @表示引用资源

  • 在Java代码中,你可以通过R.color.color_name_id的方式来访问在配置文件中(通常是res/values/colors.xml)定义的颜色信息。这里color_name_id是你在colors.xml文件中为颜色定义的一个ID
  • A选项R.color.color_name_id是正确的,因为它正确地引用了R类中的color静态内部类,并指定了要访问的颜色ID

  • AVD的全称为Android Virtual Device,即Android运行的虚拟设备 ,是Android的模拟器识别。在Android开发中,为了测试应用程序,开发者经常需要创建AVD来模拟不同的设备和配置。每个AVD上可以配置多种运行项目,如不同的屏幕大小、SDK版本、SD卡大小等
  • B选项DVM(Dalvik Virtual Machine)是Android平台上用于运行应用程序的虚拟机


  • 简称 DVM(Dalvik Virtual Machine),是Android平台上用于运行应用程序的虚拟机

  • raw目录主要用于存放应用程序所用到的原始资源文件,这些文件通常以二进制格式存储 ,且不会被编译成二进制资源文件。这意味着,这些文件将以它们的原始格式(如音频、视频文件)存储在APK中,并且只能通过编程方式访问。例如,音频文件、视频文件等媒体资源可以放在这里
  • values目录用于存放一些简单的值,这些值通常被定义在XML文件中,并以key-value对的形式存在。这些值可以是字符串、颜色、尺寸、数组、主题等,它们通常用于定义UI组件的属性或在代码中引用。例如,你可以在values/strings.xml中定义应用程序中使用的字符串,然后在代码中通过R.string.your_string_id来引用它
  • layout目录用于存放定义应用程序界面布局的文件。这些文件通常以XML格式编写,描述了界面上各个组件的布局和属性。Android系统会根据这些布局文件来渲染应用程序的用户界面。例如,你可以在这里定义按钮、文本框、列表等组件的布局和属性
  • 另外,res/mipmap目录虽然也用于存放图片资源,但它主要是用于存放应用程序的启动图标



  • A、B、C都属于 系统库层,它们本身不是一个应用程序,只是提供相关服务


  • 源代码文件通常是以 .java 或 .kt(Kotlin)为后缀的,它们位于项目的 src/ 目录下
  • 音视频文件通常放在 res/raw/ 或项目的其他位置,并且不是以 .xml 为后缀的



R.java文件是Android开发中自动生成的,它不需要开发者进行手动维护。R.java文件是资源文件的索引类,它包含了项目中所有资源(如布局、字符串、图片等)的ID。当开发者在res文件夹中添加、修改或删除资源文件时,Android开发工具(如Android Studio)会自动重新生成R.java文件,以确保其中包含的资源ID与最新的资源文件保持一致









相关推荐
Calvin88082814 分钟前
Android Studio 的革命性更新:Project Quartz 和 Gemini,开启 AI 开发新时代!
android·人工智能·android studio
敲代码敲到头发茂密2 小时前
【大语言模型】LangChain 核心模块介绍(Memorys)
android·语言模型·langchain
H1003 小时前
重构(二)
android·重构
拓端研究室3 小时前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
zhangphil4 小时前
Android简洁缩放Matrix实现图像马赛克,Kotlin
android·kotlin
m0_512744644 小时前
极客大挑战2024-web-wp(详细)
android·前端
lw向北.4 小时前
Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
android·开发语言·qt
不爱学习的啊Biao4 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
Clockwiseee5 小时前
PHP伪协议总结
android·开发语言·php
mmsx11 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库