Android 学习笔记二:Android项目的结构
来源:互联网 发布:算法与并行计算 编辑:程序博客网 时间:2024/06/05 14:28
前面我们创建了一个Android 应用,下面我们看一下生成的一大堆东西到底是什么。
根目录下的gradle什么的先不管,那是构建打包用的。主要看 src/main
目录下的三个文件/目录
- AndroidManifest.xml 这是整个Android项目的配置文件,也是整个应用的启动入口
- java,顾名思义,这里是所有的java代码的存放地
- res,所有的资源文件,包括图片,UI配置等
AndroidManifest.xml
顾名思义,这是整个应用的描述文件,那么具体描述了什么呢。我们看一下整个代码:
java
所有的java代码都放在这里,忽略测试,现在只有一个文件 MainActivity.java
:
public class MainActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item);}
}
其中一个重要的函数就是 onCreate
,当这个Activity被创建的时候会调用这个函数,它通过 setContentView(R.layout.activity_main)
来显示我们在 activity_main.xml
中定义的一个activity。 另外两个是和点击以及创建工具栏菜单相关的函数。
虽然现在很简单,但是一个稍微复杂的应用会包含几十几百个java文件,从调用后端接口到操作用户界面相关的代码都在这里,所以以后这里的结构会变得比较复杂,一般至少会划分成数据层和视图层,即MV结构,或者数据+视图+界面的 MVP结构 等。
res
这个目录存放所有的资源文件,下面主要有如下几个子目录:
- anim, 动画定义,比如
slide-left-right.xml
中定义一个左右滑动的动画 - color 颜色定义
- drawable 主要是图片
- layout 通过XML配置的UI组件,尽量通过配置而不是Java来写界面
- menu 菜单的定义
- mipmap-xx 等存放各种不同尺寸的图片,对应不同的手机屏幕大小。
- values 这种键值对,最重要的就是前面提到的strings一定要放到这里来
这里存放的都是资源,那么肯定是需要被引用的,有两种方式可以引用:
- 在xml配置文件中直接通过
@string/name
的方式引用 - 在java代码中通过
R.string.name
的方式引用,比如R.layout.activity_main
看一下 activity_main.xml
里面的代码
0 0
- Android 学习笔记二:Android项目的结构
- Android学习笔记 -- Android项目的目录结构
- Android学习笔记之Android项目的目录结构
- 初学Android,Android的项目结构(二)
- Android开发学习 之 二、Android项目结构
- Android开发学习 之 二、Android项目结构
- Android开源项目SlidingMenu的学习笔记(二)
- android开发学习笔记(8)Android项目目录结构:
- android学习笔记三 ---- android项目文件结构介绍
- Android学习笔记(3):Android项目结构分析
- 学习笔记1--Android应用&Android studio项目结构
- Android 入门/项目结构(二)
- android 开发零起步学习笔记(二):熟悉Android studio的目录结构
- Android-NDK学习(二)项目目录结构
- Android学习系列之(二)项目目录结构基本介绍
- android笔记之项目结构
- Android学习笔记二创世纪及工程目录结构
- Android学习笔记2-项目目录结构分析
- MySQL学习历程(一):安装和配置
- 简单算术表达式C++实现
- Android 学习笔记一:创建一个Hello World
- poj 1625(ac自动机+dp+高精度)
- Linux之yum在线安装
- Android 学习笔记二:Android项目的结构
- FZU Problem F 单纵大法好 (贪心,set容器) *
- Android 学习笔记三:Activity
- java连接mysql(2)
- Android TabLayout定制CustomView与ViewPager交互双向联动
- linux之cut用法
- UI 动画之UIView动画的 四种 使用含有block的类方法 实现动画
- 【bzoj1856】【Scoi2010】【字符串】
- JAVA基础学习之UDP网络编程