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作为安卓的开发语言。

相关推荐
ABAP-張旺16 分钟前
ABAP:Visual Studio Code開發ABAP教程
ide·vscode·编辑器
plainGeekDev1 小时前
文件读写(Java IO)→ Kotlin 扩展函数
android·java·kotlin
s_nshine2 小时前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘
韩曙亮2 小时前
【Flutter】Flutter 中的 Android / iOS 特殊配置 ① ( 网络权限配置 | HTTP 明文传输配置 | 应用名称配置 )
android·网络·flutter·http·ios·网络权限
_李小白2 小时前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
hashiqimiya3 小时前
每日android布局xml文件
android·xml·gitee
m0_738120723 小时前
渗透测试基础——PHP 序列化数据结构与反序列化机制详解
android·服务器·网络·数据结构·安全·php
stevenzqzq3 小时前
vsCode AI插件
ide·人工智能·vscode
故渊at4 小时前
第二板块:Android 四大组件标准化学理 | 第十一篇:组件间通信(IPC)与 Binder 深度解析
android·binder·组件化·组件间通信