title
How to Make an Android App for Beginners

description
Android development can be a great way to turn your idea into reality or start a promising career as an app developer... and getting started is probably easier than you think. These days Android Development is done with a tool called Android Studio. Android Studio is kind of like Microsoft Word for writing Android apps; it helps organize our projects and gives us a user-friendly way to create what we’re looking for. In this video, we’ll walk through installing Android Studio and then make an app. Don’t worry if you don’t have any experience with Android or even programming in general; as long as you follow along we’ll all end up at the same place. Click SHOW MORE to view a list of our other popular Android videos! You can watch *all* of these videos as part of your free trial! http://bit.ly/3FdJzut -- These are just a few of the many Android development videos available to Treehouse subscribers. Download Android Studio https://developer.android.com/studio?gclid=Cj0KCQiA9YugBhCZARIsAACXxeJZEztMS5N65y8EVt6Kc7OG1OHE9Y2VJ9RAMQr_8OYTJdN6eBg_Z0QaApXNEALw_wcB&gclsrc=aw.ds Android Development for Beginners (11-hour course) http://trhouse.co/AndroidApp-AndroidDev Build a Simple Android App with Java https://trhouse.co/3Mt5v7L Build a Simple Android App with Kotlin https://trhouse.co/432sKN2 Build a Weather App for Android https://trhouse.co/43mHmq1 Styles and Themes in Android https://trhouse.co/3BPrCjT Testing in Android https://trhouse.co/3ODVx6e Localization in Android https://trhouse.co/424mp2f Android Widgets https://trhouse.co/3qbN3c4 Custom Views in Android https://trhouse.co/3OCJbuR Getting Started with Firebase https://trhouse.co/3OFD88W --- Learn from over 1,000 videos created by our expert teachers on web design, coding, business, and much more. Treehouse teaches the in-demand technology skills you need to land your dream job. Follow Us! Twitter: https://twitter.com/treehouse Instagram: https://instagram.com/teamtreehouse LinkedIn: https://www.linkedin.com/school/treehouse-island-inc-/ Facebook: https://www.facebook.com/teamtreehouse/ #android #kotlin #coding #appdevelopment

