Android应用程序文件结构,Android项目文件及应用程序—目录结构详解
1. src目录:是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中。如建立EditView工程,ADT根据用户在工程向导中的“Create Activity”选项,自动建立EditTextActivity.java文件
2.gen目录:是1.5版本之后新增的目录,用来保存ADT自动生成的R.java文件。android.jar文件:是Android程序所能引用的函数库文件,Android通过平台所支持API都包含在这个文件中
3.assets目录:用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能被R.java文件索引。,所以只能以资截流的形式读取。一般情况下为空
4.res目录:是资源目录,有五个子目录用来保存Android程序所有资源。
5.proguard.cfg文件:是Android混淆器,proguard.cfg用来防止程序被反编译,它
也其实就是将变量的名称混淆一下,降低程序的可读性。、
二详细介绍:
2.1AndroidManifest.xml文件简介:
AndroidManifest.xml是XML格式的Android程序声明文件,是全局描述文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等。创建的每个Android项目应用程序必须在根目录下包含一个AndroidManifest.xml工程文件
AndroidManifest.xml文件的代码:
package="com.hisoft"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name">
根据代码介绍:AndroidManifest.xml文件的根元素是manifest,包含了xmlns:android、package、android:versionCode和android:versionName共4个属性:
xmlns:android定义了Android的命名空间,值为http://schemas.android.com/apk/res/android
package定义了应用程序的包名称
android:versionCode定义了应用程序的版本号,是一个整数值,数值越大说明版本越新,但仅在程序内部使用,并不提供给应用程序的使用者
android:versionName定义了应用程序的版本名称,是一个字符串,仅限于为用户提供一个版本标识
manifest元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的四个组成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分
2.2可视化编辑器
双击AndroidManifest.xml文件,直接进入可视化编辑器,如图所示,用户可以直接编辑Android工程的应用程序名称、包名称、图标、标签和许可等相关属性
2.3gen目录 :
R.java文件包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。
Android系统中资源引用有两种方式:一种是在代码中引用资源;另一种是在资源中引用资源
代码中引用资源,需要使用资源的ID,可以通过[R.resource_type.resource_name]或[android.R.resource_type.resource_name]获取资源ID
resource_type代表资源类型,也就是R类中的内部类名称
resource_name代表资源名称,对应资源的文件名或在XML文件中定义的资源名称属性
资源中引用资源,引用格式:@ [package:]type:name
@表示对资源的引用
package是包名称,如果在相同的包,package则可以省略
2.4res目录:
res目录中包含了5个子目录,它们分别是:
drawable-hdpi目录:里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854),默认存放的是icon.png图片
drawable-mdpi目录:里面主要放中等分辨率的图片,如HVGA (320x480) ,默认存放的是icon.png图片
drawable-ldpi目录:里面主要放低分辨率的图片,如QVGA (240x320) ,默认存放的是icon.png图片
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片
layout目录:用来保存与用户界面相关的布局文件,这些布局文件都是XML文件,默认存放的是main.xml文件
valuse目录:保存文件颜色、风格、主题和字符串等,默认存放的是strings.xml文件
main.xml文件,是界面布局文件,利用XML语言描述的用户界面界面布局的相关内容将在后续章节用户界面设计中进行详细介绍。
2.5main.xml文件代码:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_width="match_parent"
android:id="@+id/editText1"
android:hint="这里键入输入内容">
2.6strings.xml文件代码:
EditTextDemo羽哥制作
2.7default.properties文件:
default.properties文件记录Android工程的相关设置,该文件不能手动修改,需右键单击工程名称,选择“Properties”进行修改
在default.properties文件中只有第12行是有效代码,说明Android程序的编译目标。
Android应用程序文件结构,Android项目文件及应用程序—目录结构详解相关推荐
- Android 8.0学习(32)---Android 8.0源码目录结构详解
Android 8.0源码目录结构详解 android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统 ...
- 微信小程序01【目录结构详解、视图与渲染、事件、input、scroll-view】
学习地址:https://www.bilibili.com/video/BV1sx411z77P 笔记01:https://blog.csdn.net/weixin_44949135/article/ ...
- Android开发:程序目录结构详解:activity主要方法等
HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...
- Android源码目录结构详解(转载)
转自:http://blog.csdn.net/xiangjai/article/details/9012387 在学习Android的过程中,学习写应用还好,一开始不用管太多代码,直接调用函数就可以 ...
- 最全的Android源码目录结构详解
Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable ( ...
- Android源码中的目录结构详解
由于自己从事与底层开发,一开始对项目结构不是很清楚,然后就百度找到了源码结构,我觉得讲的很清楚.Android 2.1源码结构 |-- Makefile |-- bionic ...
- Android 8.0.0-r4源码目录结构详解
Android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统,确保内核启动参数和 android 源代码 syste ...
- Android 8源码目录结构详解
|- art // Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性,包括以下目录 |- benchmark // 程序测试基 ...
- android 目录详解,Android源码目录结构详解
Android 4.0 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等 ...
最新文章
- 聊聊linux查看服务和端口状态命令netstat
- C++程序中常用的sprintf
- 【错误记录】Android Studio 编译报错 ( SDK location not found )
- C++程序只允许运行一个实例
- mac 安装php5.6 redis 扩展,centos6.5环境 安装php5.6的redis扩展
- word流程图两条线的端点连接_GitMind免费的思维导图+流程图制作工具
- 米10设置aac格式_Tipard Total Media Converter for Mac(全媒体格式转换器)
- 整数序列(牛客,线段树)
- H.264中POC类型之探讨
- Redis学习---Redis操作之String
- excel空值读不到java里_第一列中的空值是否阻止Pentaho Spoon中的Excel文件导入?
- jsp框架html,GUI构建:[jsp风格的框架通常]对由模板生成的HTML代
- java 通过反射获取数组
- python部署到linux打开ie_Linux上部署python+selenium+webdriver常见问题解决方案
- linux系统剪切,Linux 系统裁剪
- Mysql的可视化工具整理
- 工业软件研究框架_【软件开发】工业软件相关学习信息
- 使用gevent的Pool实现异步并发
- [人生故事] -- 花朵静悄悄地开放
- AVS, 主动突围还是坐等救援?