【基础01】Android 开发到底是做什么| 8月更文挑战

1,277 阅读5分钟

导读: 本文是「技术交换-Android」的第一篇,主要介绍 Android 开发的工作内容,涉及技术和工作中的难点,并以一个 HelloWorld 项目收尾。

一、前端 - 客户端 - Android

image.png

我们从 Android 开发在互联网公司的定位说起。一个互联网公司的服务可以笼统地拆分成「前端」和「后端」,前端是交给用户使用的部分,比如网站、App、小程序等,主要负责数据的展示和处理用户交互;后端是服务的提供者,主要负责处理各种数据。

上面的「前端」是广义上的前端,可以再拆分成 Web 前端、Android 和 iOS 等,Android 和 iOS 在移动互联网中也被划分为客户端,是最直接跟用户接触的类别。

PS:鸿蒙OS比较特殊,等相关技术和生态成熟一点之后再深入学习也来得及,暂时可以认为鸿蒙OS与Android没区别(反正都兼容)。

上述的 Android 开发是 App 开发,不包含游戏,游戏开发是另一种完全不同的技术了。

二、Android 相关技术

Android 的能力很复杂,不同分类的 App 会偏重不同的技术点,但基本的功能是相似的,基础的部分我们只谈所有 App 都必须用到的技术,实践部分再根据情况展开。

1. 前提:开发环境和编程语言

Android 开发有唯一官方指定 IDE:Android Studio,Android Studio 支持 Windows、Mac 以及 Linux,所以开发机的选择范围非常广泛,但考虑到编译的时间和开发时的体验,至少要保证 8G 内存。

开发语言可以选择 Java 或 Kotlin,比较推荐在两种语言都会的基础上选择 Kotlin,官方虽然说始终支持 Java,但最近有些扩展库已经基于 Kotlin 特性了…

2. 开发工作涉及的技术

(仅做一个概述,用于理解 Android 开发涉及的知识面,不是完整的总结)

首先是基于前后端的结构,网络是 Android 应用很重要的一部分,Android 开发需要做的是构建请求、处理数据和网络错误、监控网络状态等工作,涉及 Http、Socket 等技术。

跟用户交互是 Android App 的核心,通过代码实现 UI 效果是 Android 开发中占比最大的一部分。Android 的 UI 绘制是由单独一个线程负责的,为了保证流畅交互,所有耗时操作都必须在其他线程完成,所以线程间通信也是 Android 开发不可避免的问题。

再就是近几年需求比较多的音视频和直播相关技术,虽然广大用户(包括我)普遍觉得所有 App 都带着视频和直播是一种打扰和越界,但这也意味着作为开发者不管去哪工作都离不开这些了。

其实还有很多技术无法一一介绍,也有很多我并不了解的技术存在。某著名产品制作人曾经说过,手机是人身体的延伸。只要是 Android 设备(手机、电视、车载等)上存在的功能,就需要相应的开发者将其实现。

三、Hello Android

做一个 Android 工程的 Hello World 项目肯定不能只输出一个字符串,我们再加一点交互的东西,比如…一个可以交互的 Hello World。

先看效果:

scr.gif

首先是创建一个新工程,我们选择最新版的 Android Studio:Arctic Fox,创建一个仅有 Empty Activity 的工程,等待初始化。

image.png

完成之后默认打开的就是随工程模板新建的 Empty Activity,默认叫做 MainActivity,「Activity」对应 Android App 的一个页面,是 Android App 的基本构成组件,也是需要我们开发的主要内容。

接下来是一部分细致的操作步骤,有经验的朋友们可以跳过。

简述实现步骤

UI 的修改在 res/layout/***.xml 中进行,也就是默认打开到文件 Tab 的 activity_main.xml。默认的模板中已经有一个 Hello World 了,编辑器右上角切换到「Split」开始编辑,为了增加交互,我们添加一个按钮。

image.png

android:src="@drawable/ic_android_black_24dp" 是引用了 res/drawable 下的图片资源,Android Studio 提供了一系列默认的图标,可以通过右键的 New -> Vector Asset 添加到工程。

此时 Split 右侧的预览区就能看到按钮了。

image.png

然后实现交互,也就是点一次按钮,Hello World 之后的数字加一。

代码在 MainActivity 中编写,先通过 findViewById 找到 xml 中对应 View 的对象,然后给按钮设置点击事件的监听,每次点击之后修改文字的内容。

image.png

代码完成之后,打开手机的开发者选项,在打开里面的 USB 调试,用 USB 线连接电脑,从手机上的弹窗勾选允许调试即可将 App 运行到手机上了。


Demo 的代码已经上传 github,之后每篇「基础」文章的 Demo 都会在同一个项目上修改并同步更新,大家可以根据 commit 信息 checkout 每一期文章对应的代码。

对 Android 开发的概述就到此结束了,因为不知道有没有受众,所以详略的部分只能全凭感觉,如果各位发现有看不懂或者写错的地方务必评论指出,每个反馈都对我非常重要,感谢。

下一篇是 Android 开发从代码角度的概述,是我这四年工作经验的一个提纯,咱们明天见!