Most visited

Recently visited

Package Index - Android SDK

These are the API packages. See all API classes.


Contains resource classes used by applications included in the platform and defines application permissions for system features.


The classes in this package are used for development of accessibility service that provide alternative or augmented feedback to the user.


These classes provide functionality for the property animation system, which allows you to animate object properties of any type. int, float, and hexadecimal color values are supported by default. You can animate any other type by telling the system how to calculate the values for that given type with a custom TypeEvaluator.

For more information, see the Animation guide.


Contains high-level classes encapsulating the overall Android application model.

Provides device administration features at the system level, allowing you to create security-aware applications that are useful in enterprise settings, in which IT professionals require rich control over employee devices.

For more information, see the Device Administration guide.

Contains the backup and restore functionality available to applications. If a user wipes the data on their device or upgrades to a new Android-powered device, all applications that have enabled backup can restore the user's previous data when the application is reinstalled.

For more information, see the Data Backup guide.

Contains the components necessary to create "app widgets", which users can embed in other applications (such as the home screen) to quickly access application data and services without launching a new activity.

For more information, see the App Widgets guide.


Provides classes that manage Bluetooth functionality, such as scanning for devices, connecting with devices, and managing data transfer between devices. The Bluetooth API supports both "Classic Bluetooth" and Bluetooth Low Energy.

For more information about Classic Bluetooth, see the Bluetooth guide. For more information about Bluetooth Low Energy, see the Bluetooth Low Energy (BLE) guide.


Contains classes for accessing and publishing data on a device.

Contains classes for accessing information about an application package, including information about its activities, permissions, services, signatures, and providers.


Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.

For more information, see the Application Resources guide.

android.database Contains classes to explore data returned through a content provider.
android.database.sqlite Contains the SQLite database management classes that an application would use to manage its own private database.

Contains components used when developing applications with data binding.


Provides classes for managing DRM content and determining the capabilities of DRM plugins (agents).

android.gesture Provides classes to create, recognize, load and save gestures. Provides low level graphics tools such as canvases, color filters, points, and rectangles that let you handle drawing to the screen directly.

Provides classes to manage a variety of visual elements that are intended for display only, such as bitmaps and gradients. Contains classes for drawing geometric shapes. Contains classes for manipulation of PDF content.

Provides support for hardware features, such as the camera and other sensors.


The android.hardware.camera2 package provides an interface to individual camera devices connected to an Android device.


Provides support to communicate with USB hardware peripherals that are connected to Android-powered devices.

For more information, see the USB guide.
android.inputmethodservice Base classes for writing input methods (such as software keyboards).

Contains the framework API classes that define Android location-based and related services. Provides classes that manage various media interfaces in audio and video. Provides classes that manage audio effects implemented in the media framework.

Provides classes that allow you to apply a variety of visual effects to images and videos.

Provides classes for sending and receiving messages using the standard MIDI event protocol over USB, Bluetooth LE, and virtual (inter-app) transports.

Provides APIs that let you interact directly with connected cameras and other devices, using the PTP (Picture Transfer Protocol) subset of the MTP (Media Transfer Protocol) specification. Classes that help with network access, beyond the normal* APIs.

Provides APIs for RTP (Real-time Transport Protocol), allowing applications to manage on-demand or interactive data streaming.

Provides access to Session Initiation Protocol (SIP) functionality, such as making and answering VOIP calls using SIP.

For more information, see the Session Initiation Protocol developer guide.

Provides classes to manage Wi-Fi functionality on the device.

Provides classes to create peer-to-peer (P2P) connections with Wi-Fi Direct.

Provides access to Near Field Communication (NFC) functionality, allowing applications to read NDEF message in NFC tags. A "tag" may actually be another device that appears as a tag.

For more information, see the Near Field Communication guide.


These classes provide access to a tag technology's features, which vary by the type of tag that is scanned.


Provides an OpenGL ES static interface and utilities.

android.os Provides basic operating system services, message passing, and inter-process communication on the device. The package contains a set of classes to provide data to track the system resources of applications.

Contains classes for the system storage service, which manages binary asset filesystems known as Opaque Binary Blobs (OBBs).

android.preference Provides classes that manage application preferences and implement the preferences UI.


Provides classes for implementing print support in applications and also contains all base classes and abstractions involved in printing.


Provides classes for implementing print services.


Provides convenience classes to access the content providers supplied by Android.


RenderScript provides support for high-performance computation across heterogeneous processors.

For more information, see the RenderScript developer guide.

android.sax A framework that makes it easy to write efficient and robust SAX handlers.

Provides access to a few facilities of the Android security subsystems.

Provides classes that allow you to create spell checkers in a manner similar to the input method framework (for IMEs).

android.speech.tts Support classes to access some of the package features introduced after API level 13 in a backwards compatible fashion.

Support classes for building Leanback user experiences.

Support classes providing high level Leanback user interface building blocks: fragments and helpers.

