美文网首页
【Android 原生开发】学习笔记(一)基础知识

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

作者: zbcy0012 | 来源:发表于2021-07-27 17:35 被阅读0次

本文记录一下来自笔者阅读谷歌官方开发者文档后的理解,如有不正确之处,欢迎指点更正。

  • 可以使用 Kotlin/Java/C++ 语言开发安卓应用,前两种用于开发一般应用,后者C++可用于开发安卓游戏

  • 应用安装程序打包后是一个.apk文件,当中包含应用运行所需的所有资源。

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

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

  • 默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID(该 ID 仅由系统使用,应用并不知晓)。系统会为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件;

  • 每个进程都拥有自己的虚拟机 (VM),因此应用代码独立于其他应用而运行。

  • 默认情况下,每个应用都在其自己的 Linux 进程内运行。Android 系统会在需要执行任何应用组件时启动该进程,然后当不再需要该进程或系统必须为其他应用恢复内存时,其便会关闭该进程。

Android 系统实现了最小权限原则。换言之,默认情况下,每个应用只能访问执行其工作所需的组件,而不能访问其他组件。这样便能创建非常安全的环境,在此环境中,应用无法访问其未获得权限的系统部分。不过,应用仍可通过一些途径与其他应用共享数据以及访问系统服务:

  • 可以安排两个应用共享同一 Linux 用户 ID,在此情况下,二者便能访问彼此的文件。为节省系统资源,也可安排拥有相同用户 ID 的应用在同一 Linux 进程中运行,并共享同一 VM。应用还必须使用相同的证书进行签名。

  • 应用可以请求访问设备数据(如用户的联系人、短信消息、可装载存储装置(SD 卡)、相机、蓝牙等)的权限。用户必须明确授予这些权限。如需了解详细信息,请参阅使用系统权限

  • 共有四种不同的应用组件类型:
    Activity:界面
    服务:后台进程
    广播接收器:全局播报
    内容提供程序:缓存

  • 除了声明应用的组件外,清单文件(AndroidManifest.xml)还有许多其他作用,如:

  • 确定应用需要的任何用户权限,如互联网访问权限或对用户联系人的读取权限。

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

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

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

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

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

相关文章

网友评论

      本文标题:【Android 原生开发】学习笔记(一)基础知识

      本文链接:https://www.haomeiwen.com/subject/lypomltx.html