detail
{'title': 'How to Make an Android App for Beginners', 'heatmap': [{'end': 224.574, 'start': 192.867, 'weight': 0.731}, {'end': 341.483, 'start': 310.213, 'weight': 0.818}, {'end': 942.585, 'start': 922.407, 'weight': 0.886}], 'summary': "Tutorial 'how to make an android app for beginners' covers android studio basics, kotlin support, creating layouts and activities, and developing an app that generates random numbers using kotlin. additionally, it mentions a 7-day free trial for an online school's beginner android development track at $25 a month.", 'chapters': [{'end': 293.354, 'segs': [{'end': 67.356, 'src': 'embed', 'start': 4.731, 'weight': 0, 'content': [{'end': 11.053, 'text': 'Android development can be a great way to turn your idea into reality or start a promising career as an app developer.', 'start': 4.731, 'duration': 6.322}, {'end': 13.853, 'text': 'And getting started is probably easier than you think.', 'start': 11.533, 'duration': 2.32}, {'end': 18.635, 'text': 'These days, Android development is done with a tool called Android Studio.', 'start': 14.874, 'duration': 3.761}, {'end': 23.076, 'text': 'Android Studio is kind of like the Microsoft word for writing Android apps.', 'start': 19.495, 'duration': 3.581}, {'end': 28.257, 'text': "It helps organize our projects and gives us a user-friendly way to create what we're looking for.", 'start': 23.676, 'duration': 4.581}, {'end': 33.341, 'text': "In this video, we'll walk through installing Android Studio and then make an app.", 'start': 29.198, 'duration': 4.143}, {'end': 38.304, 'text': "Don't worry if you don't have any experience with Android or even programming in general.", 'start': 34.101, 'duration': 4.203}, {'end': 42.026, 'text': "As long as you follow along, we'll all end up at the same place.", 'start': 38.904, 'duration': 3.122}, {'end': 45.328, 'text': "Now, we'll download Android Studio in just a second.", 'start': 42.827, 'duration': 2.501}, {'end': 48.07, 'text': "But first, let's look at what we'll be making.", 'start': 45.868, 'duration': 2.202}, {'end': 52.102, 'text': 'These days, there are too many choices of everything.', 'start': 49.059, 'duration': 3.043}, {'end': 55.225, 'text': 'So, to help us choose between a bunch of options,', 'start': 52.722, 'duration': 2.503}, {'end': 61.31, 'text': "we'll make an app that lets us specify how many options there are and then selects one at random when we click a button.", 'start': 55.225, 'duration': 6.085}, {'end': 67.356, 'text': "Awesome Now that we know where we'd like to end up, let's start by downloading Android Studio.", 'start': 61.911, 'duration': 5.445}], 'summary': "Android studio makes android development easy, even for beginners. it's like microsoft word for writing android apps.", 'duration': 62.625, 'max_score': 4.731, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg4731.jpg'}, {'end': 238.424, 'src': 'heatmap', 'start': 192.867, 'weight': 4, 'content': [{'end': 200.313, 'text': "Lastly, Android used to be written entirely in Java, but recently we've been given the freedom to use Kotlin,", 'start': 192.867, 'duration': 7.446}, {'end': 202.896, 'text': 'which I think is a big improvement over Java.', 'start': 200.313, 'duration': 2.583}, {'end': 208.04, 'text': "Let's check the Include Kotlin Support box, and then click Next to continue.", 'start': 203.496, 'duration': 4.544}, {'end': 213.685, 'text': 'Next again, and then Finish.', 'start': 210.362, 'duration': 3.323}, {'end': 219.19, 'text': "Now I know you're probably ready to get started.", 'start': 217.168, 'duration': 2.022}, {'end': 224.574, 'text': "But before we get on with the app, let's take a minute to talk about how an Android app comes together.", 'start': 219.57, 'duration': 5.004}, {'end': 228.857, 'text': 'The first piece of an app is the layout, which describes how the app should look.', 'start': 224.834, 'duration': 4.023}, {'end': 233.28, 'text': 'In Android, layouts are created by combining different types of views.', 'start': 229.437, 'duration': 3.843}, {'end': 238.424, 'text': 'At its most basic, a view is just a rectangular area on the screen.', 'start': 233.821, 'duration': 4.603}], 'summary': 'Android now supports kotlin, an improvement over java.', 'duration': 75.338, 'max_score': 192.867, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg192867.jpg'}], 'start': 4.731, 'title': 'Android studio and app development basics', 'summary': 'Introduces android studio for android development, covering its user-friendly interface, installation process, and creating a beginner-friendly app. it discusses setting up android studio, creating a new project named randomizer, specifying layout and activity, and choosing kotlin support, emphasizing the freedom to use kotlin.', 'chapters': [{'end': 122.207, 'start': 4.731, 'title': 'Android studio for app development', 'summary': 'Introduces android studio as a tool for android development, emphasizing its user-friendly interface and walking through the installation process. it also outlines the process of creating an app to select options at random, targeting beginners with no prior experience.', 'duration': 117.476, 'highlights': ['Android Studio is a user-friendly tool for Android development, simplifying the process of organizing projects and creating apps. Android Studio simplifies Android development and provides a user-friendly interface.', 'The chapter emphasizes the accessibility of Android development through Android Studio, targeting beginners with no prior experience in Android or programming in general. The tutorial is beginner-friendly, catering to individuals with no experience in Android or programming.', 'The chapter outlines the process of creating an app to select options at random, providing a clear objective for the tutorial. The tutorial aims to create an app that selects options at random, providing a clear learning objective.', 'The installation process of Android Studio is detailed, including steps such as downloading, installing, and setting up the tool. The tutorial provides a detailed walkthrough of downloading, installing, and setting up Android Studio.']}, {'end': 293.354, 'start': 122.407, 'title': 'Setting up android studio and creating a new project', 'summary': 'Discusses setting up android studio, creating a new project named randomizer, specifying layout and activity, and choosing kotlin support. it also introduces the basics of android app development and the freedom to use kotlin.', 'duration': 170.947, 'highlights': ['Setting up Android Studio and creating a new project named Randomizer The chapter details the process of setting up Android Studio and starting a new project, specifying the application name as Randomizer and the company domain as teamtreehouse.com.', 'Introducing the basics of Android app development and the freedom to use Kotlin The chapter introduces the layout and activity of an Android app, describing views, buttons, and activities, and mentions the freedom to use Kotlin as an improvement over Java.', 'Choosing Kotlin support for the project The chapter mentions the option to include Kotlin support for the project, highlighting it as a big improvement over Java for Android development.']}], 'duration': 288.623, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg4731.jpg', 'highlights': ['Android Studio simplifies Android development and provides a user-friendly interface.', 'The tutorial is beginner-friendly, catering to individuals with no experience in Android or programming.', 'The tutorial aims to create an app that selects options at random, providing a clear learning objective.', 'The installation process of Android Studio is detailed, including steps such as downloading, installing, and setting up the tool.', 'The chapter details the process of setting up Android Studio and starting a new project, specifying the application name as Randomizer and the company domain as teamtreehouse.com.', 'The chapter introduces the layout and activity of an Android app, describing views, buttons, and activities, and mentions the freedom to use Kotlin as an improvement over Java.', 'The chapter mentions the option to include Kotlin support for the project, highlighting it as a big improvement over Java for Android development.']}, {'end': 862.541, 'segs': [{'end': 341.483, 'src': 'heatmap', 'start': 293.354, 'weight': 2, 'content': [{'end': 298.539, 'text': 'okay, so android apps have two parts the layout and the activity.', 'start': 293.354, 'duration': 5.185}, {'end': 310.213, 'text': "and right now we're inside the activity And if we look inside this onCreate function, we can see a line that says setContentView.", 'start': 298.539, 'duration': 11.674}, {'end': 315.757, 'text': 'This is where our layout gets connected to our activity.', 'start': 310.213, 'duration': 5.544}, {'end': 321.562, 'text': 'As you might have guessed, this makes activityMain.xml our layout.', 'start': 316.598, 'duration': 4.964}, {'end': 324.003, 'text': "Let's click on it and see what we've got.", 'start': 322.262, 'duration': 1.741}, {'end': 328.487, 'text': "And I'll click right here to hide this side section.", 'start': 326.305, 'duration': 2.182}, {'end': 331.597, 'text': 'We can bring it back by clicking the project pane.', 'start': 329.335, 'duration': 2.262}, {'end': 337.02, 'text': 'On this screen, we can create our layout by dragging and dropping views.', 'start': 333.338, 'duration': 3.682}, {'end': 341.483, 'text': 'We can also delete views by selecting them and then hitting Backspace.', 'start': 337.821, 'duration': 3.662}], 'summary': 'Android apps consist of layout and activity, with setcontentview connecting layout to activity. layouts can be created by dragging and dropping views.', 'duration': 30.649, 'max_score': 293.354, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg293354.jpg'}, {'end': 382.409, 'src': 'embed', 'start': 350.609, 'weight': 1, 'content': [{'end': 352.911, 'text': 'The views are up here on the top left.', 'start': 350.609, 'duration': 2.302}, {'end': 357.158, 'text': "So if we drag out a button, we'll get a button.", 'start': 353.491, 'duration': 3.667}, {'end': 364.457, 'text': "Now one thing to call out is that we're putting these views inside of another view called a constraint layout.", 'start': 357.719, 'duration': 6.738}, {'end': 372.765, 'text': "What's cool about a constraint layout is that it lets us position the views inside by using constraints,", 'start': 365.643, 'duration': 7.122}, {'end': 377.507, 'text': 'which let us chain views together and makes creating a layout super simple.', 'start': 372.765, 'duration': 4.742}, {'end': 382.409, 'text': "Let's try using constraints with our button to make it look like it does in the mockups.", 'start': 377.867, 'duration': 4.542}], 'summary': 'Demonstrating the use of constraint layout to position views, making layout creation simple.', 'duration': 31.8, 'max_score': 350.609, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg350609.jpg'}, {'end': 431.462, 'src': 'embed', 'start': 402.063, 'weight': 0, 'content': [{'end': 406.385, 'text': "You can see the details about a view's constraints up here on the right.", 'start': 402.063, 'duration': 4.322}, {'end': 412.548, 'text': 'And if you want to change the buffer, you can type in the box or select a value.', 'start': 408.026, 'duration': 4.522}, {'end': 417.89, 'text': "Let's change our buffer to 24.", 'start': 413.228, 'duration': 4.662}, {'end': 419.692, 'text': 'Next, we need to center our button.', 'start': 417.89, 'duration': 1.802}, {'end': 426.377, 'text': 'To center something in a constrained layout, you just constrain it to both the left and right sides.', 'start': 420.372, 'duration': 6.005}, {'end': 431.462, 'text': "So let's drag the left side to the left, and the right side to the right.", 'start': 427.398, 'duration': 4.064}], 'summary': 'Tutorial on adjusting view constraints and centering button in constrained layout.', 'duration': 29.399, 'max_score': 402.063, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg402063.jpg'}], 'start': 293.354, 'title': 'Android layout and activity', 'summary': 'Covers creating an android layout using constraint layout and kotlin, with specific details on constraints and view ids.', 'chapters': [{'end': 862.541, 'start': 293.354, 'title': 'Android layout and activity', 'summary': 'Covers creating an android layout using constraint layout, adding and positioning views, and connecting the layout to the activity using kotlin, with specific details on constraints and view ids.', 'duration': 569.187, 'highlights': ['Creating a layout using constraint layout and positioning views Explains the process of creating a layout using constraint layout, dragging and dropping views, and using constraints to position views.', 'Connecting layout to activity using Kotlin Demonstrates the process of connecting the layout to the activity using Kotlin, including creating variables to represent views and setting onClickListener for the button.', 'Using specific details on constraints and view IDs Provides specific details on using constraints to position views, changing buffer values, and giving better IDs to views for better reference.']}], 'duration': 569.187, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg293354.jpg', 'highlights': ['Using specific details on constraints and view IDs Provides specific details on using constraints to position views, changing buffer values, and giving better IDs to views for better reference.', 'Creating a layout using constraint layout and positioning views Explains the process of creating a layout using constraint layout, dragging and dropping views, and using constraints to position views.', 'Connecting layout to activity using Kotlin Demonstrates the process of connecting the layout to the activity using Kotlin, including creating variables to represent views and setting onClickListener for the button.']}, {'end': 1142.898, 'segs': [{'end': 942.585, 'src': 'heatmap', 'start': 893.635, 'weight': 1, 'content': [{'end': 897.216, 'text': 'This will give us a random integer from within a certain range.', 'start': 893.635, 'duration': 3.581}, {'end': 906.8, 'text': "Let's type seekbar.progress to have it generate a random number between zero and the value of our seekbar.", 'start': 897.917, 'duration': 8.883}, {'end': 922.407, 'text': "Then, on the next line, let's set resultsTextView.text equal to rand, which is our random integer Dot to string.", 'start': 907.621, 'duration': 14.786}, {'end': 928.414, 'text': 'since rand is an integer, we need to turn it into a string before adding it to our text view.', 'start': 922.407, 'duration': 6.007}, {'end': 929.956, 'text': "and that's it.", 'start': 928.414, 'duration': 1.542}, {'end': 933.48, 'text': "Now, to run the app, let's click on this play button up here.", 'start': 929.956, 'duration': 3.524}, {'end': 942.585, 'text': 'Then you should have a virtual device from when we installed earlier.', 'start': 939.062, 'duration': 3.523}], 'summary': 'Generate random number from seekbar input and display in resultstextview', 'duration': 36.321, 'max_score': 893.635, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg893635.jpg'}, {'end': 990.013, 'src': 'embed', 'start': 958.697, 'weight': 3, 'content': [{'end': 964.602, 'text': 'And it should boot up a virtual device and run the app.', 'start': 958.697, 'duration': 5.905}, {'end': 967.945, 'text': 'And there we go.', 'start': 967.424, 'duration': 0.521}, {'end': 977.207, 'text': "We've got the app, and if we click roll, we get random numbers between 0, 1, and 2.", 'start': 969.124, 'duration': 8.083}, {'end': 984.791, 'text': 'And if we put it all the way up at 10, we should get between 0 and 9.', 'start': 977.207, 'duration': 7.584}, {'end': 990.013, 'text': "Though ideally, we'd have it go from 1 to 10 instead of 0 to 9.", 'start': 984.791, 'duration': 5.222}], 'summary': 'A virtual device runs an app generating random numbers from 0 to 2 or 1 to 9.', 'duration': 31.316, 'max_score': 958.697, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg958697.jpg'}, {'end': 1047.473, 'src': 'embed', 'start': 1013.776, 'weight': 2, 'content': [{'end': 1025.384, 'text': "Then to fix the issues with the layout, go back to activity main.xml and let's make the text bigger by clicking on this coming into text size,", 'start': 1013.776, 'duration': 11.608}, {'end': 1026.105, 'text': "and let's try 24 SP.", 'start': 1025.384, 'duration': 0.721}, {'end': 1028.185, 'text': 'See how that looks.', 'start': 1026.425, 'duration': 1.76}, {'end': 1030.387, 'text': 'That looks a little big.', 'start': 1029.247, 'duration': 1.14}, {'end': 1032.468, 'text': "We'll back that off to 16.", 'start': 1031.288, 'duration': 1.18}, {'end': 1034.809, 'text': 'That looks better.', 'start': 1032.468, 'duration': 2.341}, {'end': 1047.473, 'text': "Then for the horizontal divider, if I can click it, there we go, we'll just want to constrain that to the right and to the left.", 'start': 1036.73, 'duration': 10.743}], 'summary': 'Adjust text size to 16 sp and constrain horizontal divider in activity main.xml', 'duration': 33.697, 'max_score': 1013.776, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg1013776.jpg'}, {'end': 1135.513, 'src': 'embed', 'start': 1089.261, 'weight': 0, 'content': [{'end': 1099.346, 'text': 'Awesome Now if we run the app again, It looks much better, and we get 1, 2, and 3 instead of 0, 1, and 2.', 'start': 1089.261, 'duration': 10.085}, {'end': 1100.687, 'text': 'Great job creating the app.', 'start': 1099.346, 'duration': 1.341}, {'end': 1105.633, 'text': 'I know that was probably a lot to take in, and you might be feeling a little bit overwhelmed.', 'start': 1101.148, 'duration': 4.485}, {'end': 1108.636, 'text': "But don't worry, that's pretty much everyone's experience.", 'start': 1106.013, 'duration': 2.623}, {'end': 1112.2, 'text': 'It takes time and a lot of practice to get good at anything.', 'start': 1108.896, 'duration': 3.304}, {'end': 1117.643, 'text': "And while you may not have a deep understanding of Android, you're off to a pretty good start.", 'start': 1113.001, 'duration': 4.642}, {'end': 1122.026, 'text': "I'm a teacher at Treehouse, an online school where you learn at your own pace.", 'start': 1118.364, 'duration': 3.662}, {'end': 1130.81, 'text': 'At $25 a month, you get access to the beginner Android development track, which has on-demand content that includes videos,', 'start': 1122.906, 'duration': 7.904}, {'end': 1135.513, 'text': 'quizzes and code challenges, teaching you the ins and outs of Android, one step at a time.', 'start': 1130.81, 'duration': 4.703}], 'summary': 'App improved, now displays 1, 2, and 3 instead of 0, 1, and 2. treehouse offers beginner android development track at $25/month.', 'duration': 46.252, 'max_score': 1089.261, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg1089261.jpg'}], 'start': 863.496, 'title': 'Android app development', 'summary': "Covers generating a random number using kotlin within the range of the seek bar's value, customizing an android app layout, and a 7-day free trial for an online school's beginner android development track at $25 a month.", 'chapters': [{'end': 929.956, 'start': 863.496, 'title': 'Random number generator', 'summary': "Demonstrates how to generate a random number within the range of the seek bar's value and display it in a text view using kotlin, with the seek bar value as the upper limit and the starting point as zero.", 'duration': 66.46, 'highlights': ['We create a new val named rand, set it equal to random.nextint(seekbar.progress), and then set the resultsTextView.text to rand.toString, effectively displaying the generated random number in the text view.']}, {'end': 1142.898, 'start': 929.956, 'title': 'Running and customizing an android app', 'summary': "Explains how to run an android app, customize the layout, and offers a 7-day free trial for an online school's beginner android development track at $25 a month.", 'duration': 212.942, 'highlights': ['The Treehouse online school offers a beginner Android development track at $25 a month, providing access to on-demand content, including videos, quizzes, and code challenges.', 'Running the app involves clicking on the play button to boot up a virtual device and run the app, resulting in the display of random numbers.', "Customizing the app's layout involves adjusting text size and fixing the horizontal divider by constraining it to the right and left.", 'The app shows improvement after customization, displaying numbers from 1 to 3 instead of 0 to 2.']}], 'duration': 279.402, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/EOfCEhWq8sg/pics/EOfCEhWq8sg863496.jpg', 'highlights': ['The Treehouse online school offers a beginner Android development track at $25 a month, providing access to on-demand content, including videos, quizzes, and code challenges.', 'We create a new val named rand, set it equal to random.nextint(seekbar.progress), and then set the resultsTextView.text to rand.toString, effectively displaying the generated random number in the text view.', "Customizing the app's layout involves adjusting text size and fixing the horizontal divider by constraining it to the right and left.", 'Running the app involves clicking on the play button to boot up a virtual device and run the app, resulting in the display of random numbers.', 'The app shows improvement after customization, displaying numbers from 1 to 3 instead of 0 to 2.']}], 'highlights': ['The tutorial aims to create an app that selects options at random, providing a clear learning objective.', 'Android Studio simplifies Android development and provides a user-friendly interface.', 'The tutorial is beginner-friendly, catering to individuals with no experience in Android or programming.', 'The installation process of Android Studio is detailed, including steps such as downloading, installing, and setting up the tool.', 'The chapter details the process of setting up Android Studio and starting a new project, specifying the application name as Randomizer and the company domain as teamtreehouse.com.', 'The chapter introduces the layout and activity of an Android app, describing views, buttons, and activities, and mentions the freedom to use Kotlin as an improvement over Java.', 'The chapter mentions the option to include Kotlin support for the project, highlighting it as a big improvement over Java for Android development.', 'Using specific details on constraints and view IDs Provides specific details on using constraints to position views, changing buffer values, and giving better IDs to views for better reference.', 'Creating a layout using constraint layout and positioning views Explains the process of creating a layout using constraint layout, dragging and dropping views, and using constraints to position views.', 'Connecting layout to activity using Kotlin Demonstrates the process of connecting the layout to the activity using Kotlin, including creating variables to represent views and setting onClickListener for the button.', 'The Treehouse online school offers a beginner Android development track at $25 a month, providing access to on-demand content, including videos, quizzes, and code challenges.', 'We create a new val named rand, set it equal to random.nextint(seekbar.progress), and then set the resultsTextView.text to rand.toString, effectively displaying the generated random number in the text view.', "Customizing the app's layout involves adjusting text size and fixing the horizontal divider by constraining it to the right and left.", 'Running the app involves clicking on the play button to boot up a virtual device and run the app, resulting in the display of random numbers.', 'The app shows improvement after customization, displaying numbers from 1 to 3 instead of 0 to 2.']}