热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android开发自学笔记(二):工程文件剖析

这篇文章主要介绍了Android开发自学笔记(二):工程文件剖析,本文讲解了AndroidManifest.xml、src文件夹、res文件夹等文件的作用,需要的朋友可以参考下

无论使用何种IDE开发Android,集成官方Android SDK并创建Android工程之后,该工程都会默认包括一整套Android项目文件,这个工程都可以直接run在你的真机或者模拟器上。

本文主要简单剖析这个默认的完整的一套项目工程的文件结构,这样我们在开发我们自己的项目的时候才能熟练做到有的放矢。

AndroidManifest.xml

这个AndroidManifest.xml文件可谓是整个Android工程的灵魂架构师,它不仅定义了你的Android程序运行时所需的功能特性,同时也定义了该Android程序所需权限以及Android核心组件。

这里简单介绍目前我们所遇到最重要的节点元素之一:

这个节点定义了你的应用的设备兼容性问题,我们都知道Android设备五花八门,但不同的设备都是有Android版本,比如我们常听说的Android2.2, 2.3,平板专用的Android3.0和现在的Android4.x,这些版本都有定义好的SDKVersion,所在这个节点里面我们得指定最小Android版本(android:minSdkVersion)以及目标Android版本(android:targetSdkVersion)这两个属性。所以应该形如:

代码如下:



...

其中最小Android版本指定为8,并且指定目标版本为19,需要注意的是:

1.android:targetSdkVersion应设置尽可能的高,这个属性的作用是当设备的SDK version和指定的目标版本一致,无需设备打开兼容功能;

2.android:minSdkVersion而这个属性则提现了你的应用向下兼容程度,一旦设备的SDK version低于这个数字,则无法安装出现下述错误:

代码如下:

Installing com.example.HelloWorld
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.HelloWorld"
pkg: /data/local/tmp/com.example.HelloWorld
Failure [INSTALL_FAILED_OLDER_SDK]

1.如果不显式指定targetSdkVersion,则默认等同于minSdkVersion;
2.另外,我们有时会看到android:maxSdkVersion,其作用和minSdkVersion相反,这个属性主要体现在Android 1.5, 1.6, 2.0, 和2.0.1中,这些老的系统一旦在做完系统更新时,会重现验证并安装老系统中安装的应用程序,一旦发现maxSdkVersion低于升级之后的新系统,则新系统不予安装这些应用。

src/

src目录,顾名思义存放的是应用程序的源码文件,当然程序在编译之后这个目录就不复存在了,否则源码被人家盗了不是?

res/

res目录是指资源文件resource的存放目录,这个目录包含了一些子目录。

比如存放图片的目录drawable-xxx,在现在的默认环境中,一般有4个类似的目录,分别用来存放不同分辨率的图片(drawable-xhdpi/hdpi/mdpi/ldpi),好的应用为了尽可能多的适配多种不同分辨率的机型,是需要做多套不同分辨率的图片,并分别存放在这4个目录中。

res目录下还有用来存放定义用户界面GUI(应用程序界面)的布局文件,这些布局文件则存放在layout目录下;

另外还有一个用来存放定义变量集的xml的目录,即values,这个目录可以定义颜色和字符串等变量集合。


推荐阅读
  • Servlet过滤器入门:实现与配置
    本文介绍如何在Java Web应用中实现和配置Servlet过滤器,通过实现`javax.servlet.Filter`接口来创建过滤器,并详细说明其在web.xml文件中的配置方法。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了一种根据目标检测结果,从原始XML文件中提取并分析特定类别的方法。通过解析XML文件,筛选出特定类别的图像和标注信息,并保存到新的文件夹中,以便进一步分析和处理。 ... [详细]
  • 烤鸭|本文_Spring之Bean的生命周期详解
    烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 本文将详细介绍如何安装和使用 CactiEZ 的中文版本,帮助那些对英文界面不太熟悉的用户轻松掌握这一强大的网络监控工具。 ... [详细]
  • Win10 UWP 开发技巧:利用 XamlTreeDump 获取 XAML 元素树
    本文介绍如何在 Win10 UWP 开发中使用 XamlTreeDump 库来获取和转换 XAML 元素树为 JSON 字符串,这对于 UI 单元测试非常有用。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
  • 本文介绍了如何在WildFly 10中配置MySQL数据源时遇到的服务依赖问题及其解决方案。 ... [详细]
  • 本文探讨了SSDP(简单服务发现协议)和WSD(Web服务发现)协议,特别是SSDP如何通过固定多播地址239.255.255.250:1900实现局域网内的服务自发现功能。文中还详细介绍了SSDP协议的关键操作类型及其应用场景。 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 唐都温泉花园项目现状分析
    唐都温泉花园项目在总收入接近3.5亿元的情况下,出现了严重的资金管理问题,导致政府支持的经济适用房项目面临停工风险。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
author-avatar
springaccounn
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有