-

【Android原生开发】学习笔记(一)基础知识
2023年5月2日发(作者:小满的诗句)

【Android原⽣开发】学习笔记(⼀)基础知识

本⽂记录⼀下来⾃笔者阅读⾕歌官⽅开发者⽂档后的理解,如有不正确之处,欢迎指点更正。

可以使⽤ Kotlin/Java/C++ 语⾔开发安卓应⽤,前两种⽤于开发⼀般应⽤,后者C++可⽤于开发安卓游戏

应⽤安装程序打包后是⼀个.apk⽂件,当中包含应⽤运⾏所需的所有资源。

每个 Android 应⽤都处于各⾃的安全沙盒中,并受以下 Android 安全功能的保护

Android 操作系统是⼀种多⽤户 Linux 系统,其中的每个应⽤都是⼀个不同的⽤户;

默认情况下,系统会为每个应⽤分配⼀个唯⼀的 Linux ⽤户 ID(该 ID 仅由系统使⽤,应⽤并不知晓)。系统会为应⽤中的所有⽂件设置权

限,使得只有分配给该应⽤的⽤户 ID 才能访问这些⽂件;

每个进程都拥有⾃⼰的虚拟机 (VM),因此应⽤代码独⽴于其他应⽤⽽运⾏。

默认情况下,每个应⽤都在其⾃⼰的 Linux 进程内运⾏。Android 系统会在需要执⾏任何应⽤组件时启动该进程,然后当不再需要该进程或

系统必须为其他应⽤恢复内存时,其便会关闭该进程。

Android 系统实现了。换⾔之,默认情况下,每个应⽤只能访问执⾏其⼯作所需的组件,⽽不能访问其他组件。这样便能创建⾮常

最⼩权限原则

安全的环境,在此环境中,应⽤⽆法访问其未获得权限的系统部分。不过,应⽤仍可通过⼀些途径与其他应⽤共享数据以及访问系统服务:

可以安排两个应⽤共享同⼀ Linux ⽤户 ID,在此情况下,⼆者便能访问彼此的⽂件。为节省系统资源,也可安排拥有相同⽤户 ID 的应⽤在同

⼀ Linux 进程中运⾏,并共享同⼀ VM。应⽤还必须使⽤相同的证书进⾏签名。

应⽤可以请求访问设备数据(如⽤户的联系⼈、短信消息、可装载存储装置(SD 卡)、相机、蓝⽛等)的权限。⽤户必须明确授予这些权

限。如需了解详细信息,请参阅使⽤系统权限

共有四种不同的应⽤组件类型:

Activity:界⾯

服务:后台进程

⼴播接收器:全局播报

内容提供程序:缓存

除了声明应⽤的组件外,清单⽂件()还有许多其他作⽤,如:

确定应⽤需要的任何⽤户权限,如互联⽹访问权限或对⽤户联系⼈的读取权限。

根据应⽤使⽤的 API,声明应⽤所需的最低 API 级别

声明应⽤使⽤或需要的硬件和软件功能,如相机、蓝⽛服务或多点触摸屏幕。

声明应⽤需要链接的 API 库(Android 框架 API 除外),如 Google 地图库

R 类型⽤于访问资源、预定义的字符串、组件id等。

资源命名⽤于不同设备需注意,不同设备使⽤同样的资源⽂件可通过创建xml⽂件加以引⽤,⽽不需反复存储相同⽂件

-

【Android原生开发】学习笔记(一)基础知识

更多推荐

android系统怎么关闭