Android 学习笔记二:Android项目的结构
2015-10-06 20:04
696 查看
前面我们创建了一个Android 应用,下面我们看一下生成的一大堆东西到底是什么。
根目录下的gradle什么的先不管,那是构建打包用的。主要看
AndroidManifest.xml 这是整个Android项目的配置文件,也是整个应用的启动入口
java,顾名思义,这里是所有的java代码的存放地
res,所有的资源文件,包括图片,UI配置等
public class MainActivity extends AppCompatActivity {
}
其中一个重要的函数就是
虽然现在很简单,但是一个稍微复杂的应用会包含几十几百个java文件,从调用后端接口到操作用户界面相关的代码都在这里,所以以后这里的结构会变得比较复杂,一般至少会划分成数据层和视图层,即MV结构,或者数据+视图+界面的 MVP结构 等。
anim, 动画定义,比如
color 颜色定义
drawable 主要是图片
layout 通过XML配置的UI组件,尽量通过配置而不是Java来写界面
menu 菜单的定义
mipmap-xx 等存放各种不同尺寸的图片,对应不同的手机屏幕大小。
values 这种键值对,最重要的就是前面提到的strings一定要放到这里来
这里存放的都是资源,那么肯定是需要被引用的,有两种方式可以引用:
在xml配置文件中直接通过
在java代码中通过
看一下
根目录下的gradle什么的先不管,那是构建打包用的。主要看
src/main目录下的三个文件/目录
AndroidManifest.xml 这是整个Android项目的配置文件,也是整个应用的启动入口
java,顾名思义,这里是所有的java代码的存放地
res,所有的资源文件,包括图片,UI配置等
AndroidManifest.xml
顾名思义,这是整个应用的描述文件,那么具体描述了什么呢。我们看一下整个代码:java
所有的java代码都放在这里,忽略测试,现在只有一个文件MainActivity.java:
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public 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; } @Override public 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里面的代码
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories