[To Android Page]
[To Main Page]

 
 
 

Android Class Hierarchy and Directed Graphs

Updated: 16-Jan-2020
By: Dennis Lang
The following Java Class Tree list and Directed Graphs were produced by parsing Java code and finding class definitions using a regular expression pattern. This approach is not perfect but good enough. The only special logic is to try and detect literal strings and comment blocks and ignore parsing any class key words inside them.

Below you can find both a Tree list view and a Directed Graph of several Android Java Packages for several API levels.

At the bottom there are a few direct graphs with a viewer that supports panning and zooming but I recommend you download the full size picture to examine it in more detail. I also provide links to a few other class diagram tools.

The source code and program executable used to parse the Android code and generate the class hierarchy diagrams can be found on here:
(old 2018) JavaTree - parse java code into class diagrams
(new 2019) llclasses - parse java code into class diagrams


Table sourced from wiki Android_version_history
Code name Version Initial date API level Security patches
KitKat Old version, no longer supported: 4.4 – 4.4.4 Oct 31, 2013 19 – 20 Unsupported
Lollipop Older version, yet still supported: 5.0 – 5.1.1 Nov 12, 2014 21 – 22 Unsupported
Marshmallow Older version, yet still supported: 6.0 – 6.0.1 Oct 5, 2015 23 Unsupported
Nougat Older version, yet still supported: 7.0 – 7.1.2 Aug 22, 2016 24 – 25 Supported
Oreo Older version, yet still supported: 8.0 – 8.1 Aug 21, 2017 26 – 27 Supported
Pie Older version, yet still supported: 9.0 Aug 6, 2018 28 Supported
Quince Tart Older version, yet still supported: 10.0 Sep 3, 2019 29 Supported
Red Velvet Cake Current stable version: 11.0 Sep 8, 2020 30 Supported
Snow Cone BETA 12.0 2021 31 BETA


Tree (list) of Java
Exceptions
api 28

Class tree diagram for Kitkat (API 19) 4.4

Tree (list) of classes
View package
api 19
Tree (list) of classes
Widget package
api 19
Tree (list) of classes
App package
api 19

Class tree diagram for Lollipop (API 21) 5.0

Tabular (list) of classes
All api 21
** Very long list

Tree (list) of classes
View package
api 21
Tree (list) of classes
Widget package
api 21
Tree (list) of classes
App package
api 21
Tree (list) of classes
Util package
api 21

Class tree diagram for Lollipop (API 22) 5.1

Tabular (list) of classes
All api 22
** Very long list

Tree (list) of classes
View package
api 22
Tree (list) of classes
Widget package
api 22
Tree (list) of classes
App package
api 22
Tree (list) of classes
Util package
api 22

Class tree diagram for Marshmallow (API 23) 6.x

Tabular (list) of classes
All api 23
** Very long list

Tree (list) of classes
View package
api 23
Tree (list) of classes
Widget package
api 23
Tree (list) of classes
App package
api 23
Tree (list) of classes
Util package
api 23

Class tree diagram for Nougat (API 24) 7.0

Tabular (list) of classes
All api 24
** Very long list

Tree (list) of classes
View package
api 24
Tree (list) of classes
Widget package
api 24
Tree (list) of classes
App package
api 24
Tree (list) of classes
Util package
api 24

Class tree diagram for Nougat (API 25) 7.1

Tabular (list) of classes
All api 25
** Very long list

Tree (list) of classes
View package
api 25
Tree (list) of classes
Widget package
api 25
Tree (list) of classes
App package
api 25
Tree (list) of classes
Util package
api 25

Class tree diagram for Oreo (API 26) 8.0

Tabular (list) of classes
All api 26
** Very long list

Tree (list) of classes
View package
api 26
Tree (list) of classes
Widget package
api 26
Tree (list) of classes
App package
api 26
Tree (list) of classes
Util package
api 26

Class tree diagram for Oreo (API 27) 8.1

Tabular (list) of classes
All api 27
** Very long list

Tree (list) of classes
View package
api 27
Tree (list) of classes
Widget package
api 27
Tree (list) of classes
App package
api 27
Tree (list) of classes
Util package
api 27

Class tree diagram for Pie (API 28) 9.0

Tabular (list) of classes
All api 28
** Very long list

Tree (list) of classes
View package
api 28
Tree (list) of classes
Widget package
api 28
Tree (list) of classes
App package
api 28
Tree (list) of classes
Util package
api 28

Class tree diagram for Pie (API 29) 10.0

Tabular (list) of classes
All api 29
** Very long list

Tree (list) of classes
View package
api 29
Tree (list) of classes
Widget package
api 29
Tree (list) of classes
App package
api 29
Tree (list) of classes
Util package
api 29

Class tree diagram for Pie (API 30) 11.0

Tabular (list) of classes
All api 30
** Very long list

Tree (list) of classes
View package
api 30
Tree (list) of classes
Widget package
api 30
Tree (list) of classes
App package
api 30
Tree (list) of classes
Util package
api 30


  The directed graphs are produced by Graphviz using a "dot" file generated by my Java parser.  

Android (api 21) Widget Package - View and ViewGroup class

Full size digraph of View classes api 21

Pan and Zoom View (api 21) class hierarchy graphs

View (Spread)
ViewGroup (Spread)
View (Rows)
ViewGroup (Rows)

Directed class diagrams Android packages

Directed graph View
Package api 23
Directed graph Widget
Package api 23
Directed graph View
Package api 24
Directed graph Widget
Package api 24
Directed graph View
Package api 25
Directed graph Widget
Package api 25
Directed graph View
Package api 26
Directed graph Widget
Package api 26
Directed graph View
Package api 27
Directed graph Widget
Package api 27


Class Diagram Tools / Sites