android-项目目录的详细介绍
2016-05-22 21:38
435 查看
我们新建了一个helloworld的项目,先看一些目录结构:
一、res目录主要是用来存放android项目的各种资源文件,res就是resource单词的缩写。该目录几乎存放了android应用所用的全部资源,包括:图片资源、字符串资源、颜色资源、尺寸资源,以及布局文件等。不同的文件存放在不同的目录当中,在res目录下面又有下一级目录:
1、layout目录主要是存放布局文件,比如主界面布局文件main.xml就在这里面。我们在页面中加入一个textview控件:
[html] view
plain copy
<TextView
android:id="@+id/show_helloworld"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
2、menu目录主要是存放菜单文件,现在在android开发中使用菜单不是很频繁,比如手机很多软件在点击菜单按钮是弹出来的对话框的布局就是放在这个目录当中。
3、valus目录主要是存放一些数值,比如字符串资源存放在strings.xml中:
[html] view
plain copy
<resources>
<string name="app_name">HelloWorld</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
颜色资源存放中colors.xml中:
[html] view
plain copy
<resources>
<color name="LightOrange">#ff8B7355</color>
<color name="LightWhite">#ffC6E2FF</color>
</resources>
尺寸资源放在dimens.xml文件中:
[html] view
plain copy
<resources>
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
主题样式存放在styles.xml中:
[html] view
plain copy
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
4、图片资源:由于图片资源要考虑到不同分辨率的图片,所以就要把不同的图片放到不同的文件目录中,系统会根据手机分辨率去调用适合的分辨率图片资源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这四个目录分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的图片资源。在实际项目中,我们一般会自己新建一个drawable目录用于存放控件在不同状态实现的不同效果,比如按下、选中、松开等状态。大家可以在实际项目中操作一下。
二、src目录只是一个普通的、存放Java资源文件的目录。一般我们会建很多的包,不同包名下存放不同的java文件,比如:服务、广播、活动等我们区别放。之前的博客手写签名系统系列,我们就做了很详细的区分:
这样可以使项目的架构更加的清晰,无论是后期维护还是前期的开发都更加的方便了。养成这个习惯是非常有必要的。
三、AndroidManifest.xml文件:这是android项目的系统清单文件,也是整个android应用的全局描述文件。清单文件说明了android应用的名称、所使用的图标以及包含的组件等,主要包括:
1、应用程序的包名,该包名将会作为该android应用的唯一标识。
2、应用程序包含的组件,如activity、server、broadcastreceier、contentprovider等,这个就告诉我们在新建一个类继承这些组件时,我们要在清单文件中进行注册一下,否则应用程序在执行时会报错,无法找到相应的类。
3、应用程序兼容的最低版本。
4、应用程序使用系统所要获取的权限,比如你要向sd卡中写入文件就要加入:
[java] view
plain copy
<span style="font-size:18px;"><!--添加读取sd卡的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span>
值得注意的是,相应的权限没有获取,在应用程序执行时会报错或者不执行。android中权限很多,这里就不一一列出了。
5、其他应用程序访问该程序所需要的权限。
项目中除了res、src以及清单文件,我们简单了解一些其他的文件目录:
1、gen目录:保存自动生成的、位于android项目包下的R.java文件。
2、bin:存放自动生成的二进制文件、资源打包文件以及dalvik虚拟机的可执行文件等。
3、libs:存放引用的一些java包,比如第三方的java包。
一、res目录主要是用来存放android项目的各种资源文件,res就是resource单词的缩写。该目录几乎存放了android应用所用的全部资源,包括:图片资源、字符串资源、颜色资源、尺寸资源,以及布局文件等。不同的文件存放在不同的目录当中,在res目录下面又有下一级目录:
1、layout目录主要是存放布局文件,比如主界面布局文件main.xml就在这里面。我们在页面中加入一个textview控件:
[html] view
plain copy
<TextView
android:id="@+id/show_helloworld"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
2、menu目录主要是存放菜单文件,现在在android开发中使用菜单不是很频繁,比如手机很多软件在点击菜单按钮是弹出来的对话框的布局就是放在这个目录当中。
3、valus目录主要是存放一些数值,比如字符串资源存放在strings.xml中:
[html] view
plain copy
<resources>
<string name="app_name">HelloWorld</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
颜色资源存放中colors.xml中:
[html] view
plain copy
<resources>
<color name="LightOrange">#ff8B7355</color>
<color name="LightWhite">#ffC6E2FF</color>
</resources>
尺寸资源放在dimens.xml文件中:
[html] view
plain copy
<resources>
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
主题样式存放在styles.xml中:
[html] view
plain copy
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
4、图片资源:由于图片资源要考虑到不同分辨率的图片,所以就要把不同的图片放到不同的文件目录中,系统会根据手机分辨率去调用适合的分辨率图片资源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这四个目录分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的图片资源。在实际项目中,我们一般会自己新建一个drawable目录用于存放控件在不同状态实现的不同效果,比如按下、选中、松开等状态。大家可以在实际项目中操作一下。
二、src目录只是一个普通的、存放Java资源文件的目录。一般我们会建很多的包,不同包名下存放不同的java文件,比如:服务、广播、活动等我们区别放。之前的博客手写签名系统系列,我们就做了很详细的区分:
这样可以使项目的架构更加的清晰,无论是后期维护还是前期的开发都更加的方便了。养成这个习惯是非常有必要的。
三、AndroidManifest.xml文件:这是android项目的系统清单文件,也是整个android应用的全局描述文件。清单文件说明了android应用的名称、所使用的图标以及包含的组件等,主要包括:
1、应用程序的包名,该包名将会作为该android应用的唯一标识。
2、应用程序包含的组件,如activity、server、broadcastreceier、contentprovider等,这个就告诉我们在新建一个类继承这些组件时,我们要在清单文件中进行注册一下,否则应用程序在执行时会报错,无法找到相应的类。
3、应用程序兼容的最低版本。
4、应用程序使用系统所要获取的权限,比如你要向sd卡中写入文件就要加入:
[java] view
plain copy
<span style="font-size:18px;"><!--添加读取sd卡的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span>
值得注意的是,相应的权限没有获取,在应用程序执行时会报错或者不执行。android中权限很多,这里就不一一列出了。
5、其他应用程序访问该程序所需要的权限。
项目中除了res、src以及清单文件,我们简单了解一些其他的文件目录:
1、gen目录:保存自动生成的、位于android项目包下的R.java文件。
2、bin:存放自动生成的二进制文件、资源打包文件以及dalvik虚拟机的可执行文件等。
3、libs:存放引用的一些java包,比如第三方的java包。
相关文章推荐
- 转载:Android应用的自动更新模块
- 使用Android studio 开发xposed插件
- android状态栏一体化(改变状态栏的背景颜色)
- Android ListView.setEmptyView
- android源码浏览网址
- android:theme 与 setTheme()设置透明效果并不同
- Android View源码解读:浅谈DecorView与ViewRootImpl
- 【黑马Android】(10)绑定的方式调用服务的方法/图片的各种操作/人脸识别
- Android中的类加载器
- Android 定时任务的多种实现方式
- Android的4中启动模式
- 一个刚到此吧的IT新人,第一次发博客,望大家多多指教
- <Android 基础(一)> Service
- <Android 基础(一)> Service
- java/android 设计模式学习笔记(4)---抽象工厂模式
- Android Dynamic Action(动态Action)—像访问网页一样地访问Activity
- 如何“优雅”地给你的类命名
- onMeasure简单方法 完美解决ListView与ScollView冲突问题!
- Android 学习资源[转]
- [深入理解Android卷二 全文-第五章]深入理解PowerManagerService