Android开发系列之Android项目的目录结构
今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起。
首先看一下Android项目的目录结构。
这是我随便建立的一个test项目,我们重点关注一下几个方面的内容:
1、src目录:存放Java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity)。由于java要求比较严格,因此要求类名与文件名一致。
2、gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改。里面主要有一个R.java文件,是一个最终类(不能被继承),定义了一系列的静态变量,方便程序员在程序代码中可以直接引用。
3、assets目录:存放文件资源的目录,与res目录不同,资源复制到此文件夹之后不会在R.java中自动产生id,如果需要用到这里面的文件,需要指定路径。
4、bin目录:跟C#一样,存放最终编译好的可执行程序,以及一些必要的文件。比如这里面就有一个classes.dex文件,这是android虚拟机的运行环境(打包好的文件);而apk文件,就是我们可以在android系统中安装的文件。
5、libs目录:存放引用一些jar包的目录。jar文件其实就是一个zip包(可以直接修改后缀名为zip,然后解压缩查看到里面的class文件),类似于C#中的dll文件(jar里面有多个class文件,而dll是一个文件但是里面可以封装多个程序集)。
6、res目录:存放一些资源的目录。比较重要的有layout(布局)目录和values目录。前者存放布局文件(一个Acvitity可以对应多个layout文件),一些按钮、文本框、下拉框、复选框等等这些元素都可以放置在里面,可以理解为存放这些元素的一个容器。而values目录是存放一些键值对的信息,添加后可以在R.java文件中的final class string当中自动生成相应的id,以便程序中通过R.string.id直接引用。其它的比如drawable是存放图片的目录,menu是设置菜单项的地方。
7、AndroidManifest.xml文件:这是一个Android清单文件,所有的Activity都需要在这里面进行注册才能够访问,还可以设置添加权限以及android sdk的版本号等等。
上面简要的介绍了一下Android项目目录结构以及各自的功能,先有个全面基本的认识。
Android开发系列之Android项目的目录结构的更多相关文章
- Android开发系列之系统源码目录
相信大家对于Google给出的那副经典Android架构图非常的熟悉,从下往上依次是Linux内核层(主要是负责硬件管理调度),HAL层(主要是硬件抽象层),libs层+Runtime,Framewo ...
- iOS开发——高级篇——iOS 项目的目录结构
最近闲来无事去面试一下iOS开发,让我感到吃惊的,面试官竟然问怎么分目录结构,还具体问每个子目录的文件名. 目录结构确实非常重要,面试官这么问,无疑是想窥探开发经验.清晰的目录结构,可让人一眼明白相应 ...
- Android开发学习——Android项目的目录结构
Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...
- Android开发之旅2:HelloWorld项目的目录结构
引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Androi ...
- android学习——项目的目录结构
学习开发之前要了解工程目录下的文件夹下文件的用意,是以HelloWorld为例: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件 ...
- Android项目的目录结构 初学者记录
Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...
- Android 开发系列教程之(一)Android基础知识
什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...
- android项目的目录结构讲解
参考书籍:<第一行代码Android> 一:android项目的目录结构讲解 1..gradle和.idea 这两个目录下放置的都是Android Studio自动生成的一 ...
- [译]:Xamarin.Android开发入门——Hello,Android深入理解
返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...
随机推荐
- KeyTweak 键盘按键功能修改
最近一致再用ThinkPad S3,悲剧的是上翻页和下翻页竟然和方向键在一起,经常按错光标不知道去哪里了. 实在忍受不了,竟然有这样的软件,哈哈. KeyTweak,用起来太方便了
- 支持向量机(SVM)算法的matlab的实现
支持向量机(SVM)的matlab的实现 支持向量机是一种分类算法之中的一个,matlab中也有对应的函数来对其进行求解:以下贴一个小例子.这个例子来源于我们实际的项目. clc; clear; N= ...
- 10个你可能从未用过的PHP函数(转)
1. sys_getloadavg() sys_getloadavt()可以获得系统负载情况.该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1.5和15分钟内的平均负载. 与其让服务器 ...
- curl常用的5个例子(转)
我用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等.但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者 ...
- 使用Twisted进行socket编程
你的协议处理类通常是twisted.internet.protocol.Protocol的子类.许多协议处理继承于该类或者比该类更加方便的该类的子类.一个protocol类的实例可能反复连接,也可能在 ...
- WebStorm 6.0下运行pomelo项目
最近想使用WebStorm来写pomelo,初次使用WebStorm,网上找了老半天根本没有介绍WebStorm如何创建或者打开运行pomelo的教程,网易pomelo官网介绍的使用 WebStorm ...
- sessionID和cookie
一.cookie机制和session机制的区别***************************************************************************** ...
- Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
对所有用户有效在/etc/profile增加以下内容.只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 comma ...
- ios 界面间跳转方法总结
接触ios也有一段时间了,偶然间,我们公司的技术总监兼我的导师,问我,你可知道,界面间的跳转有几种方式?我说出了两种,但是也有点含糊其辞,于是我就想一定要找个时间总结一下.有句话说的好,“前人种树,后 ...
- iOS应用程序安全
iOS应用程序安全http://pan.baidu.com/s/1hqDnmXe