《第一行代码》Android (第3版)笔记

第一章 开始启程,你的第一行Android代码

1.1 Android简介

  • Android系统架构
Linux内核层 为Android设备的各种硬件提供底层驱动
系统运行库层 通过C/C++库为Android系统提供主要的特性支持
应用框架层 提供了构建应用程序时可能用到的各种API
应用层 安装在手机上的应用程序
  • Android的四大组件
Activity Android应用程序的“门面”,应用程序的可视部分
Service 不可视,后台运行
Broadcast Receiver(广播接收器) 允许你的应用接收广播消息,也可以向外发出消息,比如电话、短信
Content Provider(内容提供器) 为应用程序之间共享数据提供了可能,比如读取通讯录中的联系人

1.2 搭建开发环境

1. 需要准备的工具
(1)JDK:Java语言的软件开发工具包
(2)Android SDK:Android开发工具包
(3)Android Studio:开发Android项目的IDE工具

2. Android官网地址:https://developer.android.google.cn/studio

   国内的代理站点:http://www.android-studio.org

1.3 分析Android程序

1. 项目结构模式

.gradle和.idea Android Studio 自动生成的一些文件,无须关心
app 项目的代码和资源文件
build 包含编译时自动生成的文件
gradle 包含gradle wrapper的配置文件
.gitgnore 将指定的目录或文件排除在版本控制之外
build.gradle 项目全局的gradle构建脚本,一般都不需要修改
gradle.properties 全局的gradle配置文件,直接影响项目中所有的gradle编译脚本
gradlew和gradlew.bat 用来在命令行中执行gradle命令,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用
HelloWorld.iml iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件,用于标识这是一个IntelliJ IDEA项目
local.properties 用于指定本机中SDK的路径,自动生成,无需修改
settings.gradle 指定项目中所有引入的模块

2. app 目录下的结构

build 编译时自动生成的文件,无需关心
libs 存放第三方jar包,放在该目录下的jar包会自动添加到构建路径中去
androidTest 编写Android Test测试用例,对项目进行一些自动化测试
Java 存放所有Java代码
res 存放项目中所有图片、布局、字符串等资源文件
AndroidManifest.xml Android项目配置文件
test 编写Unit Test 测试用例,是对项目进行自动化测试的另一种方式
.gitgnore 将app模块内指定的目录排除在版本控制之外
app.iml IntelliJ IDEA项目自动生成的文件
build.gradle app模块的gradle构建脚本
proguard-rules.pro 指定项目代码的混淆规则

 3. 详解build.gradle文件

 最外层目录下的build.gradle文件,代码如下:

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'

    // NOTE: Do not place your application dependencies here; they belong

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 20:38:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 20:38:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 20:38:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 20:38:02       20 阅读

热门阅读

  1. LeetCode56.合并区间

    2024-02-23 20:38:02       27 阅读
  2. AutoSAR(基础入门篇)10.6-模式管理进阶

    2024-02-23 20:38:02       30 阅读
  3. LeetCode206链表相交

    2024-02-23 20:38:02       31 阅读
  4. 什么时候用ref和reactive

    2024-02-23 20:38:02       23 阅读