安卓入门基础知识

1 . 安卓的4大组件: Activity, Service, ContentProvider, BroadcastReceiver.
(1) Activity

一个 Activity 表示一个窗口,Activity 组件继承 Activity 基类。
通过 SetContentView(View) 来显示指定的组件,通过 SetTheme(int resid) 来设置窗口的风格。
Activity 主要用于和用户进行交互。

(2) Service

Service 是在后台运行,没有用户界面,不需要和用户进行交互。
Service 组件继承 Service 基类。

(3) BroadcastReceiver

是广播消息接收器,主要用于监听,监听其他组件

(4) ContentProvider

ContentProvider 经常和 ContentResolver 搭配使用,主要用于多个应用程序之间的数据交换。
ContentProvider 用于暴露自己的数据,ContentResolver 用于访问其他应用程序的数据。

综上,4大组件分别负责不同的功能,Activity 负责和用户交互,负责界面,Service 负责后台负责实践的响应, ContentProvider 负责多个应用程序之间的数据交换, BroadcastReceiver 负责监听其他组件。各部分之间各司其职,互相配合,组成了一个完整的安卓应用程序。

 Activity,Service,BroadcastReceiver 三个组件之间通过 Intent 进行通信, Intent是组件之间的通信载体。
 Intent 分为显示 Intent 和隐式 Intent,隐式 Intent 需要通过 IntentFilter 来实现(搭配使用)。

安卓以包名作为唯一标识,如果两个应用程序的包名相同,则后者会覆盖前者。

如下图,表示的是安卓的一些基本容器和组件:

这里写图片描述

1 View 是所有UI控件,容器控件的基类,是一个空白的矩形区域。
2 ViewGroup 继承自 View,并作为其他组件的容器使用
3 安卓中有常见的6种布局方式,绝对布局,相对布局,帧布局,线性布局,网格布局以及表格布局,继承关系如图所示。

安卓中的事件处理方式有两种:

基于回调的事件处理
基于监听器的事件处理

1 基于回调的事件处理:

直接重写特定的回调方法即可
用一个类来继承基类并重写基类的方法
将这个类用在Activity上

2 基于监听器的事件处理:

将处理方法(类)注册到组件上
触发组件,产生事件
将事件作为参数传入处理方法中

接下来,我们来介绍安卓的一些运行原理:
安卓是硬件设备+linux操作系统,linux操作系统是多用户的,一个安卓设备可以安装多个app,一个app就代表一个用户,有一个独立的 linux Id,这个ID只有系统知道,app本身并不知道。
上面已经说过,一个安卓设备可以安装多个app,每个app有自己独立的盒子,app独立运行 ,独立于其它app。
一个app运行,会开一个linux进程,每个进程都有自己的虚拟机。
Android Stutio内置了SQLite 数据库,大部分数据都存在数据库中,linux 系统为SQLite 数据设置访问权限。
一个app中有很多组件,4大组件是 Activity, Service, ContentProvider, BroadcastReader, 4大组件上文已经详细介绍过,Activity 是窗体,是和用户交互的,Service 是后台服务,主要指的是后台运行的服务,如你当前在逛知乎,后台在播放网易云,BroadcastReader 是广播,大部分广播都是响应系统发送的广播,大部分都是硬件信息,如电池电量等。

安卓没有Main 入口点,不同进程之间有权限设定,”A”款app不能直接访问”B”款app的组件,但是可以间接通过系统来访问,系统可以访问(激活)任何app的任何组件。
Activity , Service, BroadcastReader三种类型的组件都可以通过Intent 激活(访问), Intent可以简单理解为各个组件之间的信使,ContentProvider 组件不能通过Intent 激活。通过Intent 避免了部分权限访问问题。

AndroidManifest.xml 是配置文件,主要作用是声明一款app所需要的设备和软件,即只有符合特定要求的设备和软件才能安装本款app. 安卓系统在启动组件的时候去访问 Manifest.xml 文件,从而知道本款app拥有哪些组件,方便后期对组件进行操作。

声明一款app所需要的设备和软件,主要是给第三方应用如 google play, 豌豆荚等使用,第三方平台会根据此消息对app进行过滤。

猜你喜欢

转载自blog.csdn.net/hqm12345qw/article/details/79378935
今日推荐