Android 学习笔记二:Android项目的结构

前面我们创建了一个Android 应用,下面我们看一下生成的一大堆东西到底是什么。

根目录下的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 里面的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值