app开发——安卓native开发思路记录

我们知道app开发目前有三种方式,第一种是webapp,第二种是hybird app,第三种是native app。

而native-app就是安卓原生app,这里记录一下安卓原生开发的基本思路。

首先,安卓原生开发虽然在当今时代不是那么常见了,但由于其执行效率和更加强大的功能,所以还是有一定的市场。而且基于webapp的功能限制等原因,hybird app成为主流,但hybird app的开发还是离不开app的native。

从技术角度来说,不论是做游戏开发,web开发,app开发,亦或者其它开发等,基本上都是使用一些大厂或组织提供的sdk进行开发,这也是api工程师的由来,当然这里也有不要重复造轮子的原因。所以对大多数程序员来说,能够熟练使用各种sdk ,并且能够明白其中的运行原理,基本上已经属于技术大牛了。

无论是做什么开发,最重要的永远有两点,第一是功能,第二是用户体验------也就是所谓的交互。

web开发中分为前后端,后端处理主要逻辑,前端在完成功能的基础上,主要就是做好交互问题;而app开发中也是一样,所以学习app开发主要也是分为两部分,第一是功能,第二是交互。

所以,安卓sdk中提供了很多交互用的ui控件,比如显示框,按钮,输入框,进度条,图片等;而这些控件在页面上显示要有一定的布局格式,所以安卓也提供了好几种布局模板------layout。

下面是几种常见布局:

线性布局------LinearLayout

表格布局------TableLayout

相对布局------RelativeLayout

层布局------FrameLayout

在安卓中,页面主要由activity来控制,一个activity对应一个app页面,在activity中完成页面需要执行的逻辑,比如按钮的点击事件,获取输入控件的输入内容等。

而安卓页面的实现是通过xml文件来配置的,也就是说每个activity可以绑定一个页面配置的xml文件。

而在安卓中,这些与页面有关的所有东西都叫做资源,用实体R来表示。包括页面配置的xml文件,图片,按钮的高宽,控件的样式等都可以作为资源来使用。

当然,随着技术的发展,安卓官方提供了一种新的ui组件,jetpack compose,可以不使用xml文件来实现页面的布局。

所以,安卓开发同样适用于web开发中的三层模型,表现层------View,业务逻辑层------Service和数据访问层------DAO。在安卓开发中,业务逻辑主要也是在service中实现。

而app要完成复杂的业务功能,那么在官方提供的sdk的前提下,也可以引入一些第三方的sdk库,来完成需要的功能,比如需要使用地图,就可以调用百度地图,高德地图的sdk来实现。

最后,目前安卓开发中,其主要开发语言改为了kotlin,而不是之前的java,当然kotlin完全兼容了java语言,也可以继续使用java作为安卓的开发语言。

相关推荐
Elieal12 分钟前
IDEA使用教程
java·ide·intellij-idea
猿小猴子2 小时前
主流 AI IDE 之一的 CodeBuddy IDE 介绍
ide·ai ide·codebuddy
聆风吟º3 小时前
【Spring Boot 报错已解决】别让端口配置卡壳!Spring Boot “Binding to target failed” 报错解决思路
android·java·spring boot
非专业程序员Ping10 小时前
HarfBuzz概览
android·ios·swift·font
allnlei11 小时前
使用CLion进行远程开发(Remote Development)
ide·1024程序员节
Jeled11 小时前
「高级 Android 架构师成长路线」的第 1 阶段 —— 强化体系与架构思维(Clean Architecture 实战)
android·kotlin·android studio·1024程序员节
zandy101111 小时前
2025年AI IDE的深度评测与推荐:从单一功能效率转向生态壁垒
ide·人工智能
明道源码13 小时前
Kotlin 控制流、函数、Lambda、高阶函数
android·开发语言·kotlin
消失的旧时光-194315 小时前
Kotlin × Gson:为什么遍历 JsonObject 要用 entrySet()
android·kotlin·数据处理·1024程序员节
来块小鱼饼干(≧^.^≦)16 小时前
教你如何使用VSCode的EIDE插件开发STM32(包括任何ARM内核芯片)最详细教程
ide·vscode·stm32·arm·keil