• 《第一行代码》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文件,代码如下:

    1. buildscript {
    2. repositories {
    3. jcenter()
    4. }
    5. dependencies {
    6. classpath 'com.android.tools.build:gradle:2.3.3'
    7. // NOTE: Do not place your application dependencies here; they belong
  • 相关阅读:
    大数据运维实战第七课 通过 Ambari工具自动化构建 Hadoop 大数据平台和外围应用(上)
    javaweb JSP JAVA 电影院在线订票系统(电影购票系统 电影售票 电影票预订系统)(支持在线选座)
    通过注册表自动抓dump文件
    LeetCode每日一题——1732. 找到最高海拔
    cobbler简介&部署
    生命科学公司如何使用 OKR
    伊理威科技:抖音商家入驻怎么样
    【Ubuntu】解决ubuntu无法上网问题
    【Hive】分区表和分桶表相关知识点介绍
    JS有哪些基本数据类型,它们的区别?
  • 原文地址:https://blog.csdn.net/weixin_51722593/article/details/131048330