Support classes providing low level Leanback user interface building blocks: widgets and helpers. Support android.accessibilityservice classes to assist with development of applications for android API level 4 or later. Support android.content classes to assist with development of applications for android API level 4 or later. Support classes to assist with development of applications for android API level 4 or later. Support android.database classes to assist with development of applications for android API level 4 or later. Support android.os classes to assist with development of applications for android API level 4 or later. Support android.util classes to assist with development of applications for android API level 4 or later. Support android.util classes to assist with development of applications for android API level 4 or later. Support classes to access some of the android.view.accessibility package features introduced after API level 4 in a backwards compatible fashion. Support android.widget classes to assist with development of applications for android API level 4 or later.

Contains APIs that control the routing of media channels and streams from the current device to external speakers and destination devices.
android.telephony Provides APIs for monitoring the basic phone information, such as the network type and connection state, plus utilities for manipulating phone number strings.
android.telephony.cdma Provides APIs for utilizing CDMA-specific telephony features.
android.telephony.gsm Provides APIs for utilizing GSM-specific telephony features, such as text/data/PDU SMS messages.

A framework for writing Android test cases and suites.

For more information, see the Testing developer guide.


Utility classes providing stubs or mocks of various Android framework building blocks.

For more information, see the Testing guide.

android.test.suitebuilder Utility classes supporting the test runner classes.
android.test.suitebuilder.annotation Utility classes supporting the test runner classes.

Provides classes used to render or track text and text spans on the screen.

android.text.format This package contains alternative classes for some text formatting classes defined in java.util and java.text.

Provides classes that monitor or modify keypad input.

Provides classes used to view or change the style of a span of text in a View object.

android.text.util Utilities for converting identifiable text strings into clickable links and creating RFC 822-type message (SMTP) tokens.

The classes in this package enable "scenes & transitions" functionality for view hiearchies.

android.util Provides common utility methods such as date/time manipulation, base64 encoders and decoders, string and number conversion methods, and XML utilities.
android.view Provides classes that expose basic user interface classes that handle screen layout and interaction with the user.

The classes in this package are used to represent screen content and changes to it as well as APIs for querying the global accessibility state of the system.


Provides classes that handle tweened animations.

android.view.inputmethod Framework classes for interaction between views and input methods (such as soft keyboards).

Provides tools for browsing the web.


The widget package contains (mostly visual) UI elements to use on your Application screen.
java.beans Provides for system input and output through data streams, serialization and the file system.
java.lang Provides classes that are fundamental to the design of the Java programming language.
java.lang.annotation Provides library support for the Java programming language annotation facility.
java.lang.ref Provides reference-object classes, which support a limited degree of interaction with the garbage collector.
java.lang.reflect Provides classes and interfaces for obtaining reflective information about classes and objects.
java.math Provides the classes for implementing networking applications.
java.nio Defines buffers, which are containers for data, and provides an overview of the other NIO packages.
java.nio.channels Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.channels.spi Service-provider classes for the java.nio.channels package.
java.nio.charset Defines charsets, decoders, and encoders, for translating between bytes and Unicode characters.
java.nio.charset.spi Service-provider classes for the java.nio.charset package. Provides the classes and interfaces for the security framework. The classes and interfaces in this package have been superseded by classes in the package. Provides classes and interfaces for parsing and managing certificates, certificate revocation lists (CRLs), and certification paths. Provides interfaces for generating RSA (Rivest, Shamir and Adleman AsymmetricCipher algorithm) keys as defined in the RSA Laboratory Technical Note PKCS#1, and DSA (Digital Signature Algorithm) keys as defined in NIST's FIPS-186. Provides classes and interfaces for key specifications and algorithm parameter specifications.
java.sql Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
java.text Provides classes and interfaces for handling text, dates, numbers, and messages in a manner independent of natural languages.
java.util Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
java.util.concurrent Utility classes commonly useful in concurrent programming.
java.util.concurrent.atomic A small toolkit of classes that support lock-free thread-safe programming on single variables.
java.util.concurrent.locks Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors.
java.util.jar Provides classes for reading and writing the JAR (Java ARchive) file format, which is based on the standard ZIP file format with an optional manifest file.

Provides the classes and interfaces of the JavaTM 2 platform's core logging facilities.

java.util.prefs This package allows applications to store and retrieve user and system preference and configuration data.
java.util.regex Classes for matching character sequences against patterns specified by regular expressions. Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections. Provides classes for reading and writing the standard ZIP and GZIP file formats.
javax.crypto Provides the classes and interfaces for cryptographic operations.
javax.crypto.interfaces Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.
javax.crypto.spec Provides classes and interfaces for key specifications and algorithm parameter specifications.

Provides a standard OpenGL interface. Provides classes for networking applications. Provides classes for the secure socket package. This package provides a framework for authentication and authorization. This package provides the classes necessary for services to interact with applications in order to retrieve information (authentication data including usernames or passwords, for example) or to display information (error and warning messages, for example). This package provides a pluggable authentication framework. This package contains the classes that should be used to store X500 Principal and X500 Private Crendentials in a Subject. Provides classes for public key certificates.
javax.sql Provides the API for server side data source access and processing from the JavaTM programming language.
junit.framework The junit test framework.
junit.runner Utility classes supporting the junit test framework.
org.apache.http.conn.ssl TLS/SSL specific parts of the HttpConn API.