zoukankan      html  css  js  c++  java
  • Android Studio安卓学习笔记(二)Android项目结构

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

    一:Android项目结构

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

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

    1.manifests

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

    2.java

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

    3.res

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

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

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

    下面是常用的目录简介:

    (1)mipmap

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

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

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

    (2)layout

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

    a:图形设计界面


    b:代码设计界面

    "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类来调用。




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


    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 Studio3.0之后的版本解决方法如下:


    结果如下:

  • 相关阅读:
    关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码详解
    Vue使用总结
    使用ReflectionToStringBuilder实现toString方法
    vue 发送短信验证码倒计时
    个人信息打码
    Token注解防止表单的重复提交
    html选择图片后直接预览
    从分布式一致性谈到CAP理论、BASE理论
    node.js 下依赖Express 实现post 4种方式提交参数
    web前端学习笔记(CSS变化宽度布局)
  • 原文地址:https://www.cnblogs.com/ITXiaoAng/p/11151339.html
Copyright © 2011-2022 走看看