首页 > 其他分享 >Android基础

Android基础

时间:2022-09-18 22:46:57浏览次数:101  
标签:java app 基础 虚拟机 activity Android 权限 android

1、Android版本

Android网址

版本号 api级别 主要特性
V4.0 14 统一平板和手机的操作系统,基于linux3.0.3内核开发
V5.0 21 采用全新MaterialDesign界面,使用ART虚拟机替换Dalvik虚拟机,提升性能
V6.0 23 全新的权限机制,在原有的AndroidMainfest.xml声明权限的基础上,新增了运行时的权限动态检测。增加了AndroidPay的付费功能。
V7.0 24 支持多视窗,通知增强,提供配置文件指导的JIT/AOT编译
V8.0 26 提供TensorFlowLite,支持画中画,提供智能文本选择,提供自动填写,提供GooglePlayProtect
V9.0 28 借助AI提供后续操作推荐,利用应用切片引导操作,使用新的手势导航栏,支持屏幕手动旋转

5.0:采用全新的界面设计技术,测试时需要考虑5.0之前的版本和5.0及以上的版本。

6.0:采用全新的权限机制,测试时需要考虑6.0之前的版本和6.0及以上的版本。

10.0:支持可折叠设备,支持5G。

 

2、系统架构

(1)谷歌针对移动端的特点,对linux系统进行了裁剪和优化,得到android系统。

(2)android系统分为4层:

a、内核层

b、运行库层

c、应用程序框架层

d、应用层

内核层:

a、android里是linux内核。

b、模拟器中设置-关于平板电脑-版本号,连续点击版本号,可以打开开发者选项。

c、常见的linux命令都可以在android系统上运行,比如ls、cd、top等命令。如果想能运行更多的linux命令,可以安装busybox的app。

运行库层:

a、运行android app需要的环境。

b、android应用使用java或者kotlin语言(轻量级java)开发,java程序的运行需要java虚拟机(java程序---------java虚拟机---------------操作系统)。android系统上的java虚拟机早期是dalvik,android5.0开始dalvik虚拟机替换为art虚拟机。android应用除了使用java语言,还可以使用标准的web技术(html/css/js)来实现,分别对应原生app、web app和混合app。android app中包含的网页需要通过浏览器渲染引擎来处理,对应webkit。

c、app相对于网页,可以在本地保存比较多的数据,提升用户在没有网络情况的体验。android手机可以将app的数据保存在sqlite数据库中。

应用程序框架层:

框架层是为了方便开发人员更快的实现android app。

应用层:

包含系统自带的应用和用户安装的应用。在android手机中,闹钟、通讯录、浏览器等都分别对应系统自带的app。

 

3、android应用的四大组件

从测试工程师角度,需要关注的是开发技术和用户操作的关联,开发技术的细节不需要去关注。

android应用的四大组件包含:

1、activity,活动

2、service,后台服务

3、broadcast receiver,广播接收

4、content provider,内容提供

(1)活动

a、android app的安装包是apk文件(android package缩写),app用解压软件打开可以看到:apk文件中一定会有一个AndroidManifest.xml的配置文件。该文件经过了处理,直接打开很多信息看不到,需要使用一些工具进行解码的操作。

b、从用户角度看到的是界面,从开发角度看到的是activity,直接对相应的activity进行操作。可以将activity等同于界面,但是不是一一对应关系,一个activity可以对应一个或多个界面,一个界面也可以对应一个或者多个activity。

(2)后台服务

a、比如微信退出后还可以接收到好友消息的提醒,利用的技术就是service。微信的主进程已经退出了,但还有其它进程还在运行,定时向微信服务器发出轮询。

b、后台服务往往对应一些小的功能点,测试时也需要考虑。

(3)广播接收

a、比如玩手机游戏时,游戏会提示玩家手机电量不足请及时充电,或者提示玩家网络异常请检查网络设置。这里就使用到了广播接收的技术。

b、android系统在出现以下情况时会跟要接收广播消息的app发送广播消息:

1、电量不足/充电

2、网络异常/恢复

3、屏幕关闭/点亮(使用爱奇艺app追剧,如果关闭屏幕,爱奇艺app会自动暂停,如果再点亮屏幕,爱奇艺app可以选择自动恢复播放)

4、来电/来短信(银行app需要短信验证,收到短信后,银行app自动读取短信,让用户一键输入验证码)

选择接收相关广播消息的app收到广播消息后可以选择自行处理。

广播接收技术往往也对应一些小的功能点。

(4)内容提供

app可以提供自己的数据或者使用的手机的设备比如网络给其它app使用。涉及到不同app之间的资源共享。

 

4、android应用的资源文件适配

android应用需要在不同机型上使用,需要考虑适配的问题,比如不同屏幕大小的手机上使用的菜单图标的大小应该有差异。

在android app的apk包中包含了各种资源文件。

drawable:app菜单图标

mipmap:app图标

layout:布局

dpi:每英寸点数。

可以理解成针对不同的机型会准备不同的图片文件,android系统会根据机型的参数来自动选择合适的资源文件。

 

5、android系统权限控制

android6.0开始,android系统权限控制分为:

1、安装时权限控制

相关权限在AndroidManifest.xml文件中声明。

2、运行时权限控制

不用把所有的权限都在安装时进行申请,只有在使用到时再申请,保证用户对于权限的知情权。

 

标签:java,app,基础,虚拟机,activity,Android,权限,android
From: https://www.cnblogs.com/Dubravka/p/16706083.html

相关文章