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

相关推荐
toooooop817 分钟前
踩坑:PHP7.2导出Excel正常,升级7.3文件损坏需修复
android·excel
mmsx39 分钟前
我明明调用了 zoomToBounds,地图却总是停在别处?延迟加到 5 秒也没用,真相只有一个
android·人工智能·bug·地图
蜡台2 小时前
Jetpack Compose 核心:状态管理 + Lazy 列表
android·kotlin·state·jetpack compose
2501_916008893 小时前
Swift多环境配置:利用Scheme实现灵活的多环境管理
开发语言·ide·vscode·ios·个人开发·swift·敏捷流程
Escalating_xu4 小时前
【Linux线程同步】从数据竞争到 mutex、条件变量与生产者消费者(上篇)
android·java·linux
00后程序员张4 小时前
Windows / Linux / Mac 上不用 Xcode 把 IPA 上传到 App Store,upload 命令详解
android·ios·小程序·https·uni-app·iphone·webview
New_Horizons6664 小时前
Vscode终端激活Conda虚拟环境
ide·vscode·conda
秦少游在淮海4 小时前
id - Android、iOS
android·ios
恋猫de小郭4 小时前
超好用 R8 Configuration Analyzer, 优化你的 App 大小和内存
android·前端·flutter
又见情义5 小时前
Android 13 系统应用裁剪:RK3568平台下的精简之道
android