乐趣区

关于android:初识机器人Android开发初学者一周学习体验

零、前言

本文旨在帮忙有根底的同学疾速扫盲,如果你和我一样,学习过其余语言,又凑巧第一次接触 Android 开发,本文会比拟适宜你。

如何学习一门新的语言?

对于有肯定语言功底和开发教训的人来说
咱们在学习一门新语言时不可能再从变量、函数学起,
而应该站在更高的角度,思考如何把已有的编程思维和设计模式迁徙到新接触的语言中,
将未知的问题转化为若干个相熟问题的组合,用已有的常识解决新的问题,谓之“化归”。

所以既然有根底了,学习新语言应就应从应用最频繁的性能动手。大抵包含:

  • 环境装置
  • 新建和关上我的项目
  • 宏观构造(前后端)
  • 宏观构造(MVC)
  • 数据绑定与操作反馈
  • 组件间调用
  • 生命周期
  • 连贯数据库或读写文件存储(仅后端语言须要)
  • HTTP 申请
  • 单表增删改查
  • 简单的多表增删改查
  • 登录登记拦截器过滤器

工夫仓促,本文只写一部分,前面缓缓补齐:

一、环境装置

Android 开发环境 = JDK+AndroidSDK + AndroidStudio

JDK

就是咱们平时应用的 JDK,用平时的装置办法装置,没有什么特别之处,间接应用 JDK11 即可。

// 查看 JAVA 版本,如有返回值,阐明环境变量失效
java -version

AndroidSDK

此 SDK 内置在 AndroidStudio 中,不必独自装置。

AndroidStudio

官网下载:https://developer.android.goo…
此 IDE 蕴含在 Jetbrains 全家桶中,也能够在 Jetbrains Toolbox 中下载:

注:如果第一次编译呈现 Failed to install the following Android SDK packages as some licences have not been accepted. 能够参考 https://segmentfault.com/a/11…。

环境装置实现后须要尽快相熟 IDE 的操作,更重要的是如何切换我的项目的 SDK 版本。

二、宏观构造

这个词是什么意思?没意思,这个词是我本人造的。

细数咱们学过的语言,能够大抵分为以下几类(兴许总结的不太精确):

单体构造,包含 C /C++、C#、原生 JAVA、原生 Python 等。

它们之中,有些是控制台程序(黑框框),有些是 GUI 程序(有界面)。

这一类利用的特点是:间接运行在本机的操作系统上,靠用户输出实现交互,客户端即蕴含全副性能,简直不应用网络传输,靠本地文件来贮存运行时的数据。

前后端不拆散 Web 构造,包含 PHP(thinkPHP)、应用网络的 JAVA(SpringNoot)、应用网络的的 Python(Flask、Django)

特点是:
程序性能的理论提供者运行在服务器上,软件性能由服务端提供,渲染和业务逻辑全副由服务器实现,服务器返回的是整个 HTML 页面。
用户仅应用浏览器浏览动态页面,并实现交互操作。
必须依赖网络,数据在服务器的数据库中。

Client / Server 构造以及前后端拆散 web 构造,前端包含 vue、angular、作为客户端的 C# 等,后端包含 REST 模式下的 Springboot、PHP 等。

特点是:
程序后端运行在服务器上,前端运行在用户的操作系统(或浏览器)上,
此时服务器只用来实现 REST 性能的 API,解决业务逻辑,
而页面渲染、发动申请则由前端解决。
Web 能够说是 C / S 模型的一个分支。除了 web 外,大型网络游戏也是典型的前后端拆散(cs)利用。

对于安卓开发来说,有以下两种状况:

单机安卓软件

比方零碎设置、零碎相机、视频播放器、各种小工具之类。
这些不须要联网的软件,能够看作单体构造(第一种),整个程序都在手机上运行,由 Java 的服务层实现业务逻辑。

安卓客户端软件

例如电商软件、手游、通信工具等等,都是客户端软件,能够看作 Client/Server 模型。
目前绝大多数安卓软件都是 C / S 的客户端,简直没有单机利用。

综上,咱们能够间接认为,安卓开发是前端开发!

宏观构造

这个词也是我本人造的,其实说的就是设计模式。
最常见的包含 MVC、MVVM 等模式。

安卓开发的贯彻落实了 MVC 的思维,所以很好了解软件的档次。

先来看一个最简略的文件构造

流动(Activity)

Android 中有一种叫做流动 (Activity) 的 Java 类,它实质上是 Java 代码,并且继承了 Android 内置的 Activity 类,所以就有了扩大性能。
它充当了 C 层(控制器)的角色,用来创立页面、响应操作,传递数据等等。

布局(Layout)

Layout 原本是布局的意思,在 Android 中指的是相似 HTML 性能的页面模板,应用 xml 文件,其实 xml 和 HTML 实质思维统一,用法也差不多,xml 中的相熟和 CSS 类似。所以 layout 充当 V 层的角色。

layout 既能文本化编辑,也能可视化编辑。


原生 Java 类

流动只用来传值和调用,真正进行逻辑解决、发动 HTTP 申请的应该是 M 层,它应用的是许多原生 Java 代码,它实现了 Model 模型、Entity 实体、Service 服务等等性能。
所以能够了解成,安卓在抛开流动和布局后,其余方面和原生 Java 的类似度很高。至于安卓特有性能,却和前端开发十分类似。

动态字符串资源(values)

安卓的字符串都放在 values 文件夹,应用 xml 贮存,实质上就是键值对(keymap)

键值对能够通过一个固定变量名来操作固定的字符串,保障我的项目全局援用的值是雷同的,当值变动后,整个我的项目中都会同步变动。

Android 全局配置文件(AndroidManifest.xml)

这个文件治理着流动,所有的流动都必须在此文件中注册后能力被创立。
文件中也必须指定启动时执行哪个流动,程序能力失常运行。
每减少一个流动,AndroidStudio 就会主动在此文件中减少标签。

结构图

未完待续

退出移动版