Introducing AndroidX Tech

AndroidX Tech (https://androidx.tech) is a site that I am maintaining that contains additional information about the various androidx libraries, beyond what is offered in the official documentation. It arose from a variety of frustrations when trying to use these libraries and classes.

For example, earlier this week, I wanted to know when saved-state support was added to the ViewModel classes. I knew that it involved the SavedStateHandle class, but the official documentation does not show the artifact that this class resides in, let alone any version information about that artifact (e.g., when was this class added?). In some cases, the release notes help, and a search of the lifecycle release notes would turn up some information. That’s not a reliable solution, though, as not everything gets mentioned in release notes.

Instead, I went to the AndroidX Tech page for the androidx.lifecycle package. There, every class that has appeared in that package is listed, along with the artifact and versions. There, we can see that SavedStateHandle was introduced in androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01 and the most recent version is androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha03.

In addition to lists of classes and their associated artifacts, I have:

  • Pages per artifact, including:
    • Links to the release notes
    • Links to details about each artifact version
    • Links to documentation, articles, samples, and so forth, that I am manually collecting (though I’m only a tiny way through all of the artifacts at this point)
    • Some notes about the role of the artifact, for artifacts that you are likely to use directly
  • Pages per artifact version, including:
    • The release date
    • The SHA-256 checksum of the AAR that I am seeing
    • The minimum and target SDK version information
    • Any permissions that the artifact requires
    • The transitive dependencies that the artifact requires
    • Links to each of the source files found in that artifact version
  • Formatted source for every source file from every artifact version
  • Blog-style posts for new artifacts and versions that I am seeing, including an Atom feed

In addition to building out the manually-curated content and updating the site for new artifacts and versions, I am still working on the site layout. The site is built using MkDocs, which is a nice tool that does not scale to thousands of pages very well. So, I will be rebuilding this in some other static site generator eventually, though I will be keeping the existing URL structure.

If there are other bits of information that you think would be useful on this site — whether it is automatically built from the AARs and POMs or manually added — let me know!. Similarly, if you encounter any problems with the site, tell me!. If you have content about AndroidX that you would like to contribute, the curated content GitLab repo has details about that.