Skip to content

Android lifecycle demo using Java; showcases Activity callbacks, navigation, and state saving; logs lifecycle events, displays simple layouts, persists state across rotations, Gradle-based configuration.

Notifications You must be signed in to change notification settings

r-siddiq/AndroidLifeCycles

Repository files navigation

Android Life Cycles

A concise Android sample app (Java) demonstrating core Activity lifecycle callbacks, navigation between activities, and basic state persistence with onSaveInstanceState().

Tech Stack

  • Android (Java) • Gradle (Groovy DSL)
  • compileSdk 34, minSdk 28, targetSdk 33

App Details

  • applicationId: com.lifecycle
  • Launcher Activity: com.lifecycle.MainActivity
  • Other Activities: com.lifecycle.ChildActivity

What You'll Learn

  • When and how Android calls lifecycle callbacks (onCreate, onStart, onResume, onPause, onStop, onDestroy, onRestart).
  • How to save & restore UI state with onSaveInstanceState / onRestoreInstanceState.
  • Navigating between activities and observing how transitions affect callbacks.

Project Structure

- .gitignore
  - .gitignore
- README.md
▸ app
  - .gitignore
  - build.gradle
  - proguard-rules.pro
  - readme.md
  ▸ src
    ▸ androidTest
      ▸ java
    ▸ main
      - AndroidManifest.xml
      ▸ java
      ▸ res
    ▸ test
      ▸ java
- build.gradle
▸ gradle
  ▸ wrapper
    - gradle-wrapper.jar
    - gradle-wrapper.properties
- gradle.properties
- gradlew
- gradlew.bat
- local.properties
- settings.gradle

Key Source Files

  • ChildActivity — overrides: onCreate
  • MainActivity — overrides: onCreate, onStart, onResume, onPause, onStop, onDestroy, onSaveInstanceState

Layouts

  • app/src/main/res/layout/activity_child.xml
  • app/src/main/res/layout/activity_main.xml

Dependencies

  • implementationandroidx.appcompat:appcompat:1.6.1
  • implementationcom.google.android.material:material:1.11.0
  • implementationandroidx.constraintlayout:constraintlayout:2.1.4
  • implementationandroidx.activity:activity:1.8.2
  • testImplementationjunit:junit:4.13.2
  • androidTestImplementationandroidx.test.ext:junit:1.1.5
  • androidTestImplementationandroidx.test.espresso:espresso-core:3.5.1

Getting Started

  1. Prerequisites

    • Android Studio (latest stable)
    • JDK 17+
    • Android SDK & Build-Tools for API 34
  2. Open & Build

    • Open this folder in Android Studio: AndroidLifeCycles/.
    • Let Gradle sync and index the project.
  3. Run

    • Select an emulator or device (API 28+).
    • Use the Run button to launch MainActivity (com.lifecycle.MainActivity).
  4. Try It

    • Navigate to ChildActivity from the UI (if provided) or via an explicit Intent.
    • Rotate the device or send the app to background/foreground to watch lifecycle logs.
    • Observe onSaveInstanceState being called when rotating or process-kill occurs.

How It Works (Brief)

  • MainActivity

    • Demonstrates the full lifecycle, overriding: onCreate, onStart, onResume, onPause, onStop, onDestroy, onSaveInstanceState.
    • Use logs or on-screen indicators to visualize callback order.
  • ChildActivity

    • Simple secondary screen to trigger lifecycle transitions when navigating forward/back.

Tip: Open Logcat and filter by your tag to see callback order clearly.

About

Android lifecycle demo using Java; showcases Activity callbacks, navigation, and state saving; logs lifecycle events, displays simple layouts, persists state across rotations, Gradle-based configuration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages