第一章 Android Studio基础

一、新建项目

1)运行android studio工具; 2)打开一个创建项目页面;

在这里插入图片描述

3) 根据的不同功能选择不同的模板

在这里插入图片描述
备注:选择不同的模板,在生成工程时会默认生成不同的代码,方便应用开发

4) 填写项目基础信息

5) 创建成功

android视图

android视图

在这里插入图片描述

Project视图

二、项目结构讲解

在这里插入图片描述

android视图下的核心模块

1)app模块下的Androidmanifest

在这里插入图片描述AndroidManifest.xml是每一个Android程序的入口文件。在该文件中,可以配置APP使用的权限(调用摄像头、进行网络请求、GPS获取等)、APP相关的基础信息(主程序包名、版本号、APP名称和logo等)、第三方服务和组件(调用百度地图服务)。

2)app模块下的Java

在这里插入图片描述
由于我们在创建项目时,选择的Java语言,所以这里会出现Java文件夹。在该文件夹下,存放的是程序涉及到的Java代码和测试代码。

3) app模块下的res模块

在这里插入图片描述
        drawable:存放app中会使用到的图片,调用方式为:R.drawable.demo(调用drawable下的demo.png)
        layout:存放app中涉及到的界面,编译器提供了代码构建界面和图形化构建界面,编写页面时刻自由切换。
在这里插入图片描述
        mipmap:存放一些尺寸较小的图片,例如:app的logo,界面中的图标等。
        values:定义一些app的简单样式,默认生成的文件,都在AndroidManifest.xml中设置app基本信息时调用了。
备注: 详细介绍链接.

4)build.gradle配置文件

android studio是采用gradle文件进行项目构建的,默认会在生成项目时,产生两个gradle文件:一个属于project,一个属于Module。
在这里插入图片描述
下面将依次介绍:
        project:配置项目会使用到的maven库和插件、gradle编译版本等。

buildscript {
//这里是gradle脚本执行所需依赖,分别是对应的maven库和插件
    
    repositories {
        google()
        //从Android Studio3.0后新增了google()配置,
        //可以引用google上的开源项目
        jcenter()
        //是一个类似于github的代码托管仓库,
        //声明了jcenter()配置,可以轻松引用 jcenter上的开源项目
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        //此处是android的插件gradle,
        //gradle是一个强大的项目构建工具
    }
}

allprojects {
//这里是项目本身需要的依赖,比如项目所需的maven库
    repositories {
        google()
        jcenter()
    }
}

// 运行gradle clean时,执行此处定义的task任务。
// 该任务继承自Delete,删除根目录中的build目录。
// 相当于执行Delete.delete(rootProject.buildDir)。
// gradle使用groovy语言,调用method时可以不用加()。
task clean(type: Delete) {
    delete rootProject.buildDir
}

        module:程序中每引用一个模块,就需要配置一个与其对应的gradle。例如:以模块的方式引入opencv时,系统就会生成一个与其对应的gradle文件。每一个gradle由三个部分组成:apply、android、dependencies。
在这里插入图片描述

(1)apply模块

在这里插入图片描述
        apply plugin表示应用了一个插件,该插件有两种可选值:com.android.application表面该gradle属于程序模块,可直接运行,可打包成apk。com.android.library表示该gradle属于库模块,必须依附于程序模块来运行,打包成aar文件。

(2)android模块

在这里插入图片描述
补充:<1> 为gradle添加自动化打包配置signingConfig,可以方便带签名进行打包,在android系统中,同一签名的程序会运行在一个进程中,方便数据共享和程序升级。
在这里插入图片描述<2> 添加sourceSets,配置目录指向。libs文件夹中,可放一些需要使用的jar包。
在这里插入图片描述

(3)dependencies模块

在这里插入图片描述该模块为项目定义了依赖关系,使得项目可以引用本地依赖、远程依赖、库依赖。

备注:详细介绍.

5)wrapper配置文件

wrapper其实是对gradle的一层封装,Android项目需要使用gradle来进行构建,但不同版本的项目需要使用不同版本的gradle,而wrapper可以改变当前项目的构建版本。在这里插入图片描述在这里插入图片描述备注:详细介绍.

三、知识补充

1)Activity模块

(1)什么是Activity?

         Activity属于app的组件,每一个Activity对应一个用户界面(界面UI来自于res模块下的layout中),通常情况下,一个app拥有多个Activity组件,但只有一个主Activity,该Activity需要在Androidmanifest中定义。在这里插入图片描述
不同Activity之间可相互跳转,以便执行不同操作,当新Activity启动时,旧的Activity会停止,这便涉及到了Activity的生命周期:创建(onCreate)、开始(onStart)、重新开始(onRestart)、恢复(onResume)、暂停(onPause)、停止(onStop)、销毁(onDestroy)。其中,onCreate是必须实现的接口,在该方法中,应该初始化Activity必要的组件和调用setContentView(),用来定义Activity用户界面布局(XML文件)。
备注:详细介绍.

2) Fragment模块

(1)什么是Fragment?

        Android可运行在各式各样尺寸的设备中,为了防止不同分辨率所带来的自适应问题, android 3.0开始新增Fragment(碎片),依赖于Activity,不可独立存在。Fragment是一种可嵌入Activity当中的UI片段,可以说一个Activity是由多个Fragment组成的。与Activity相似,Fragment拥有自己的布局和生命周期,接收自己的输入事件,并可以从Activity中动态添加和删除。

(2)Fragment的优势

        模块化:不需要把所有代码写在同一个Activity中
        可重用:多个Activity可以重用一个Fragment
        可适配:根据不同尺寸实现布局

3)UI界面构建

        app程序中所使用到的UI界面(xml)统一存放到res文件夹下的layout中,我们可以通过直接编码或者使用切换到可视化界面,进行图像排版进行UI界面的实现。在这里插入图片描述在这里插入图片描述

四、实战小Demo

Demo介绍:UI界面由image和button组成,点击button可显示或隐藏image。
目标一:直接在Activity中编写界面和操作逻辑
目标二:通过Fragment编写界面和操作逻辑

1)通过Fragment编写界面和操作逻辑

(1)新建一个工程项目(略)
(2)新建一个Fragment,取名为FragmentOne,并继承Frag在这里插入图片描述
(3)创建对应xml文件,并实现简单的UI界面在这里插入图片描述在这里插入图片描述
(4)在Fragment中实现一些生命周期方法,并在OnCreateView中指定该Fragment对应的xml文件,实例化xml文件中的对象(按钮、imageView等)
在这里插入图片描述
(5)在主Activity中,添加Fragment的引用
在这里插入图片描述
(6)逻辑代码编写
在这里插入图片描述(7)结果展示
在这里插入图片描述在这里插入图片描述github代码

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值