基础01Android 开发到底是做什么?

Posted 懂你的大海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础01Android 开发到底是做什么?相关的知识,希望对你有一定的参考价值。

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

一、前端 - 客户端 - Android

我们从 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。

先看效果:

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

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

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

简述实现步骤

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

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

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

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

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

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


结尾

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

从零开始学习Android 我已经整理成文档了,如果有小伙伴迫不及待地需要学习的话,可以点击链接:Android开发交流社区

以上是关于基础01Android 开发到底是做什么?的主要内容,如果未能解决你的问题,请参考以下文章

“del”到底是做啥的?

从日常开发说起,浅谈HTTP协议是做什么的

removeOnCompletion = NO 到底是做啥的?

Java 后端到底是在做啥?

Android Framework

SQL:主键和索引到底是做啥的?