Android程序的目录结构

article/2025/8/5 3:58:37

Android程序的目录结构 

Android的项目的目录结构,在开始设计程序时,可能感觉不到有多大的用处,

但是随着开发的深入,会涉及到各种类型的文件,项目的目录结构就非常重要了,

你不能把文件乱放,否则系统不会识别到你的文件。

所以,刚开始就对项目的目录机构多了解一点对后面的开发还是有好处的。



  本文将介绍Android应用程序的目录结构。本目录下有如图的目录结构:

 


 

 

下面我们来一 一介绍:

 

(一)Src:该目录中存放的是该项目的源代码

这个目录文件和Java程序的项目是一样的,都是存放程序开发的包和类。


(二)Gen:该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,

实际上该目录下只定义了一个R.java文件,该文件相当于项目的字典,

为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,

当项目中使用这些资源时,会通过该ID得到资源的引用。


(三) Android 5.1.1:该目录中存放的是该项目支持的jar包,

其实就是我们Android开发中能够调用的很多类和方法都在里面。


(四)assets:资源路径,不会在R文件注册。该目录用于存放项目相关的资源文件,

例如文本文件等,在程序中可以使用 “getResources.getAssets().open("text.txt")”

得到资源文件的输入流InputStream对象。


(五)bin:二进制文件,包括class、资源文件、dex、apk等。不需要了解这个。



(六)res:该目录用于存放应用程序中经常使用的资源文件,

其中包括图片、声音、布局文件以及参数描述文件等,

其中包括多个目录。这个文件夹很重要。


     1.其中以drawable开头的文件夹用于图片资源,其中hdpi是默认的图片存储地方,

而其他几个是根据图片大小来确定存放哪个地方。xxhdpi存放最大的图片。


     2.layout文件夹存放的是应用程序的布局文件,这个也是很重要的,我们以后开发的页面布局都在这里


    3.menu:菜单文件夹

     

    4.values存放的则是所有xml格式的资源描述文件,例如:字符串资源的描述文件strings.xml、

样式的描述文件styles.xml、颜色描述文件colors.xml、dimens.xml尺寸描述文件以及数组描述文件arrays.xml等。


    5.raw用于存放应用程序所用到的声音和视频等资源。raw中的文件会被映射到R.java文件中,

访问的时候直接使用资源ID即R.id.filename;相比较assets文件夹下的文件不会被映射到R.java中,

访问的时候需要AssetManager类。

 



(七)AndroidManifest.xml:清单文件,在软件安装的时候被读取。

这个文件是非常重要的,在后面开发中经常会编辑它。


Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)

都需要在该文件中注册程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡。



(八)proguard-project.txt:代码混淆相关文件,这个跟我们开发没什么关系,不用管。


(九) project.properties:工程属性的配置文件,供Eclipse使用,读取该项目使用Android版本号。

也不怎么要管。


  上面比较详细的介绍了,Android项目的工程目录,有的知道存在就可以了,一般不用怎么管,

但是像src文件夹和res文件夹和AndroidManifest文件可以重点去研究一下。


还有一点要注意的是,Android下面的文件夹是不能随意创建的,它的命名都是固定的,

基本上就是上面提到的那些,如果你随意创建,程序运行是识别不到你的文件夹的。



      最后我们介绍一下一个项目做好之后,程序的启动过程:

Eclipse将.java源文件编译成.class;使用dx工具将所有.class文件转换为.dex文件;

再将.dex文件和所有资源打包成.apk文件;将.apk文件安装到虚拟机完成程序安装;

启动程序 – 开启进程 – 开启主线程;创建Activity对象– 执行OnCreate()方法;

按照activity_main.xml文件初始化界面。

这时我们就能看到一个程序的界面了。

 


http://chatgpt.dhexx.cn/article/tfAeaRhd.shtml

相关文章

Android App 架构设计

简介 本文是对谷歌原生文档的翻译,仅供学习参照。 原文链接 此文档写给希望学习最优编程实践和架构以开发健壮、高质量APP的开发者。 开发者常遇到的问题 传统的桌面程序大多数使用场景是有一个启动入口,作为一个独立进程运行。Android app结构要复…

Android 程序框架设计

这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下。欢迎指正。以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议。 1、一些概念 模式的定义: 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述…

3、Android项目结构分析

Android项目结构分析 文章目录 Android项目结构分析一、文件系统结构1、项目配置清单文件夹 manifests2、源程序文件夹Java3、资源程序文件夹res①布局文件夹res/layout②值文件夹res/values③软件设计的国际化④图像文件夹res/drawable⑤声音文件夹res/raw 二、创建多模块三、…

Android | 序列化Serializable/Parcelable 使用总结

本文已同步发表于我的微信公众号,搜索 代码说 即可关注,欢迎与我沟通交流。 文章目录 一、什么是序列化?为什么要序列化?怎么进行序列化?二、Serializable2.1 序列化举例2.2 重写readObject、writeObject、readResolve…

Android应用程序设计——入门配置

第一章:Android简介与项目部署 版权声明: 本文为博主学习整理原创文章,如有不正之处请多多指教。 未经博主允许不得转载。https://mp.csdn.net/postedit/81837814 Android由来Android又称“机器人”,版权归google公司所有。是Google于2007年11月5日宣布的基于Linux平台的…

Android程序设计基础 • 【第1章 Android程序入门】

