• 约 3 分钟

Android开发学习笔记

路线图:roadmap

Java

  • Java开发环境搭建
  • Java语言学习

基础知识

  • Android应用主要有5个部件组成:
    • Activities(活动)
      • 看得见的部分
      • 每一“幕”都是一个activity
    • Services(服务)
      • 在后台运行
      • 长期的操作
      • 或者远程操作,如联系后端
    • Broadcast Receivers(广播接收器)
      • 对其他应用或者系统本身的消息做出响应
      • 消息的形式通常为Intents
    • Content Providers(内容提供者)
      • 管理应用数据共享集
      • 这些内容其他应用也可以通过结构化的接口进行query和修改
    • Intents()
      • 为前面提到的部件提供消息传递的对象
  • IDE
    • 集成开发环境,一般使用Android Studio

版本控制系统

  • Git
  • GitHub

应用部件详解

  • Activity
    • 活动生命周期(Activity Lifecycle)
      • onCreate()
        • 第一次创建时调用
      • onStart()
        • 可见时调用
      • onResume()
        • 当用户开始和活动交互时调用
      • onPause()
      • onStop()
        • 当活动退出前台或者不可见时调用
      • onDestroy()
        • 当活动被完全移出主存时调用
      • onRestart()
    • 状态改变(State Changes)
      • Created
      • Started
      • Resumed
      • Paused
      • Stopped
      • Restarted
      • Destroyed
    • 任务返回栈(Tasks and Backstack)
      • 在一个“任务”中有一个栈存储n个活动,每次要打开一个新的活动时,当前活动就会被压入返回栈;当返回时,从栈顶调出活动
  • Services
    • Started Service
      • 用于执行一项后台任务
    • Bound Service
      • 用于提供C-S服务,响应请求,接受后端结果,执行进程间通信(IPC)
  • Content Provider
    • 底层数据库与应用的中间层,用于在不同应用间共享结构化的数据
  • Broadcast Receiver
  • Intent

界面与浏览(Interface and Navigation)

  • Interface
    • 概念:就是用户可见部分、GUI
    • 包括
      • buttons
      • text fields
      • image views
      • scroll views
      • 等
  • Navigation
    • 概念:用户在应用内的进入、返回等交互操作;路径是明确的
    • Navigation Component
      • 一套用于构建应用内navigation的库、工具、指引
  • 布局(Layouts)
    • Frame
      • 所有孩子组件默认在(0,0)位置
      • 组件可重叠
      • gravity
      • padding & margin
    • Linear
      • 可以通过orientation改变朝向
    • Relative
    • Constraint
      • 和Relative类似
      • 比Relative更简单灵活
      • ConstraintLayout的直接孩子可以有位置约束
      • 可以用Baseline、alignment、margins、bias等方法设置组件位置
    • *RecycleView
  • 元素/组件(Elements)
    • TextView
    • EditText
    • Button
    • ImageView
    • ListView
    • Tabs
    • Fragments
    • Dialogs
    • Toast
    • Bottom Sheet
    • Drawer
林威
林威 咖味十足的软件工程师