Design Android UI Layout
UI Layout: The structure that defines how user interface elements are arranged on the screen.
XML Layout: A markup language used to define the UI layout of Android applications.
View: A basic building block of UI components that can display data and respond to user input.
ViewGroup: A special view that can contain other views (children) and define their layout.
LinearLayout: A layout that arranges its children in a single row or column.
RelativeLayout: A layout that arranges its children relative to each other or to the parent container.
ConstraintLayout: A flexible layout that allows for complex UI designs without nested views.
ScrollView: A layout that allows users to scroll through its content vertically or horizontally.
RecyclerView: A flexible view for displaying a large dataset in a list format with efficient recycling of views.
CardView: A layout that displays information in a card-like format, with rounded corners and shadows.
Drawable: A graphic that can be drawn to the screen, used as backgrounds or icons in layouts.
LayoutInflater: A class that converts XML layout files into corresponding View objects.
Style: A set of attributes that define the appearance of a UI component.
Theme: A collection of styles applied across an application or activity to maintain a consistent look.
Dimension Resource: A resource type used to define size values in a flexible way.
Margins: The space outside a view that separates it from other views or the parent container.
Padding: The space inside a view that separates its content from its edges.
Visibility: A property that determines whether a view is visible, invisible, or gone.
Animations: Visual effects applied to views to create movement or transitions.
Touch Events: Events that respond to user touch interactions, such as taps or swipes.
Activity Lifecycle
Activity: A single screen with a user interface in an Android application.
Lifecycle: The set of states an activity goes through from creation to destruction.
onCreate(): The method called when an activity is first created, used for initial setup.
onStart(): The method called when an activity becomes visible to the user.
onResume(): The method called when an activity starts interacting with the user.
onPause(): The method called when the activity is partially obscured by another activity.
onStop(): The method called when the activity is no longer visible to the user.
onDestroy(): The method called before the activity is destroyed, used for cleanup.
onRestart(): The method called when an activity is returning to the foreground from a stopped state.
Intent: A messaging object used to request an action from another app component.
Task: A collection of activities that users interact with when performing a task.
Back Stack: The stack of activities that the user has navigated through, managed by the system.
Configuration Change: Changes such as orientation change that can trigger activity recreation.
SavedInstanceState: A Bundle object used to save and restore activity state during recreation.
Fragment: A portion of an activity that has its own lifecycle and UI components.
LifecycleOwner: An interface that provides lifecycle-aware components to observe activity lifecycle changes.
ViewModel: A class that holds and manages UI-related data in a lifecycle-conscious way.
Service: A component that runs in the background to perform long-running operations.
Broadcast: A message sent to multiple components, often to notify of system events.
Foreground Service: A service that performs operations while the user is aware of it, with a persistent notification.