全部章节 >>>> 本章目录 1.1 Android 平台介绍 1.1.1 Android 简介 1.1.2 Android 平台的发展 1.1.3 Android 平台架构 1.2 搭建 Android 开发环境 1.2.1 下载和配置 Android Studio 1.2.2 初始化配置 Android Studio 1.2.3 配置和使用 Genymotion 模拟器…

Android自动化的一般方法

1 背景 https://mp.weixin.qq.com/s/B7o3JSkYI_9c4RivatsZKQ Android自动化包含自动化测试和第三方App的自动化运行,这里的自动化测试主要指的是纯粹的黑盒测试,即在完全不了解代码逻辑的情况下编写的测试用例,可以代替人工完成重复性的工…

基于Android的点餐系统设计与实现

目 录 摘 要 2 ABSTRACT 3 目 录 1 1 绪 论 1 1.1课题研究背景和意义 1 1.2课题可行性分析 2 1.3论文框架安排 3 2 开发语言说明 4 2.1 开发工具及环境简介 4 2.2 Android系统 5 2.2.1 Android Features特性 5 2.2.2 Android系统的四大组件 6 3 点餐系统分析 8 3.1概述 8 3.1.1…

基于Android的记账本的设计与实现

1.基于Android平台的记账系统概述 记账就是按照生活中的发生的经济活动,及时进行记录,为了便于分析个人消费和各种财务状况等等,通过您的随身会计——记账本APP更易看出资金的流动方向。 本论文采用的是一种可移动的记账方法,由移…

Android设计模式之——模板方法模式

一、介绍 在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但是,某些步骤的具体实现是未知的,或者说某些步骤的实现是会随着环境的变化而改变…

Android程序设计基础

#Android应用程序架构 Android程序的入口被称为Main Activity&#xff0c;带有界面的Android应用程序一般需要从Main Activity启动。 目录结构 Adnroid工程主要包括两个区域&#xff1a;源码区和资源区。 Mainifest.xml 下面是一个标准的AndroidManifest.xml文件样例。 <…

qt如何编写android程序,如何利用Qt开发Android应用程序

Qt 工具箱是一个使用广泛的跨平台GUI工具箱,可用于 Windows、Linux、Mac OSX 和许多手持平台。QT 具有良好结构化(但灵活)的面向对象的结构、清晰的文档以及直观的 API。 Qt最大的优势就是跨平台,一次性开发的Qt应用程序,可以跑Windows、跑linux、跑MAC……如今移动平台Andr…

Android插件化方案实践

一、插件化概述 1、插件化和组件化的区别 组件化是将一个app拆分为多个模块进行协作开发&#xff0c;每个模块都是一个单独的组件&#xff0c;这些组件可以相互依赖&#xff0c;也可以单独调试运行。但是最终发布的时候&#xff0c;这些组件会合并在一起&#xff0c;组成一个整…

Android手机开发课程设计之记事本

一、需求分析 1.1业务需求分析 近年来&#xff0c;随着生活节奏的加快&#xff0c;工作和生活的双重压力全面侵袭着人们&#xff0c;如何避免忘记工作和生活中的诸多事情而造成不良的后果就显得非常重要。为此我们开发一款基于Android系统的简单记事本&#xff0c;其能够便携…

MATLAB图形绘制--添加图例

添加图例 专业的图像总是附有图例来告诉读者曲线表示什么&#xff0c;下面我们将绘制两个表示势能的函数&#xff0c;他们由双曲三角函数sinh(x)和cosh(x)来定义&#xff0c;X的定义域为0&#xff5e;2&#xff0c;首先我们定义X&#xff1a; >> x [0:0.01:2];然后表示…

matlab 图例自定义,matlab中如何自定义图例_常见问题解析

pd接口是什么口_常见问题解析 pd接口也是“Type-C”的接口&#xff0c;支持扩充协议&#xff0c;可以给手机笔记本充电&#xff0c;也可以传输数据&#xff1b;而“Type-C”中的PD的意思指的是“USB Power Delivery”功率传输协议。 matlab中如何自定义图例&#xff1f;Matlab如…

Matlab 画多个图例( Plot multiple legends )

用matlab 画图时&#xff0c;发现线太多&#xff0c;生成的图例&#xff0c;遮盖了曲线。于是想画成多个图例&#xff0c;然后可以自由拖动。 废话不多说&#xff0c;2&#xff09;代码&#xff08;设置多个图例的部分在最后20行&#xff09;&#xff1b; 1&#xff09;效果。 …

matlab之图例legend的数字变量显示

legend是matlab的图例使用函数&#xff0c;其主要的只用方式为legend(内容1,内容2) 本文主要介绍一下legend如何引用数组的数字表现形式。 例如&#xff0c;若想要画一个滤波器的不同反馈系数的频率响应曲线&#xff0c;在设置条例内容时&#xff0c;需要手动输入反馈系数K的数…

MATLAB图例变成一列变多列的方法

小编在绘制GPS数据图像时&#xff0c;发现图例中元素个数有31个&#xff0c;当采用默认生成图例时&#xff0c;只有一列图例&#xff0c;显示结果如下 图例非常难看&#xff0c;而且占位子&#xff0c;如何让图例从一列变成多列呢&#xff1f; 这里小编给大家提供一个思路&…

matlab把图例放在左边,如何将图例放在p之外

如何将图例放在p之外 我有一系列20个图(不是子图)可以在一个图中制作。 我希望传说能够超越盒子。 与此同时,我不想改变轴,因为图形的大小减少了。 请帮助我以下查询: 我想将情节框保留在情节区域之外。 (我希望传说位于情节区域的右侧)。 无论如何,我减少了图例框内文本的…