Bird
Raised Fist0
Android Kotlinmobile~20 mins

Activity concept in Android Kotlin - Mini App: Build & Ship

Choose your learning style10 modes available
Build: SimpleActivityScreen
This screen shows a simple Activity with a TextView and a Button. When the button is clicked, it shows a Toast message.
Target UI
-----------------------
| Simple Activity      |
|---------------------|
|                     |
|  Hello, Activity!    |
|                     |
|  [ Show Toast ]      |
|                     |
-----------------------
Create an Activity named SimpleActivity
Display a TextView with text 'Hello, Activity!' centered on the screen
Add a Button below the TextView labeled 'Show Toast'
When the Button is clicked, show a Toast message 'Button clicked!'
Starter Code
Android Kotlin
package com.example.activityconcept

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class SimpleActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // TODO: Set the content view to activity_simple layout
        // TODO: Find TextView and Button by their IDs
        // TODO: Set Button click listener to show Toast
    }
}
Task 1
Task 2
Task 3
Task 4
Task 5
Solution
Android Kotlin
package com.example.activityconcept

import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class SimpleActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_simple)

        val showToastButton: Button = findViewById(R.id.button_show_toast)
        showToastButton.setOnClickListener {
            Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show()
        }
    }
}

We created a SimpleActivity that extends AppCompatActivity. In onCreate, we set the layout to activity_simple. We find the Button by its ID and set a click listener. When clicked, it shows a Toast message 'Button clicked!'. The layout contains a TextView and a Button arranged vertically and centered horizontally.

Final Result
Completed Screen
-----------------------
| Simple Activity      |
|---------------------|
|                     |
|  Hello, Activity!    |
|                     |
|  [ Show Toast ]      |
|                     |
-----------------------
User taps the 'Show Toast' button
A small popup Toast appears at the bottom with text 'Button clicked!'
Stretch Goal
Add a second button labeled 'Close' that finishes the Activity when clicked
💡 Hint
Add another Button in the layout below the first one. In code, find it by ID and call finish() inside its click listener.

Practice

(1/5)
1. What is the main role of an Activity in an Android app?
easy
A. It stores app data permanently.
B. It handles network requests only.
C. It manages background tasks without UI.
D. It represents a single screen with a user interface.

Solution

  1. Step 1: Understand Activity purpose

    An Activity is designed to show a screen where users interact.
  2. Step 2: Compare options

    Only It represents a single screen with a user interface. correctly describes an Activity as a UI screen.
  3. Final Answer:

    It represents a single screen with a user interface. -> Option D
  4. Quick Check:

    Activity = Screen UI [OK]
Hint: Remember: Activity = one screen in app [OK]
Common Mistakes:
  • Confusing Activity with data storage
  • Thinking Activity runs without UI
  • Mixing Activity with background services
2. Which method is used to set up the UI when an Activity starts?
easy
A. onResume()
B. onStart()
C. onCreate()
D. onPause()

Solution

  1. Step 1: Identify lifecycle methods

    onCreate() is called when the Activity is first created to set up UI.
  2. Step 2: Eliminate other methods

    onStart() and onResume() happen later; onPause() is for pausing.
  3. Final Answer:

    onCreate() -> Option C
  4. Quick Check:

    UI setup = onCreate() [OK]
Hint: UI setup always starts in onCreate() [OK]
Common Mistakes:
  • Choosing onStart() or onResume() for UI setup
  • Confusing onPause() as setup method
  • Not knowing Activity lifecycle order
3. What will happen when this Activity code runs?
class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  }
}
medium
A. The screen shows the layout defined in activity_main.xml.
B. The app shows a blank screen.
C. Nothing happens because onCreate is empty.
D. The app crashes due to missing layout.

Solution

  1. Step 1: Analyze onCreate method

    It calls super.onCreate and sets content view to activity_main layout.
  2. Step 2: Understand setContentView effect

    This loads and displays the UI from activity_main.xml on screen.
  3. Final Answer:

    The screen shows the layout defined in activity_main.xml. -> Option A
  4. Quick Check:

    setContentView loads layout = screen shows layout [OK]
Hint: setContentView shows UI layout on screen [OK]
Common Mistakes:
  • Assuming onCreate does nothing
  • Thinking app crashes without error
  • Confusing blank screen with missing layout
4. Identify the error in this Activity code:
class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    setContentView(R.layout.activity_main)
    super.onCreate(savedInstanceState)
  }
}
medium
A. setContentView called before super.onCreate()
B. No error, code is correct
C. Missing call to super.onCreate()
D. onCreate method should not be overridden

Solution

  1. Step 1: Check order of calls in onCreate

    super.onCreate() must be called before setContentView to initialize Activity properly.
  2. Step 2: Identify mistake

    Here, setContentView is called first, which is incorrect and can cause issues.
  3. Final Answer:

    setContentView called before super.onCreate() -> Option A
  4. Quick Check:

    super.onCreate() first, then setContentView [OK]
Hint: Always call super.onCreate() before setContentView [OK]
Common Mistakes:
  • Calling setContentView before super.onCreate()
  • Forgetting to override onCreate
  • Not calling super.onCreate() at all
5. You want to start a new Activity called DetailActivity from MainActivity. Which code snippet correctly starts the new Activity?
hard
A. startActivity(DetailActivity::class.java)
B. val intent = Intent(this, DetailActivity::class.java) startActivity(intent)
C. Intent intent = new Intent(DetailActivity) startActivity(intent)
D. val intent = Intent(DetailActivity) startActivity()

Solution

  1. Step 1: Understand Intent creation

    Intent requires context (this) and target Activity class (DetailActivity::class.java).
  2. Step 2: Check startActivity usage

    startActivity(intent) correctly starts the new Activity with the Intent.
  3. Final Answer:

    val intent = Intent(this, DetailActivity::class.java) startActivity(intent) -> Option B
  4. Quick Check:

    Intent(this, TargetClass) + startActivity(intent) [OK]
Hint: Use Intent(this, TargetActivity::class.java) to start Activity [OK]
Common Mistakes:
  • Omitting context in Intent constructor
  • Calling startActivity without Intent
  • Using wrong syntax for Intent creation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard