SDK接入学习(五):Android基础(AS工程创建、目录结构、日志工具)

注:Android Studio 简称AS
后续无特殊情况,我们都用AS来指代Android Stuidio
在Flash编程领域,AS3是一种编程语言,指代ActionScirpt3 注意区分就可以了,根据上下文进行区别

一、第一个Android工程

  1. 创建HelloWorld工程,在环境界面点击 Start a new Android Studio Project
  2. 创建工程向导:注意Application Name 程序名称;Package name 包名(App的唯一标识—身份证)
  3. 创建工程向导:设备类型和最新版本号,这里只选择手机和平台
  4. 创建工程向导:选择界面的模板(Empty即可)

二、目录结构–整体和app

1.目录结构:

任何一个新建的项目都会默认使用Android模式的项目结构(Android-下图左侧),但这并不是真实的目录结构,而是被Android Studio转化过的,这种项目结构简单明了,适合快速开发,但是对于新手不适合,不易理解;点击切换到真实的项目结构模式(Project–下图中间,右侧是文件管理真实的目录结构),可以看出,右边2个目录结构是一致的。
在这里插入图片描述

2.目录结构-整体

  1. .gradle 和 .idea: 这2个目录放置的都是Android Studio自动生成的一些文件,我们目前无需关心,也不要手动编辑
  2. app: 项目中的代码,资源等内容都是放置到这个目录下面的,我们后面的开发工作也是在这个目录下面进行的
  3. build: 包含了一些编译时候自动生成的中间文件,暂时不需要过多的关心
  4. gradle: 包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,会自动的根据本地的缓存情况决定是否需要联网下载gradle,注:gradle 是一个第3方的打包辅助工具,Android Studio使用这个gradle来进行Androd的打包工作
  5. .gitignore: git版本管理会用到这个文件,如果没有使用git版本管理,请忽略这个文件,不用理会;此文件的作用是将 指定的目录或文件排除在版本管理之外(通常是编译的中间文件)
  6. build.gradle: 项目全局的gradle构建脚本,通常这个文件中的内容很少修改。
  7. gradle.properties 全局的gradle配置文件,这里配置的属性会影响到项目中所有的gradle编译 脚本
    【org.gradle.parallel=true取消前面的#就是开启多线程build
    org.gradle.jvmargs=-Xmx1536m给虚拟机分配的内存
    等等】
  8. gradlew和gradlew.bat:这2个文件是在命令行界面中执行gradle命令的,其中graldlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用的
  9. androidwork.iml: iml Android Studio自动生成的一个文件,用于标识IntelliJ IDEA项目(AndroidStudio是基于IntelliJ IDEA开发的),我们不需要修改这个文件中的任何内容
  10. local.properties:这个文件用于指定本机中的AndroidSDK 路径,通常内容都是自动生成的,我们一般不需要修改这个文件,除非我们工程中的Android SDK位置发生了变化,那么久将这个文件中的路径改成新的位置即可
  11. settings.gradle: 这个文件用于指定项目中所有引入的模块。由于本项目中只有一个app模块,所以此文件中也就只引入了app这一个模块,通常情况下模块的引入都是自动完成的,需要我们手动修改这个文件的情况比较少

3.目录结构 app

