热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android项目结构目录

下面这篇文章是借鉴别人,另外在别人写作的基础上又加了些自己的理解。在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构:1)src目录顾名

下面这篇文章是借鉴别人,另外在别人写作的基础上又加了些自己的理解。

在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构:

bubuko.com,布布扣

1) src目录

顾名思义,src目录就是为了存放项目源码的,打开src文件夹,会看到一个MainActivity.java源码:

bubuko.com,布布扣

代码如下:

bubuko.com,布布扣

可以知道:我们新建一个简单的HelloWorld项目,系统为我们生成了一个MainActivity.java文件。MainActivity类继承于Activity类,并重载了两个方法,一个是onCreate方法,另一个是onCreateOptionsMenu方法。onCreateOptionsMenu方法默认创建一个菜单,这里不做重点讨论。

android.app.Activity类:因为几乎所有的活动(activities)都是与用户交互的,所以Activity类关注创建窗口。在这里,onCreate方法就是用来初始化你的Activity的,更重要的是,它调用setContentView(View)方法,绑定自己的UI到MainActivity中。这里的UI界面资源就是R.layout.activity_main

2) gen目录

bubuko.com,布布扣

该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。如下图

bubuko.com,布布扣

通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。

3) Android 4.3文件夹和Android Private Libraries文件夹

bubuko.com,布布扣

Android 4.3文件夹中包含了一个android.jar包。这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。

Android Private Libraries 文件夹中包含了第三方JAR包,这个是最新版本的ADT所特有的。它将第三方的JAR包规整到这个文件夹下。

4) Assets文件夹【存放音频类的文件】

包含应用系统需要使用到的诸如mp3、视频类的文件。

5) Res文件夹【存放图片以及布局类文件】

bubuko.com,布布扣

Res文件夹中包含了各种资源文件,并且将他们编译进应用程序。。向此目录添加资源时,会被R.java自动记录。新建一个项目,res目录下会有三个子目录:drawable、layout、values。

drawable-?dpi:包含一些你的应用程序可以用的图标文件(*.png、*.jpg)

layout:界面布局文件(activity_main.xml)与WEB应用中的HTML类同,没修改过的activity_main.xml文件如下:

bubuko.com,布布扣

values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml

6) AndroidManifest.xml文件  【总感觉有点类似IOS中的plist文件】

项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。

Helloworld的AndroidManifest.xml文件如下:

bubuko.com,布布扣

7) Project.properties文件

记录项目中所需要的环境信息,比如Android的版本等。 HelloWorld的Project.properties文件代码如下所示,代码中的注释已经把Project.properties解释得很清楚了:

bubuko.com,布布扣


推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • Spark中使用map或flatMap将DataSet[A]转换为DataSet[B]时Schema变为Binary的问题及解决方案
    本文探讨了在使用Spark的map或flatMap算子将一个数据集转换为另一个数据集时,遇到的Schema变为Binary的问题,并提供了详细的解决方案。 ... [详细]
author-avatar
手机用户2602902855
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有