知识的价值不在于占有,而在于使用。这篇文章主要讲述Android Studio教程02-应用程序结构图及应用基础相关的知识,希望能为你提供帮助。
目录
- 1. Android应用程序开发技术结构图
- 2.Android的应用基础
- 2.1. Android的四大组件:
- 1. Android组件1: Activity
- 2. Android组件2: Serice
- 3. Android组件3: Content Provider
- 4. Android组件4: BroadcastReceiver
- 2.2.启动四大组件的方法
- 2.3. 清单文件
androidManifest.xml
- 1.声明组件
- 2.1. Android的四大组件:
文章图片
一、应用程序层
- 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。
- 该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。
- 这一层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。
- Libraries: 不属于Java,这个库是手机的常用功能
- Android Runtime:针对于android定制的java虚拟机和jdk包
- Core librires: 类似于java的jdk包
- Virtual Machine:这是google自己开发的Java虚拟机
- Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。
2.1. Android的四大组件: 1. Android组件1: Activity
- Activity 表示具有用户界面的单一屏幕。
- 主要负责耗时的工作,后台运行,用户看不到
- 相当于图书馆一样,数据共享的组件
- 这是安卓向外暴露数据的方法
- 您可以将数据存储在文件系统、SQLite 数据库、网络上或您的应用可以访问的任何其他永久性存储位置。
- 其他应用可以通过内容提供程序查询数据,甚至修改数据(如果内容提供程序允许)。
- 监听手机发生的一切事情(手机要没电了,锁屏了...)
- 用于监听系统行为
- 通过将
Intent
传递到startActivity()
或startActivityForResult()
(当您想让 Activity 返回结果时)来启动Activity
(或为其安排新任务)。
- 通过将
Intent
传递到startService()
来启动服务(或对执行中的服务下达新指令)。 或者,您也可以通过将Intent
传递到bindService()
来绑定到该服务。
- 通过将
Intent
传递到sendBroadcast()、sendOrderedBroadcast()
或sendStickyBroadcast()
等方法来发起广播
- 通过在
ContentResolver
上调用query()
来对内容提供程序执行查询。
AndroidManifest.xml
【Android Studio教程02-应用程序结构图及应用基础】Android
系统启动应用组件之前,系统必须通过读取应用的 AndroidManifest.xml
文件(“清单”文件)确认组件存在。 您的应用必须在此文件中声明其所有组件,该文件必须位于应用项目目录的根目录中。其他功能有:
- 确定应用需要的任何用户权限,如互联网访问权限或对用户联系人的读取权限
- 根据应用使用的 API,声明应用所需的最低 API 级别
- 声明应用使用或需要的硬件和软件功能,如相机、蓝牙服务或多点触摸屏幕
- 应用需要链接的 API 库
- 其他
<
?xml version="1.0" encoding="utf-8"?>
<
manifest ... >
<
application android:icon="@drawable/app_icon.png" ... >
<
activity android:name="com.example.project.ExampleActivity"
android:label="@string/example_label" ... >
<
/activity>
...
<
/application>
<
/manifest>
您必须通过以下方式声明所有应用组件:
- Activity 的
< activity>
元素
- 服务的
< service>
元素
- 广播接收器的
< receiver>
元素
- 内容提供程序的
< provider>
元素
推荐阅读
- 无apk,怎么获取app的activity
- Android studio配置git
- failedto resolve:com.android.support:design:28.+
- 有屏幕的地方就有BadApple!!
- DuckDuckGo将与整合Apple Maps有更丰富的地图信息及隐私
- 原生安卓去除网络叉号
- Android高效加载大图多图解决方案,有效避免程序OOM
- 利用WindowsServiceWrapper(WinSW)将nginx包装为系统服务
- Mac + Android之Android Studio 环境搭建,AVD模拟器运行(包括Genymotion模拟器插件配置运行)