《第一行代码》第 1 章

作者: 数据挖掘机长 | 来源:发表于2017-04-18 14:07 被阅读0次

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

    Android 系统架构

    Android-System-Architecture.svg.png

    Android 系统架构如上图,大致可以分为四层架构:Linux 内核层、系统运行库层、应用框架层和应用层。

    1. Linux 内核层

    Android 系统是基于 Linux 内核的, 这一层为 Android 设备的各种硬件提供了底层的驱动。

    2. 系统运行库层

    这一层通过 C/C++ 库来为 Android 系统提供主要的特性支持。这一层还有 Android 运行时库,主要提供一些核心库,能够允许开发者使用 Java 语言来编写 Android 应用。 另外, Android 运行时库还包括了 Dalvik 虚拟机,它是专门为移动设备定制的,所以相较于 Java 虚拟机更加高效。

    3. 应用框架层

    这一层主要提供了构建应用程序时可能用到的各种 API。

    4. 应用层

    所有安装在手机上的应用程序都是属于这一层的。


    Android 应用开发特色

    1. 四大组件

    Android 系统四大组件分别为活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。

    • Activity
      凡是在应用中看得到的东西,都是放在 Activity 中的。
    • Service
      Service 在后台默默地为应用提供服务,即使用户退出应用,Service 仍然是可以继续运行的。
    • Broadcast Receiver
      Broadcast Receiver 允许你的应用对外接收或者发送广播消息。
    • Content Provider
      Content Provider 则为应用程序之间共享数据提供了可能。

    2. 丰富的系统控件

    Android 系统提供了丰富的系统控件帮助我们编写界面,当然也可以自定义控件。

    3. SQLite 数据库

    Android 系统自带这种轻量级、运算速度快的嵌入式关系型数据库。他不仅支持标准的 SQL 语法,还可通过 Android 封装好的 API 进行操作。

    4. 强大的多媒体

    Android 系统还提供了丰富的多媒体服务,而且可以在程序中通过代码进行控制。

    5. 地理位置定位

    Android 手机都内置有 GPS,你可以善于利用。


    搭建开发工具

    开发 Android 程序需要的工具如下:

    • JDK
      JDK 是 Java 语言的软件开发工具包,它包含了 Java 的运行环境、工具集合、基础类库等内容。
    • Android SDK
      Android SDK 是谷歌提供的 Android 开发工具包,里面包含很多 API 。
    • Android Studio
      谷歌官方的 IDE 工具 Android Studio 。

    创建第一个 Android 项目

    具体的创建过程就不在这里赘述了,书上有很详细的过程。这里直接开始分析 HelloWorld 这第一个 Android 项目吧。
    任何一个新建项目都会默认使用 Android 模式的项目结构,但这并不是项目真实的目录结构,而是被 Android Studio 转换过的。因为这种项目结构简洁明了,适合进行快速开发,但对于新手来说不易于理解,故我们将项目结构模式切换成 Project,即为项目真实的目录结构,如下图:


    目录结构

    1. 系统预设,一般无需修改的文件

    • .gradle, .idea 和 build
      这两个目录下放的都是 Android Studio 自动生成的一些文件,无须关心。
    • gradle
      该目录下包含了 gradle wrapper 的配置文件,很少会去改(I guess - -)。
    • build.gradle
      这是项目全局的 gradle构建脚本,通常也是不需要修改的。
    • gradlew 和 gradlew.bat
      这两个文件是用来在命令行界面中执行 gradle 命令的。
    • HelloWorld.iml
      iml 文件用来标识这是一个 IntelliJ IDEA 项目,是自动生成的,我们也不需要修改。
    • local.properties
      指定本机中的 Android SDK 路径。
    • settings.gradle
      指定项目中所有引入的模块。
      2. 重点理解的文件
    • app
      项目中的代码、资源等内容几乎都放在这里,非常重要!!,后面会单独展开这个目录。
    • .gitignore
      这个文件是用来将指定的目录或文件排除在版本控制之外的。
    • gradle.properties
      这个文件是全局的 gradle 配置文件,配置的属性将影响项目中所有的 gradle 编译脚本。

    app 目录

    app 目录
    • build
      包含一些在编译时自动生成的文件,不需要过多关心。
    • libs
      包含项目中使用到的第三方 jar 包,它们会被自动添加到构建路径里去。
    • androidTest
      用来编写测试用例,可对项目进行一些自动化测试。
    • java
      存放所有 Java 代码的地方。
    • res
      项目中使用到的图片、布局、字符串等资源都存放在这个目录下。
    • AndroidManifest.xml
      整个 Android 项目的配置文件,程序中定义的所有四大组件都需要在这里注册,还可以给应用程序添加权限声明。
    • test
      用来编写 Unit Test 测试用例,是对项目进行自动化测试的另一种方式。
    • .gitignore
      将 app 模块内的指定的目录或文件排除在版本控制之外。
    • app.iml
      IntelliJ IDEA 项目自动生成的文件,无须关心或修改。
    • build.gradle
      app
      模块的 gradle 构建脚本。
    • proguard-rules.pro
      指定项目代码的混淆规则。

    (未完待续)

    相关文章

      网友评论

        本文标题:《第一行代码》第 1 章

        本文链接:https://www.haomeiwen.com/subject/txwfzttx.html