上面将整个目录结构的外层目录结构介绍完成了,我们会发现,除了app目录之外,大多数的文件和目录都是自动生成的,我们通常不需要修改;所以app目录 才是我们后续工作的重点

  1. build 这个目录和外层的build目录类似,主要也是包含了一些在编译时自动生成的文件,不过内部会更多更杂,暂时不需要关心
  2. libs 第3方jar包存放的目录,存放在这个目录下的jar包会被自动添加到构建 路径中
  3. androidTest 此处用来编写AndroidTest测试用例的,可以对项目进行一些自动化测试,我们一般用不到,所以暂时不用关心
  4. java 毫无疑问,java目录就是放置我们所有Java代码的地方,展开该目录,可以看到我们刚才创建的MainActivity文件就在里面
  5. res 这个目录下面的内容比较多,简单的说,就是项目中使用的所有图片,布局,字符串等字眼都要存放在此目录下面;还有很多的子目录,图片放到drawable目录下,近期为mipmap-xxx也是保存目录的新方式,布局放到layout下面,字符串放到values了下面;
  6. AndroidManifest.xml
    整个Android项目的配置文件,程序中定义的所有四大组件都在这个文件中注册,另外还可以在这个文件中给应用添加应用程序权限声明,后续会详解
  7. test
    此处用来编写Unit Test测试用例的,是对项目进行自动化测试另一种形式
  8. .gitignore
    用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似
  9. app.iml
    IntelliJ IEDA项目自动生成的文件,我们不需要关心或修改这个文件中的内容
  10. build.gradle
    app模块的gradle构建脚本,这个文件中会指定很多项目构建相关的配置;后续经常用到的
  11. proguard-rules.pro
    此文件用于指定项目代码的混淆规则,当代码开发完成后,打包安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而 让破解者难易阅读

三、日志工具 Log

通过上面的学习,我们已经成功的创建了一个Android程序,并且对Android项目的目录结构和运行都有了一定的认识;日志Log对应后续的学习和调试都有非常大的帮助

  1. 使用Adnroid的日志工具Log
    Android中的日志工具类是Log(Android.util.Log),这个类提供了如下的5个方法来帮助我们打印日志。
    Log.v 用来打印那些繁琐的意义最小的日志信息,对应的级别为verbose,是Android日志里面级别最低的一种
    Log.d() 用于打印一些调试信息,对于调试和分享问题是有帮助的,对应的级别为debug,比verbose高一级
    Log.i() 用于打印一些比较重要的数据,这些信息是我们非常想看到的,可以帮助我们分析用户的行为数据等,对应级别为info,比debug高一个级别
    Log.w() 用于打印一些警告信息,提示程序在这个地方坑你有潜在的风险,最好去修复一下这些出现警告的地方。对应级别为warn,比info高一个级别
    Log.e() 用于打印程序中的错误信息,比如程序进入到了catch】语句当中,当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别为error,比error高
    上面介绍了5个方法,每个方法还会有不同的重载
    Log.d(“HelloWorldActivity”, “onCreate execute ”)
    Log.d()方法传入了2个参数:第1个参数为tag,一般为当前的类名或根据你自己的习惯进行定义,主要用于打印信息的过滤,第2个参数是msg,是想要打印的具体内容。
    运行项目:点击顶部工具栏上的运行按钮,或者使用快捷键Shift+F10(Mac系统是control + R)
    从打印的消息来看,我们不仅看到了打印日志的内容和tag名,就连程序的包名,打印的时间,应用程序的进程号也可以清楚的看到
  2. 为什么使用Log,而不使用System.out
    大家在学习Java的时候大量的使用了System.out.println()方法来打印日志,在真正的项目中极度不建议使用System.out.println()

因为System.out 日志打印不可控,打印时间无法确定,不能添加过滤器,日志没有级别区分…

Log可以配合Logcat输出窗口(Logcat是一个用于输出Android程序运行日志的窗口,后续会经常用到)

Log配合Logcat的日志输出的优点:

  1. AS中直接输入logd,logi等的时候,AS会自动完成剩余代码的填写
    在这里插入图片描述

  2. 过滤器配置 Edit Filter Configuration
    在这里插入图片描述

四、模拟器联机调试

1、 AS找不到模拟器。

build完之后,直接点击Run你的项目,发现下图红色标记处是找不到你的模拟器的。因为需要额外的配置。直接上链接(亲测有效):https://www.cnblogs.com/xuexidememeda/p/9516086.html
在这里插入图片描述

2、 测试log工具

在项目–》src–》main–》java下找到入口方法:onCreate,方法里面添加上打印日志方法:
eg:Log.d(“digua”, “onCreate: 第一个Debug”);如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值