Android 是一个开源操作系统,基于 Linux 内核,用于智能手机、平板电脑等移动设备。此外,它还为智能手表和 Android TV 开发。它们每个都有一个专门的界面。Android 一直是智能手机最畅销的操作系统之一。Android 操作系统由谷歌于 2005 年收购的 Android Inc. 开发游戏、音乐播放器、相机等各种应用程序都是为这些智能手机构建的,可在 Android 上运行。Google Play Store 拥有超过 330 万个应用程序。如今,Android 在全球范围内仍然占据主导地位。大约 75% 的世界人口喜欢使用 Android,而 iOS 的比例仅为 15%。这是一个拥有巨大应用市场的操作系统。
为什么是 Android?(先确定目标?)
因此,在进入完整的 Android 路线图之前,你应该在心中有一个明确的目标,即为什么他/她想要学习 Android?是为了你的大学学术项目吗?还是为了你的长期职业?或者你想开发应用程序来创业?所以首先要有一个明确的目标。你为什么想要学习 Android?例如,如果你想为你的大学学术项目学习 Android,那么只需学习 Android 的初级知识就足够了。同样,如果你想建立自己的长期职业生涯,那么你也应该学习专业或高级的东西。所以这取决于你,你可以决定为什么要学习 Android。
如何学习 Android?
在 Android 中,编程使用两种语言:JAVA 或 Kotlin和XML(扩展标记语言)。XML文件处理设计、演示、布局、蓝图等(作为前端),而 JAVA 或 KOTLIN 处理按钮、变量、存储等的工作(作为后端)。对于 Android 初学者来说,最大的困惑是选择 Java 还是 Kotlin ?所以先试着克服这种困惑。
Java 还是 Kotlin?
Kotlin 是Google 宣布的 Android 应用开发官方语言 ,也是使用最广泛的语言。Play Store 中的许多应用都是用 Kotlin 构建的,它也是 Google 支持最多的语言。Kotlin 比 Java 更快、更简单。Kotlin 还包含许多 Java 中没有的新功能和库。
Java 是Android 使用的原生语言,它帮助应用程序与直接使用 Java 的操作系统和硬件进行通信。该语言允许创建任何程序,并支持几乎所有类型的机器,以及 OS X,无论是 Android、Windows 还是 Linux。Java 由 Sun Microsystems(现为 Oracle 旗下)开发,人们可以将微服务与 Java 结合使用。
Kotlin 是一种跨平台编程语言,可以用作 Android 应用开发的 Java 替代品。它也被谷歌宣布为“官方”语言。唯一显著的区别是 Kotlin 删除了 Java 的一个特性,例如空指针异常。它还删除了每行末尾的分号。简而言之,与 Java 相比,Kotlin对初学者来说要简单得多,现在大多数开发人员也从 Java 转向 Kotlin 进行 Android 应用开发。
学习资源
网上有大量的资源和视频,开发人员不知道从哪里开始学习所有概念。最初,作为初学者,如果您被如此多的概念弄得不知所措,请不要害怕并停止学习。要有耐心,探索并坚持下去。
学习路线图
从 Android 概述开始。阅读一些与 Android 相关的博客,并研究一些与 Android 相关的东西。例如,阅读有关 Android 开发简介、Android 历史、Android 不同版本的博客,以及诸如为什么 Kotlin 会取代 Java 进行 Android 应用开发等主题,并做好完整的心理准备,开始您的 Android 之旅。让自己有学习 Android 的自觉性,并在 Android 上构建一些很棒的项目。定期这样做,并开始逐个学习 Android 的新概念。在开始您的旅程之前,参加一些关于 Android 的研讨会或会议会更好。明确您的目标并朝着目标前进。
1)编程
可以将此步骤视为先决条件。在开始学习 Android 之前,请先学习这些编程语言。
- Java 编程语言
- Kotlin 编程语言
- 熟悉 XML(可扩展标记语言)
2)Android Studio
在使用工具之前,最好先了解一下。Android Studio 是 Google Android 操作系统的官方集成开发环境,基于 JetBrains 的 IntelliJ IDEA 软件构建,专为 Android 开发而设计。
-
文件结构:
。AndroidManifest.xml 文件
。Java 文件
。可绘制文件
。布局文件
。mipmap 文件
。colors.xml 文件
。strings.xml 文件
。style.xml 文件
。build.gradle(模块:app)文件 -
Android Studio 概述:
。创建新项目
。重新打开、关闭、保存项目
。创建新的activity、classes、drawable资源文件
。在模拟器的 AVD 或真实设备等上运行该应用程序。
。创建新项目
。重新打开、关闭、保存项目
。创建新的activity、classes、drawable资源文件
。在模拟器的 AVD 或真实设备等上运行该应用程序。
3)Android 组件
Android 应用程序由一些必要的构建块组成。这些松散耦合的组件由应用程序清单文件绑定,该文件包含每个组件的描述以及它们如何交互。
- Activity:
。Activity life cycle
。Handle Activity State Changes
。Understand Tasks and Back Stack
。Processes and Application Lifecycle - Services:
。Types of Android Services
。The Life Cycle of Android Services - Content Provider:
。Content URI
。Operations in Content Provider
。Working of the Content Provider
。Creating a Content Provider - Broadcast Receiver:
。隐式广播异常
4)简单的UI设计
了解 Android 的不同组件后,开始探索下面给出的一些简单的 UI 设计。
探索不同的布局:
。Frame
。Linear
。Relative
。Constraint
查看元素:
。TextView
。EditText
。Buttons
。ImageView
意图:
。Implicit
。Explicit
。Intent Filter
5)复杂的UI设计
一旦你掌握了简单的 UI 设计,就可以直接进入复杂的 UI 设计部分,例如:
- ListView
- RecycleVIew
- Fragments
- Dialogs
- Toast
- Bottom Sheets
- Navigation Drawer
- Tabs
- Material Design
- Some inserting Animations
6)存储
在Android中,存储系统有三种类型:
- Shared Preferences
- 文件系统
- 数据库
。RoomDB
7) Build
Gradle
Debug/ Release Configuration
8)线程
- Threads
- Looper
9)调试
开发人员最重要的技能之一是调试技能。因此开发人员必须学习以下内容:
- Exceptions
- Error Handling
- Logging
- Memory Profiling
10)内存泄漏
- 内存泄漏的原因
- 检测并修复内存泄漏
- Context
11)第三方库
- image加载库
。Glide
。Picasso
。Fresco
。COIL - 依赖注入
。Dragger - 联网
。Retrofit - 多线程
。Coroutines
。Rxjava
12) Android Jetpack
在其官方网站上,Android Jetpack 表示它是一套库、工具和架构指南,可帮助您快速轻松地构建出色的 Android 应用。它提供了通用的基础架构代码,因此您可以专注于让您的应用与众不同的方面。
- AppCompat 库
- 架构组件
- 动画和过渡
- Android Ktx
- 导航
- 分页
- 切片
- 工作管理器
13)Android 架构
Android世界中著名的三大架构是:
- MVVM (模型-视图-视图模型)
- MVI(模型视图意图)
- MVP(模型视图演示者)
14)Firebase
- FCM(Firebase 云消息传递)
- 分析
- 远程配置
- 应用程序索引
15)单元测试
- 本地单元测试
- 仪器测试
16)安全
- 加密/解密
- Proguard
17)应用发布
- 已签名的 APK
- Play 商店