《第二行代码》第一章读书笔记

作者:JiangWeiHu

来源:CSDN

原文:https://blog.csdn.net/jiangweihu/article/details/70500087

笔者前言

最近在读郭霖大神的第二行代码,借助第二行代码,在这里我认真梳理Android知识,为了形成自己的知识体系。坚持写一系列关于第二行代码的学习笔记,一是来提升自己的学习能力,坚持每天学习; 二是给自己整理一份资料,方便以后的查阅与复习。希望能够帮助到更多的小伙伴们:

Android系统是目前世界上市场占有率最高的移动操作系统。


1.1 了解全貌——Android王国简介

Google为Android王国建立了一个完整的生态系统。

1.1.1 Android系统架构

Android系统架构分为四层:
(1) Linux内核层:
Android系统基于Linux内核。 为Android硬件提供底层驱动,例如显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi-Fi驱动,电源管理等。

(2)系统运行库层:
通过C/C++库为Android系统提供特性支持,如:SQLite库提供数据库支持,Webkit库提供浏览器内核支持。
该层还有Android运行时库,提供核心库,允许用Java语言开发Android应用。Android运行时库还包含Dalvik虚拟机(5.0后是ART运行环境)。

(3)应用框架层:
提供应用程序的各种API。

(4)应用层:
手机中所有的应用程序属于应用层。

1.1.2 Android已发布的版本、

Android至今为止已经发布到7.1版本——API版本为25。
通常开发最低版本为4.0——API为15。
查看最新数据请访问:http://developer.android.com/about/dashboards/

1.1.3 Android应用开发特色

(1) 四大组件
Activity(活动)
Service(服务)
BroadCast Receiver(广播接收者)
Content Provider(内容提供者

(2)丰富的系统控件
编写漂亮界面。
定制自己的组件。

(3)SQLite数据库
轻量级,运算速度极快的嵌入式关系型数据库。支持SQL语法。

4)强大的多媒体
音乐,视频,照相,录音,闹铃等。

(5)地理位置定位
Android手机内置GPS,随时随地发现自己的位置。


1.2 手把手带你搭建开发环境

“工欲善其事,必先利其器”

1.2.1 准备所需要的工具

  • JDK1.8以上:Java语言的软件开发工具包(包含Java的运行环境,工具集合,基础类库等内容)
  • Android SDK:Android开发工具包
  • Android Studio:Android编译器

1.3.2 启动模拟器

第三方模拟器——Genymotion模拟器。号称史上最快的模拟器可不是吹的。
访问官网下载地址:https://www.genymotion.com/download/

Genymotion_down

安装好了之后,启动并登录Genymotion。

启动并登录

我已经下载好了几个不同版本模拟器,大家无视即可,点击上方的”Add”按钮。

Add

下载好之后,点击上方的”Start”按钮,启动模拟器。
启动1

启动2

这样我们的模拟器已经启动起来了。
开发建议用真机,毕竟模拟器再快,也不如真机用的舒心。

接下类我们来分析下HelloWorld这个项目吧。

1.3.4 分析你的第一个Android程序

展开HelloWorld项目。

Android

可以切换项目模式。

切换项目结构

切换成Project,真是的目录结构

Project

分析结构:

  1. .gradle和.idea
    Android Studio自动生成的文件。
  2. app
    项目中的代码,资源几乎都在放app目录下。
  3. build
    项目编译时自动生成的文件
  4. gradle
    包含gradle wrapper的配置文件 ,使用gradle wrapper不需要提前将gradle下好,Android Studio会自动根据缓存情况决定是否需要联网下载。默认不启用gradle wrapper,可以通过File ——> Setting ——> Build , Execution , Deployment ——>Gradle进行配置更改,打开gradle wrapper。
  5. .gitignore
    指定的目录或文件排除在版本之外
  6. build.gradle
    项目全局的gradle构建脚本
  7. gradle.properties
    全局的gradle配置文件,这里配置的属性影响项目中所有的gradle编译脚本
  8. gradlew和gradlew.bat
    命令行界面执行gradle命令 ,gradlew Linux或Mac系统中使用 ,gradlew.bat Windows系统中使用 。
  9. HelloWorld.iml
    所有IntelliJ IDEA项目中都会自动生成的文件,用来标识这是一个IntelliJ.IDEA项目。
  10. local.properties
    指定本机中SDK路径,通常自动生成 。
  11. setting.gradle
    指定项目中所有引入的模块。

app目录的结构:

app

分析app目录结构:

  1. build
    编译时自动生成的文件。
  2. libs
    放置第三方jar包
  3. androidTest
    编写Android Test测试用例,项目自动化测试
  4. java
    放置所有Java代码
  5. res
    项目资源目录
  6. AndroidManifest.xml
    Android项目配置文件
  7. test
    编写Unit Test测试用例,项目自动化测试
  8. .gitignore
    控制版本忽略文件
  9. app.iml
    IntellJ IDEA自动生成的文件
  10. build.gradle
    app模块的gradle构建脚本
  11. proguard-rules.pro
    指定项目代码的混淆规则

1.3.5 详解项目中的资源

drawable 存放图片
mipmap 存放应用图标
value 存放字符串,样式,颜色等配置
layout 存放布局文件

1.3.6 详解build.gradle文件

Android Studio是采用Gradle构建项目的。

最外层build.gradle文件:

外层gradle

app目录下的build.gradle文件:

app下的gradle


1.4 前行必备——掌握日志工具的使用

1.4.1 使用Android的日志工具Log

Android中日志工具类:Log(android.util.log)提供了5个方法来打印日志:

  • Log.v()。最小的日志。——verbose。
  • Log.d()。调试信息。 ——debug,比verbose高一级。
  • Log.i()。比较重要的信息。——info,比debug高一级。
  • Log.w()。警告信息。——warm,比info高一级。
  • Log.e()。错误信息。——error,比warm高一级。

1.4.2 为什么使用Log而不使用System.out

Log:可控制打印信息,确定打印时间,能添加过滤器,日志有级别区分……
而System.out满足不了。


1.5 小结与评论

搭建了第一个Android项目,并且对Android项目的目录结构和执行过程有一定的了解。以及日志的使用。
快速生成Log方法:log* 按Tab建。
运行程序的快捷键:Shift+F10(MAC control+R)。

猜你喜欢

转载自blog.csdn.net/qq_38338069/article/details/83384421