上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序。下面就要介绍Android项目结构。为日后学习打基础。

 

一:Android项目结构

打开MyFristApp,可以看到如下项目目录和文件结构:

Android Studio安卓学习笔记(二)Android项目结构_第1张图片

这里对app模块下的文件进行介绍。

 

1.manifests

其下的AndroidMainfest.xml为项目的配置信息文件:

Android Studio安卓学习笔记(二)Android项目结构_第2张图片

 

2.java

主要是java源代码和测试代码。下面的文件是主文件:

Android Studio安卓学习笔记(二)Android项目结构_第3张图片

 

3.res

主要是资源目录,存储所有的项目资源:

Android Studio安卓学习笔记(二)Android项目结构_第4张图片

下面是文件夹的功能说明:

目录结构 资源类型
res\values 存放字符串,颜色,尺寸,数组,主题,类型等资源
res\layout XML布局文件
res\drawable 图片(bmp,png,gif,jpg等)
res\anim XML格式的动画资源(帧动画和补间动画)
res\mipmap 存储系统的图片资源
res\raw 可以存放任意类型的文件,一般比较大的文件,会在Rl类中生成资源id,封装在apk中
assets 可以存放任意类型,不会被编译,与raw相比,不会在R类中生成资源id

下面是常用的目录简介:

(1)mipmap

功能:存储系统的图片资源

Android Studio安卓学习笔记(二)Android项目结构_第5张图片

可以看到出现了两个文件夹,一个是方形的图片文件存放处,一个是圆形的图片文件存放处。

后面的括号内的代表不同的分辨率,是为了使应用程序在分辨率大小不同的显示窗体上都可以顺利显示。

(2)layout

这里存放XML布局文件,就是用户界面布局文件,有一个系统自动生成的activity_main.xml文件,可以按可视化的图形设计界面显示,也可以按代码设计界面显示:

a:图形设计界面

Android Studio安卓学习笔记(二)Android项目结构_第6张图片
b:代码设计界面

Android Studio安卓学习笔记(二)Android项目结构_第7张图片

"android:layout_width":定义当前视图在屏幕上所占的宽度,match_parent即填埋整个宽度。
同理android:layout_height是定义当前视图在屏幕上所占的高度。
android:layout_width="wrap_content"
android:layout_height="wrap_content"
自适应大小,用于显示其全部的文字内容。
在应用程序中如果使用用户界面的组件时,则需要通过R.java文件中的R类调用。

上面都是相对布局配置。

(3)values

该目录存放参数描述文件资源。也是XML文件。都是通过R类来调用。


Android Studio安卓学习笔记(二)Android项目结构_第8张图片

4.R.java目录
该文件将res目录中的资源与id编号进行映射,很方便地对资源进行引用。该文件是自动生成的,不允许用户修改。
在系统中引用资源都需要使用R类。
专业解释是:R.java会自动收录当前应用中所有的资源,并根据这些资源建立对应的ID,包括:布局资源、控件资源、String资源、Drawable资源等。可以简单的把R.java理解成是当前Android应用的资源字典。
有时候会由于操作失误造成MainActivity找不到R.java文件,这时候只需要点击如下位置即可:
Android Studio安卓学习笔记(二)Android项目结构_第9张图片

5.Gradle Scripts:build.gradle为项目的gradle配置文件。

6.Android应用程序结构分析
从上面的Android应用程序可以看到,一个Android应用程序通常由Activity类程序(Java源程序)和用户界面布局XML文档组成。
逻辑控制层由Java应用程序实现,表现层由XML文档描述。
主程序和Java一样。

7.AppCompatActivity与Activity区别
我们在写源程序时,会有两个继承的父类,这两个大体上是相同的,但有些地方还是有些区别。
当使用Eclipse开发Android应用的时候,当创建项目的时候,MainActivity自动继承的是Activity,而在使用Android Studio开发Android应用的时候,创建项目时,自动继承的是AppCompatActivity。
(1)AppCompatActivity简介
AppCompatActivity是Google后来退出的Activity  AS默认让我们继承它   因为他可以使用Android中的新特新   ToolBar   我平时使用的很少   如果使用toolbar需要继承AppCompatActivity。
(2)AppCompatActivity默认带标题
在继承AppCompatActivity时,界面最上面会出现一个ActionBar,
但Activity不带。
(3)AppCompatActivity和 
requestWindowFeature(Window.FEATURE_NO_TITLE); 
有冲突。

8.出现的问题
在运行代码时,可能会出现下面的问题:
Android Studio安卓学习笔记(二)Android项目结构_第10张图片
它的含义如下:
Android Studio安卓学习笔记(二)Android项目结构_第11张图片
在Android Studio3.0之后的版本解决方法如下:
Android Studio安卓学习笔记(二)Android项目结构_第12张图片

结果如下:
Android Studio安卓学习笔记(二)Android项目结构_第13张图片

更多相关文章

  1. 【Android Studio使用教程1】Android Studio导入项目的几种方法
  2. Android Telephony框架结构简析
  3. Android应用程序结构
  4. android高仿抖音、点餐界面、天气项目、自定义view指示、爬取美
  5. Android 学习资源链接
  6. Android应用程序资源
  7. 刚刚接触Android,写第一个Hello world 小项目笔记

随机推荐

  1. Android开发手记一 NDK编程实例
  2. SVN服务器迁移
  3. Android(安卓)XML解析学习——Sax方式(续)
  4. 了解Android
  5. Android(安卓)webkit image的加载过程解
  6. android实现卸载提示
  7. Android快速开发框架-------afinal
  8. Android(安卓)Animation学习笔记
  9. 欢迎访问Android中国
  10. Android(安卓)中文API合集 chm版,电子书