Android开发课程
河南理工大学Android开发课程:共40学时(24理论学时、16实践学时),学分2.5。
Android四层结构
应用层(System Apps)
系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行交互,一般使用Java或者Kotlin开发,也就是我们所说的应用层开发。应用框架层(Java API Framework)
这一层为应用层开发提供所需要的Java API,也就是常说的Android系统的Java源码,这一层由Java代码编写,所以叫JavaFramework。系统运行库层(Native)
从图中可以看出这里分为了两个部分,分别是C/C++程序库和Android运行时库。C/C++库
这些C/C++库程序可以被应用框架层所使用,至于为什么Android系统要使用C/C++库,而不都用Java库,原因主要是C/C++代码执行效率更高,而且很多功能有成熟的C++代码,不用重新写Android运行时库
分为核心库和ART。*(Android运行时环境(ART)自Android 4.4版本引入,并在后续版本中逐步取代了原有的Dalvik作为Android平台的默认运行时环境。)*其中核心库提供了Java语言核心库的大多数功能,这样开发者可以使用Java语言来编写Android应用。而ART则是专门为移动设备定制的Java虚拟机,在之前还有被淘汰的Dalvik虚拟机。ART和JVM还是有很大的区别,它是由C++编写,用来运行Java程序,所以非常关键。而且Android系统还允许同时允许多个ART实例,所以在Android系统中,每个进程都有一个虚拟机,一个APP发生崩溃不会影响其他APP。
- Linux内核层(Linux Kernel)
Android的核心服务是基于Linux内核,同时在该基础上添加了Android专用的驱动,比如Binder。由于Linux系统的优秀性,Android在基于Linux于安全性、内存管理、进程管理等都有很大优势。
Android四大组件
Activity(活动)
- 作用:
用户交互的界面,负责展示UI并处理用户操作(如点击、滑动)。
- 特点:
一个应用通常由多个Activity组成,通过栈管理(任务栈)。
通过Intent跳转或传递数据。
生命周期回调(如onCreate()、onDestroy())用于管理资源。
Service(服务)
- 作用:
在后台执行长时间运行的操作(如下载、播放音乐),无界面。
- 特点:
启动服务:通过startService()启动,需手动停止。
绑定服务:通过bindService()与组件绑定,可跨进程通信(IPC)。
典型场景:后台网络请求、定时任务等。
BroadcastReceiver(广播接收器)
作用:监听系统或应用发出的广播(如电量不足、网络变化),并触发响应。
特点:
可启用Activity、Notification通知
ContentProvider(内容提供者)
作用:管理应用间数据共享,提供统一的访问接口(如通讯录、数据库)。
特点:
通过ContentResolver操作数据(增删改查)。
支持权限控制,保障数据安全。
知识点
Intent(意图):四大组件间通信的纽带,可显式/隐式指定目标组件。
AndroidManifest.xml:所有组件需在此文件中声明(注册),否则无法使用。
四大组件各司其职,共同构成Android应用的基石:Activity管界面、Service管后台、BroadcastReceiver管事件、ContentProvider管数据共享。