前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-Android应用开发入门教程(应用程序开发的结构)

速读原著-Android应用开发入门教程(应用程序开发的结构)

作者头像
cwl_java
发布2020-01-15 10:42:10
5030
发布2020-01-15 10:42:10
举报
文章被收录于专栏:cwl_Javacwl_Java

第 3 章 Android应用层程序的开发方式

3.1 应用程序开发的结构

Android 应用程序开发是 Android 开发中最上面的一个层次,它们构建在 Android 系统提供的 API 之上。Android 应用程序的基础是 Android 提供的各个 Java 类,这些类组成了 Android 系统级的 API。

在这里插入图片描述
在这里插入图片描述

Android 应用程序可以基于两种环境来开发:Android SDK 和 Android 源代码。Android 系统本身内置了一部分标准应用(也包括内容提供者),在仿真器(包括 SDK 环境和源代码环境)中已经包含这些内置的程序。

用户自行开发的应用程序和 Android 内置的应用层程序包位于同一个层次,都是基于 Android 框架层的 API来构建的,它们的区别仅仅在于他们是否被包含在默认的 Android 系统中。

3.2 API参考文档的使用

在开发 Android 应用程序时可以参考 SDK 中提供的参考文档(SDK\docs\index.html),其内容包含在Reference 标签中。

参考文档分成两种索引方式:

  • Package Index(包索引);
  • Class Index(类索引)。 包索引根据字母顺序列出 Android 的各个包,每个包中包含若干个类、接口等内容;类索引按照字母顺序列出了所有的类(也包括接口等内容)。在查找一个类的帮助信息时,如果不知道其属于哪个包,则可以先根据类索引进行查找,打开类的帮助后,可以反向得知它属于哪个包。

根据包索引,每一个包中包含的主要内容大致如下所示:

  • Interfaces(接口类);
  • Classes(类);
  • Enums(枚举值);
  • Exceptions(异常)。

每个包中包含的内容,基本上是 Java 语言中标准的内容。

Android 的参考文档中的类是 Android 系统 API 的主要组成部分,主要参考的内容包括了以下的内容。根据类索引,每一个类中包含的主要内容大致如下所示:

  • 扩展和实现的内容;
  • 按包名的继承(扩展)关系(可用于反向查找这个类所在的包);
  • Overview(概览);
  • XML Attributes(XML 属性); „ Constants(常量);
  • Constructors(构造方法);
  • Methods(方法)。

在这些帮助内容中,大部分是 Java 语言的基本语法内容,只有 XML Attributes(XML 属性)一项是 Android专用的。某些重要的类还包含对于类的详细介绍的图表。

例如,Activity 类的帮助文档的前面的信息如下所示:

在这里插入图片描述
在这里插入图片描述

从 Activity 类中可以看出,类的帮助文档主要包含以下一些内容:

  • public class:表示只是一个公开的类;
  • extends [……]:标明了这个类继承的父类(Java 不支持多继承,因此每个类只有一个唯一的父类), 后面的内容表示这个类从祖先开始继承的关系。这里的类使用的是包含了其所在包名称的全名,因此在这里可以得知类及其祖先类属于哪个包;
  • Implements [……]:标明了这个类实现的接口(可以有多个);
  • Known Direct Subclasses [……]:这个类的直接继承者;
  • Known Indirect Subclasses [……]:这个类的间接继承者。

从中,可以看出 Activity 类在 android.app 包中,直接继承了 android.view.ContextThemeWrapper,并且被ActivityGroup, ListActivity 等几个类直接继承。被 LauncherActivity 等几个类间接继承。

类的介绍的主要内容在后面,主要部分是各个类的方法的说明,这些方法也是在类的使用过程中需要主要关注的内容。 类的帮助中一般只列出了自己的常量、方法、XML 属性等,对于继承得到的内容(包括方法和常量),按照继承的顺序列出。由于 JAVA 类是单向继承,因此在这个部分,首先是父类、然后是祖父类,以此类推。

某些与 UI 内容相关的类的帮助文档有一些特殊,主要区别是包含了 XML attributes(XML 属性)一类。XML Attributes(XML 属性),是出现在 AndroidManifest.xml 或者布局文件中(*.xml)的属性。

例如 Button 类的参考文档的主要内容如下所示:

在这里插入图片描述
在这里插入图片描述

Button 类的头部信息和普通的类基本相同,但是包含了 XML attributes 一个项目,在这里包含了 Button Attributes,TextView Attributes,View Attributes,根据类的继承关系可以得知,这个启示是自己的属性、父类的属性(Button 类的父类是 android.widget.TextView)、祖父类的属性(Button 类的祖父类是 android.view.View)。

Button 类刚好没有自己的 XML 属性,但是其父类和祖父类有,展开 Inherited XML Attributes 项目的 From class android.widget.TextViewFrom class android.view.View 可以得到这些属性的列表。每个属性包含了Attribute Name(属性名称) Related Method(相关方法) Description(描述)几个项目。

例如,TextView 的几个属性如下所示: android:text 等表示了属性在 XML 文件中的名称,setText()等表示了在 JAVA 源文件中使用的方法,最右侧的内容是这个属性的描述。

点击 XML attributes 中的连接可以进入其详细的内容中查看,这些 XML 属性的帮助以及相关的值可以在android.R.styleable 类中查找,这个类也可以直接被调出,方法为:

代码语言:javascript
复制
Package Index → android → android.R.styleable

android.R.styleable 中列出了一些类的 XML 属性,

这里列出了属性的值(Value),这些值的本质是整数常量,但是在 XML 中使用的还是名称。整数值是Android 内部运作使用的。

XML 属性有些是在布局文件中使用的,也有在 AndroidManifest.xml 中使用的,或者在其他的 XML 文件中使用。

这在 android.R.styleable 的帮助信息中,以 AndroidManifest 为开头的内容是在 AndroidManifest.xml 中使用的属性。

例如,AndroidManifestAction 项目是 AndroidManifest.xml 中的 Action 标签中使用的内容,如下所示:

在这里插入图片描述
在这里插入图片描述

Attribute Summary 中的 android:name 引用的内容是 AndroidManifest.xml 中的 Action 标签可以使用的android:name 属性。

相比各种类的帮助信息,接口(Interface)的帮助信息更加简单一些。一般的接口是需要被实现才能够使用的。

例如,View.OnClickListener 的帮助信息前面的内容如下所示:

在这里插入图片描述
在这里插入图片描述

这里的,android.view.View.OnClickListener 表示了 View.OnClickListener 这个接口在 android.view 这个包中。对于一个接口,Indirect Subclasses 的含义为实现(implements)这个接口。

View.OnClickListener 的帮助信息后面的内容同样列出这个接口中包含的成员方法,如下所示:

在这里插入图片描述
在这里插入图片描述

这些方法是要求接口的实现者来实现的,如果一个类实现了 View.OnClickListene 这个接口,其中就必须要有这个接口的 onClick()函数。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第 3 章 Android应用层程序的开发方式
    • 3.1 应用程序开发的结构
      • 3.2 API参考文档的使用
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档