| Framework Category | Description | Key Classes/Packages |
|---|---|---|
| Activity & Fragment | Fundamental building blocks for user interfaces. Activities represent a single screen with a user interface, while Fragments represent reusable portions of an Activity's UI. | android.app.Activity, androidx.fragment.app.Fragment, android.content.Intent, android.os.Bundle, androidx.appcompat.app.AppCompatActivity |
| UI (Views & Layouts) | APIs for creating and managing the visual elements of an application's user interface, including layouts (how elements are arranged) and individual UI components (like buttons, text fields, lists). | android.view.View, android.view.ViewGroup, android.widget.* (TextView, EditText, Button, RecyclerView, ListView, etc.), android.view.LayoutInflater, androidx.constraintlayout.widget.ConstraintLayout, androidx.recyclerview.widget.RecyclerView |
| Application Components | Components that don't have a direct UI but perform background tasks or interact with other applications: Services (for long-running tasks), Broadcast Receivers (for reacting to system-wide events), Content Providers (for managing shared application data). | android.app.Service, android.content.BroadcastReceiver, android.content.Intent, android.content.ContentProvider, android.net.Uri, android.content.Context |
| Data Storage | APIs for storing and retrieving application data, including shared preferences (for simple key-value pairs), internal/external storage (for files), and SQLite databases (for structured data). | android.content.SharedPreferences, android.content.Context.getSharedPreferences, java.io.File, android.database.sqlite.SQLiteDatabase, android.database.Cursor, androidx.room.* (Room Persistence Library) |
| Networking | APIs for performing network operations, such as making HTTP requests and working with sockets. | java.net.* (standard Java networking), android.net.ConnectivityManager, android.net.NetworkInfo, android.net.wifi.WifiManager, okhttp3.* (popular third-party library often used), java.net.HttpURLConnection |
| Location & Sensors | APIs for accessing device location information (GPS, Wi-Fi, cell) and various hardware sensors (accelerometer, gyroscope, etc.). | android.location.LocationManager, android.location.LocationListener, android.hardware.SensorManager, android.hardware.SensorEventListener, android.hardware.Sensor |
| Permissions | System for declaring and requesting permissions to access sensitive user data or system features. | android.Manifest.permission.*, androidx.core.app.ActivityCompat.requestPermissions, androidx.activity.result.contract.ActivityResultContracts.RequestPermission, androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions |
| Background Tasks | APIs for managing tasks that run in the background, even when the application is not in the foreground (e.g., using WorkManager for reliable background execution). | androidx.work.* (WorkManager), android.app.AlarmManager, android.content.IntentService (deprecated but still relevant in some older code) |
| Notifications | APIs for displaying alerts and information to the user outside of the application's UI. | android.app.NotificationManager, android.app.NotificationCompat.Builder, android.app.PendingIntent |
| Graphics & Multimedia | APIs for drawing graphics (2D and 3D), handling images, audio, and video. | android.graphics.* (Canvas, Paint, Bitmap, Drawable), android.media.* (MediaPlayer, MediaRecorder), android.opengl.* (for OpenGL ES), android.graphics.drawable.* |
| Telephony & Connectivity | APIs for accessing phone-related information and managing various connectivity options (Wi-Fi, Bluetooth, cellular). | android.telephony.* (TelephonyManager, SmsManager), android.net.wifi.WifiManager, android.bluetooth.* (BluetoothAdapter, BluetoothDevice), android.net.ConnectivityManager |
| Content Providers | APIs that allow applications to share data with each other in a structured and secure way. | android.content.ContentProvider, android.content.ContentResolver, android.net.Uri, android.provider.* (MediaStore, ContactsContract) |
| Security & Identity | APIs for handling security-related tasks like cryptography, secure storage, and user authentication. | java.security.* (standard Java security), javax.crypto.* (standard Java cryptography), android.security.* (KeyStore, KeyChain), androidx.biometric.* (BiometricPrompt) |
| Testing | Framework and APIs to facilitate various types of application testing (unit, integration, UI). | junit.*, androidx.test.* (AndroidJUnit4, ActivityScenario, Espresso, UI Automator), org.mockito.* |
You can access the my other awesome lists here
Contributions of any kind welcome, just follow the guidelines!
