1 00:00:04,620 --> 00:00:06,570 In this video, we're going to create our 2 00:00:06,570 --> 00:00:09,600 very first Android application. So if you 3 00:00:09,600 --> 00:00:11,400 haven't already start to render a studio 4 00:00:11,400 --> 00:00:13,710 application and if you're on a Mac you 5 00:00:13,710 --> 00:00:15,510 can go into the Applications folder to 6 00:00:15,510 --> 00:00:17,640 do that and double-click your Android 7 00:00:17,640 --> 00:00:18,689 studio and if you're on a Windows 8 00:00:18,689 --> 00:00:19,980 machine you can just go into the start 9 00:00:19,980 --> 00:00:22,320 menu and type Android and click the icon 10 00:00:22,320 --> 00:00:24,869 when it appears. Now Linux you can use 11 00:00:24,869 --> 00:00:26,250 the technique I showed you in that video 12 00:00:26,250 --> 00:00:28,109 to access the Android studio desktop 13 00:00:28,109 --> 00:00:30,630 entry that we created. So once you've 14 00:00:30,630 --> 00:00:32,488 started Android studio we're going to 15 00:00:32,488 --> 00:00:34,530 create our first application by clicking 16 00:00:34,530 --> 00:00:37,399 on start a new Android studio project. 17 00:00:37,399 --> 00:00:39,960 Now once you do that a series of screens 18 00:00:39,960 --> 00:00:42,180 will appear to ask you for some basic 19 00:00:42,180 --> 00:00:44,370 information about the project you want 20 00:00:44,370 --> 00:00:46,469 to create the first screen asks you for 21 00:00:46,469 --> 00:00:48,000 the application name and we're going to 22 00:00:48,000 --> 00:00:49,829 keep it simple and call our first 23 00:00:49,829 --> 00:00:53,550 application HelloWorld. Now the next part 24 00:00:53,550 --> 00:00:55,200 is what might be a bit confusing the 25 00:00:55,200 --> 00:00:57,960 company domain, so Android applications 26 00:00:57,960 --> 00:01:00,750 use the concept of a package name to 27 00:01:00,750 --> 00:01:01,530 make sure that your application 28 00:01:01,530 --> 00:01:04,589 reference is unique across the world now 29 00:01:04,589 --> 00:01:06,690 that's a Java convention but it's used 30 00:01:06,690 --> 00:01:08,250 for all sorts of other things as well 31 00:01:08,250 --> 00:01:10,740 the internet couldn't function if domain 32 00:01:10,740 --> 00:01:13,800 names weren't unique worldwide now the 33 00:01:13,800 --> 00:01:15,240 reason that it needs to be unique is 34 00:01:15,240 --> 00:01:16,860 when you eventually go to upload your 35 00:01:16,860 --> 00:01:19,319 code to the Google Play Store to make it 36 00:01:19,319 --> 00:01:21,270 available for sale you need to have a 37 00:01:21,270 --> 00:01:23,459 unique identifier that's not used by 38 00:01:23,459 --> 00:01:25,860 anyone else. So what Google suggests you 39 00:01:25,860 --> 00:01:27,959 do is type your company - main name so 40 00:01:27,959 --> 00:01:29,640 in my case I'm going to use my domain 41 00:01:29,640 --> 00:01:31,560 name which is Learn Programming dot 42 00:01:31,560 --> 00:01:34,080 Academy, if I delete this and type it in 43 00:01:34,080 --> 00:01:36,300 again as I'm typing it down the bottom 44 00:01:36,300 --> 00:01:38,250 the package the name is getting updated 45 00:01:38,250 --> 00:01:41,940 learn programming dot academy, now 46 00:01:41,940 --> 00:01:43,619 Android studio uses this with verse 47 00:01:43,619 --> 00:01:46,560 domain name to create the package, 48 00:01:46,560 --> 00:01:48,239 so I'll type in Learn Programming dot 49 00:01:48,239 --> 00:01:51,140 Academy but you came back and said 50 00:01:51,140 --> 00:01:53,729 Academy dot Learn Programming dot 51 00:01:53,729 --> 00:01:55,739 hello world. Now the hello world by the 52 00:01:55,739 --> 00:01:58,080 way was a representation of what I typed 53 00:01:58,080 --> 00:01:59,940 in the application name field at the top 54 00:01:59,940 --> 00:02:02,130 more inner space is an all in lowercase. 55 00:02:02,130 --> 00:02:04,319 Now if you haven't got your own domain 56 00:02:04,319 --> 00:02:06,360 name that's okay for training and 57 00:02:06,360 --> 00:02:08,190 testing purposes there's a set of 58 00:02:08,190 --> 00:02:09,630 example domains that have been set aside 59 00:02:09,630 --> 00:02:12,360 for people to use example.com and 60 00:02:12,360 --> 00:02:15,090 example.org at all these example domains 61 00:02:15,090 --> 00:02:17,310 so you could just use example.org 62 00:02:17,310 --> 00:02:17,970 and it'll be 63 00:02:17,970 --> 00:02:20,100 the package name or that example that 64 00:02:20,100 --> 00:02:22,110 hello world for you, if you want more 65 00:02:22,110 --> 00:02:23,700 information you can visite example.org 66 00:02:23,700 --> 00:02:26,040 or example.com in a browser and there's 67 00:02:26,040 --> 00:02:27,180 a link you can actually click when you 68 00:02:27,180 --> 00:02:28,830 get there for more information so you 69 00:02:28,830 --> 00:02:30,960 can literally have anything there but 70 00:02:30,960 --> 00:02:32,640 just do note that once you're creating 71 00:02:32,640 --> 00:02:33,990 your own applications and you're at the 72 00:02:33,990 --> 00:02:35,550 stage of uploading them to the app store 73 00:02:35,550 --> 00:02:38,310 then you need to have a domain name so 74 00:02:38,310 --> 00:02:40,860 you should really make that unique, so at 75 00:02:40,860 --> 00:02:42,090 the moment though I'm going to go ahead 76 00:02:42,090 --> 00:02:43,470 and use mine which I'll be using through 77 00:02:43,470 --> 00:02:45,390 this course learn programming dot 78 00:02:45,390 --> 00:02:47,190 academy. So next you need to find the 79 00:02:47,190 --> 00:02:49,080 location where you're going to start 80 00:02:49,080 --> 00:02:51,060 saving your projects now this is just 81 00:02:51,060 --> 00:02:52,800 like a word processing document in a 82 00:02:52,800 --> 00:02:54,330 sense that you need to choose somewhere 83 00:02:54,330 --> 00:02:56,220 to save them I've really got my 84 00:02:56,220 --> 00:02:57,690 locations to that in this case I'm 85 00:02:57,690 --> 00:02:59,520 putting them in my desktop in a folder 86 00:02:59,520 --> 00:03:02,280 called Android O Kotlin, but so you can 87 00:03:02,280 --> 00:03:04,320 just choose any location by coming over 88 00:03:04,320 --> 00:03:05,910 here and clicking on the three dots the 89 00:03:05,910 --> 00:03:09,090 ellipsis and selecting a folder to store 90 00:03:09,090 --> 00:03:12,030 all your Android programs in and note 91 00:03:12,030 --> 00:03:13,860 that when you do that and choose a 92 00:03:13,860 --> 00:03:16,800 location at the end Android studio will 93 00:03:16,800 --> 00:03:18,840 helpfully add hello world and that will 94 00:03:18,840 --> 00:03:20,010 actually be a subfolder 95 00:03:20,010 --> 00:03:22,440 containing our application in other 96 00:03:22,440 --> 00:03:24,840 words creating a subfolder based our a 97 00:03:24,840 --> 00:03:26,519 subfolder of the Android O Kotlin 98 00:03:26,519 --> 00:03:29,250 folder then ultimately containers hello 99 00:03:29,250 --> 00:03:31,380 world project and as you create lots of 100 00:03:31,380 --> 00:03:33,030 projects and she moves through this 101 00:03:33,030 --> 00:03:34,769 course there's going to be one subfolder 102 00:03:34,769 --> 00:03:37,140 for each of those projects and that's so 103 00:03:37,140 --> 00:03:39,360 that they're neatly separated and you're 104 00:03:39,360 --> 00:03:40,860 not running any risk of actually getting 105 00:03:40,860 --> 00:03:42,480 into difficulties in some way by 106 00:03:42,480 --> 00:03:44,489 overwriting code, so make sure you don't 107 00:03:44,489 --> 00:03:45,870 try to put two projects in the same 108 00:03:45,870 --> 00:03:47,100 folder that's going to cause all sorts 109 00:03:47,100 --> 00:03:47,970 of problems. 110 00:03:47,970 --> 00:03:49,739 Now there's another important setting 111 00:03:49,739 --> 00:03:51,840 here we need to make on the screen so 112 00:03:51,840 --> 00:03:53,610 make sure you tick the include Kotlin 113 00:03:53,610 --> 00:03:56,370 support box that causes android studio to 114 00:03:56,370 --> 00:03:58,320 generate Kotlin code rather than java 115 00:03:58,320 --> 00:04:00,690 code. Now this is the Kotlin version of 116 00:04:00,690 --> 00:04:01,230 the course, 117 00:04:01,230 --> 00:04:03,989 so we definitely want Kotlin here it is 118 00:04:03,989 --> 00:04:05,640 possible by the way to mix Kotlin and 119 00:04:05,640 --> 00:04:08,100 Java in the same project but for our 120 00:04:08,100 --> 00:04:09,720 purposes we want Kotlin to be the 121 00:04:09,720 --> 00:04:12,030 default so make sure that box is ticked 122 00:04:12,030 --> 00:04:13,769 before clicking next and you can see in 123 00:04:13,769 --> 00:04:16,978 my case that is now this next screen it 124 00:04:16,978 --> 00:04:18,839 can be a little bit intimidating at 125 00:04:18,839 --> 00:04:20,130 least the first few times you see it 126 00:04:20,130 --> 00:04:21,899 might be thinking what's all this about. 127 00:04:21,899 --> 00:04:24,360 Well, firstly before I start talking 128 00:04:24,360 --> 00:04:27,300 about minimum SDK these things here they 129 00:04:27,300 --> 00:04:29,610 wear TV Android auto Android things 130 00:04:29,610 --> 00:04:31,380 don't normally be 131 00:04:31,380 --> 00:04:33,660 ticked. Now where is Android 132 00:04:33,660 --> 00:04:34,890 functionality to run Android 133 00:04:34,890 --> 00:04:36,990 applications and things like watches and 134 00:04:36,990 --> 00:04:39,510 so forth in other words wearable devices. 135 00:04:39,510 --> 00:04:43,230 Now the next one TV is for Android TV so 136 00:04:43,230 --> 00:04:45,360 that you can create applications that 137 00:04:45,360 --> 00:04:47,850 work with Android TV and that's the TVs 138 00:04:47,850 --> 00:04:49,020 that are running the Android TV 139 00:04:49,020 --> 00:04:52,170 operating system Android auto well 140 00:04:52,170 --> 00:04:53,370 that's actually yeah for cars 141 00:04:53,370 --> 00:04:55,590 automobiles literally, again it's a 142 00:04:55,590 --> 00:04:57,450 special version that runs on that so you 143 00:04:57,450 --> 00:04:59,820 can create applications for cars and 144 00:04:59,820 --> 00:05:01,890 last but by no means least Android 145 00:05:01,890 --> 00:05:03,810 things enables you to create apps for 146 00:05:03,810 --> 00:05:06,660 for IOT devices now we aren't going to 147 00:05:06,660 --> 00:05:08,250 be targeting any of those in this course 148 00:05:08,250 --> 00:05:10,290 because to actually do them justice we 149 00:05:10,290 --> 00:05:11,700 need to create a course in their own 150 00:05:11,700 --> 00:05:13,920 right for them so you're leaving all 151 00:05:13,920 --> 00:05:17,100 these disabled for this course but the 152 00:05:17,100 --> 00:05:18,390 important thing of this screen is this 153 00:05:18,390 --> 00:05:21,930 minimum SDK talks about here at the top 154 00:05:21,930 --> 00:05:25,530 so what is that well SDK stands for 155 00:05:25,530 --> 00:05:27,450 software development kit which is the 156 00:05:27,450 --> 00:05:29,820 version of the Android software of the 157 00:05:29,820 --> 00:05:32,070 Android operating system the minimum 158 00:05:32,070 --> 00:05:33,360 version that your application is going 159 00:05:33,360 --> 00:05:36,420 to run on now will be dropped down the 160 00:05:36,420 --> 00:05:39,270 list, you go all the way back to Android 161 00:05:39,270 --> 00:05:41,250 we can go all the way back to Android 4 162 00:05:41,250 --> 00:05:43,590 if we wanted to literally a people API 163 00:05:43,590 --> 00:05:45,810 14 Android 4 Ice Cream Sandwich 164 00:05:45,810 --> 00:05:49,020 that's API 14 million a longer 165 00:05:49,020 --> 00:05:51,390 supporting older Android versions so 166 00:05:51,390 --> 00:05:52,950 that's the earliest version we can 167 00:05:52,950 --> 00:05:55,650 choose here now by monitoring the 168 00:05:55,650 --> 00:05:57,230 devices that connect to the Play Store, 169 00:05:57,230 --> 00:06:00,120 Google can track which versions of 170 00:06:00,120 --> 00:06:02,100 Android are still being used and they've 171 00:06:02,100 --> 00:06:03,240 worked out that there really aren't many 172 00:06:03,240 --> 00:06:05,820 devices if any still running versions of 173 00:06:05,820 --> 00:06:09,090 Android before API 14 now that's great 174 00:06:09,090 --> 00:06:10,380 if you want to fully support everything 175 00:06:10,380 --> 00:06:12,780 but by adding support for all versions 176 00:06:12,780 --> 00:06:14,460 of the Android operating system going 177 00:06:14,460 --> 00:06:17,040 right back to version 4 we're limited to 178 00:06:17,040 --> 00:06:19,050 some other functionality we can use and 179 00:06:19,050 --> 00:06:21,240 that's because as new versions of the 180 00:06:21,240 --> 00:06:22,920 Android operating system have come out 181 00:06:22,920 --> 00:06:25,320 Google have updated it and improved it 182 00:06:25,320 --> 00:06:27,180 and added a lot of features so 183 00:06:27,180 --> 00:06:28,530 consequently it's generally not 184 00:06:28,530 --> 00:06:30,030 recommended to go back and say that 185 00:06:30,030 --> 00:06:31,320 you're going to support that minimum 186 00:06:31,320 --> 00:06:33,660 version so it is a bit of a trade-off 187 00:06:33,660 --> 00:06:35,520 between the percentage of people who can 188 00:06:35,520 --> 00:06:37,350 access an older version and the 189 00:06:37,350 --> 00:06:39,330 functionality that you want to have in 190 00:06:39,330 --> 00:06:41,910 your application now as a general rule 191 00:06:41,910 --> 00:06:44,370 I'd suggest that you set your minimum version 192 00:06:44,370 --> 00:06:48,630 to target Android 4.2 this is API 17 193 00:06:48,630 --> 00:06:50,550 which is jellybean then when you select 194 00:06:50,550 --> 00:06:52,620 each version the display updates to show 195 00:06:52,620 --> 00:06:54,840 the percentage of devices that your app 196 00:06:54,840 --> 00:06:57,090 will work on, you can see here that API 197 00:06:57,090 --> 00:07:00,419 17 and higher will include 96% of 198 00:07:00,419 --> 00:07:02,460 devices that are active in the Google 199 00:07:02,460 --> 00:07:04,110 Play Store then that number will 200 00:07:04,110 --> 00:07:05,970 increase as older versions are updated 201 00:07:05,970 --> 00:07:07,919 or replaced but at the time I'm 202 00:07:07,919 --> 00:07:10,020 recording this 96% of all Android 203 00:07:10,020 --> 00:07:12,780 devices active today are using Android 204 00:07:12,780 --> 00:07:16,650 4.2 jelly bean or later. Now there's a 205 00:07:16,650 --> 00:07:19,590 reason I suggest API 17 and that's 206 00:07:19,590 --> 00:07:21,090 because support for right-to-left 207 00:07:21,090 --> 00:07:22,940 languages was included in that version 208 00:07:22,940 --> 00:07:25,380 so you could target in an earlier API 209 00:07:25,380 --> 00:07:28,530 and you've got an API 16 phone that you 210 00:07:28,530 --> 00:07:30,660 want to use for example then probably 211 00:07:30,660 --> 00:07:32,550 would make sense to choose API 16 212 00:07:32,550 --> 00:07:35,160 instead but I'm comfortable saying that 213 00:07:35,160 --> 00:07:38,130 you should use API 17 but I'll also be 214 00:07:38,130 --> 00:07:40,169 showing you how to change that if you 215 00:07:40,169 --> 00:07:41,580 change your mind and decide to support 216 00:07:41,580 --> 00:07:43,710 an earlier version. We'll see how to do 217 00:07:43,710 --> 00:07:46,110 that in a later video but by choosing 218 00:07:46,110 --> 00:07:47,760 API 17 here 219 00:07:47,760 --> 00:07:49,470 anyone who's running an Android version 220 00:07:49,470 --> 00:07:52,169 going right back to Android API 17 or 221 00:07:52,169 --> 00:07:54,240 higher will be able to run the 222 00:07:54,240 --> 00:07:56,130 applications you create and that's again 223 00:07:56,130 --> 00:07:58,919 it's 96% of users if they're running an 224 00:07:58,919 --> 00:08:00,720 older version they won't be able to 225 00:08:00,720 --> 00:08:02,780 download and run the application and 226 00:08:02,780 --> 00:08:04,919 incidentally the ability to set a 227 00:08:04,919 --> 00:08:07,349 minimum SDK is why you don't have to 228 00:08:07,349 --> 00:08:09,479 install all those older Android versions 229 00:08:09,479 --> 00:08:11,400 when we were configuring Android in the 230 00:08:11,400 --> 00:08:13,500 SDK manager so I'm going to talk a bit 231 00:08:13,500 --> 00:08:16,169 more about compatibility later but you 232 00:08:16,169 --> 00:08:18,180 can see the older is decay levels are 233 00:08:18,180 --> 00:08:19,949 available even though we didn't install 234 00:08:19,949 --> 00:08:22,229 all the previous versions all right so 235 00:08:22,229 --> 00:08:24,090 I'm selecting API 17 I'm going to click 236 00:08:24,090 --> 00:08:24,750 on next, 237 00:08:24,750 --> 00:08:26,970 we then get to the template screens that 238 00:08:26,970 --> 00:08:28,229 we've discussed in this section of the 239 00:08:28,229 --> 00:08:30,870 course. Now these are the various 240 00:08:30,870 --> 00:08:33,360 types of projects that you can create by 241 00:08:33,360 --> 00:08:35,580 default with Android studio and as 242 00:08:35,580 --> 00:08:37,799 previously mentioned it'll automatically 243 00:08:37,799 --> 00:08:39,630 add code and layouts for you depending 244 00:08:39,630 --> 00:08:41,429 on which one you choose you know once 245 00:08:41,429 --> 00:08:43,169 again if the exact template isn't 246 00:08:43,169 --> 00:08:45,270 available because perhaps Google have 247 00:08:45,270 --> 00:08:46,440 changed things by the time you're 248 00:08:46,440 --> 00:08:48,570 watching this video, no need to worry so 249 00:08:48,570 --> 00:08:50,850 I'm going to use empty activity here 250 00:08:50,850 --> 00:08:53,339 which is selected for me currently so 251 00:08:53,339 --> 00:08:55,410 just choose the one if that's closest in 252 00:08:55,410 --> 00:08:57,930 appearance if empty activity isn't available 253 00:08:57,930 --> 00:09:00,270 all the names changed, so do that and 254 00:09:00,270 --> 00:09:02,700 click on next and finally just before 255 00:09:02,700 --> 00:09:04,860 Android studio creates the project and 256 00:09:04,860 --> 00:09:07,140 generates the code for us it's asking 257 00:09:07,140 --> 00:09:08,990 for the name of the activity and layout. 258 00:09:08,990 --> 00:09:11,040 Now I am going to be talking about 259 00:09:11,040 --> 00:09:13,680 activities and layouts a bit later but 260 00:09:13,680 --> 00:09:15,209 for now we can just accept the default 261 00:09:15,209 --> 00:09:17,670 names then Android studio is suggesting 262 00:09:17,670 --> 00:09:19,470 and we've already seen how both of these 263 00:09:19,470 --> 00:09:21,690 names are used in the previous videos in 264 00:09:21,690 --> 00:09:23,850 this section, so the suggested names are 265 00:09:23,850 --> 00:09:25,440 fine and quite descriptive so we're 266 00:09:25,440 --> 00:09:27,870 actually going to go with those so 267 00:09:27,870 --> 00:09:29,490 there's also a couple of checkboxes and 268 00:09:29,490 --> 00:09:31,560 normally you'd leave these both checked 269 00:09:31,560 --> 00:09:34,709 this first one generate layout file that 270 00:09:34,709 --> 00:09:36,720 causes Android studio to create a 271 00:09:36,720 --> 00:09:38,610 default layout file from the project 272 00:09:38,610 --> 00:09:40,290 that's the activity underscore main 273 00:09:40,290 --> 00:09:43,140 layout. Now most apps you create would 274 00:09:43,140 --> 00:09:44,790 need at least one layout or they 275 00:09:44,790 --> 00:09:46,649 wouldn't be able to display anything so 276 00:09:46,649 --> 00:09:48,120 you may as well get Android studio to 277 00:09:48,120 --> 00:09:50,160 create the file for you. Now if you're 278 00:09:50,160 --> 00:09:51,360 creating an app that will run as a 279 00:09:51,360 --> 00:09:53,310 service and have no youth and will have 280 00:09:53,310 --> 00:09:55,290 no user interface then you could and 281 00:09:55,290 --> 00:09:57,750 tick that box in the second check box 282 00:09:57,750 --> 00:10:00,209 it's a good idea to keep checked that's 283 00:10:00,209 --> 00:10:02,730 the backwards compatibility check box if 284 00:10:02,730 --> 00:10:05,010 you want ticket your app will only run 285 00:10:05,010 --> 00:10:07,020 on the latest version of Android well I 286 00:10:07,020 --> 00:10:08,520 guess that's not strictly true because 287 00:10:08,520 --> 00:10:10,290 you can't change the specific version 288 00:10:10,290 --> 00:10:12,750 but you'll be targeting a single version 289 00:10:12,750 --> 00:10:14,910 of Android and the app won't work in 290 00:10:14,910 --> 00:10:17,040 earlier versions and then we're going to 291 00:10:17,040 --> 00:10:18,990 be talking about app compat in detail 292 00:10:18,990 --> 00:10:21,120 later so for now please just take my 293 00:10:21,120 --> 00:10:22,650 word for it and I'll leave that box 294 00:10:22,650 --> 00:10:29,370 ticked and then click on finish and you 295 00:10:29,370 --> 00:10:31,800 saw that the progress was updated as 296 00:10:31,800 --> 00:10:34,020 Android studio created the project and 297 00:10:34,020 --> 00:10:36,300 it took a bit of time and then the top 298 00:10:36,300 --> 00:10:37,800 the bottom left-hand corner it says 299 00:10:37,800 --> 00:10:39,839 gradle build finished in two seconds and 300 00:10:39,839 --> 00:10:41,220 you can see we've now got this project 301 00:10:41,220 --> 00:10:43,800 showing on the screen it does take a 302 00:10:43,800 --> 00:10:45,329 while the first time you create an 303 00:10:45,329 --> 00:10:47,610 Android project in Android studio but 304 00:10:47,610 --> 00:10:48,540 the next time you write from that 305 00:10:48,540 --> 00:10:50,459 project it should be a lot quicker and 306 00:10:50,459 --> 00:10:51,930 just a reminder not to try and do too 307 00:10:51,930 --> 00:10:53,310 much until it's finished building the 308 00:10:53,310 --> 00:10:55,589 project expanding the directories in the 309 00:10:55,589 --> 00:10:57,600 project panes okay but editing code or 310 00:10:57,600 --> 00:10:59,790 changing layouts isn't a good idea 311 00:10:59,790 --> 00:11:01,649 until you see that build finished in the 312 00:11:01,649 --> 00:11:03,779 bottom left hand corner now by default 313 00:11:03,779 --> 00:11:06,089 you'll see a tip of the day dialog I've 314 00:11:06,089 --> 00:11:08,010 already disabled it on mine but I mean 315 00:11:08,010 --> 00:11:09,150 come in here and have a look 316 00:11:09,150 --> 00:11:12,180 tip of the day the by default you 317 00:11:12,180 --> 00:11:14,790 tip of the day dialogue pop-up and that 318 00:11:14,790 --> 00:11:15,510 can be interesting 319 00:11:15,510 --> 00:11:17,130 it shows interesting features in Android 320 00:11:17,130 --> 00:11:19,170 studio that can make you more productive 321 00:11:19,170 --> 00:11:21,510 and until you've used Android studio but 322 00:11:21,510 --> 00:11:23,279 it probably won't make a lot of sense 323 00:11:23,279 --> 00:11:25,470 though so I suggest us closing it when 324 00:11:25,470 --> 00:11:27,000 Android studio starts until you've got 325 00:11:27,000 --> 00:11:29,459 more experience with Android studio the 326 00:11:29,459 --> 00:11:30,930 tips can help you become more productive 327 00:11:30,930 --> 00:11:33,839 once they start making sense and if you 328 00:11:33,839 --> 00:11:35,010 want you can stop it appearing which 329 00:11:35,010 --> 00:11:37,950 I've done by unchecking these show tips 330 00:11:37,950 --> 00:11:41,670 on startup check box over here but in 331 00:11:41,670 --> 00:11:43,260 this case I'm just going to close it if 332 00:11:43,260 --> 00:11:44,190 you haven't done that and you want to 333 00:11:44,190 --> 00:11:46,290 see it again go to the help menu and you 334 00:11:46,290 --> 00:11:48,000 can select tip of the day here to bring 335 00:11:48,000 --> 00:11:50,339 a backup all right so let's finish now 336 00:11:50,339 --> 00:11:52,350 and we've got some things that have come 337 00:11:52,350 --> 00:11:54,330 up on the screen sometimes you see a 338 00:11:54,330 --> 00:11:56,040 message that Gradle files have changed 339 00:11:56,040 --> 00:11:57,450 in which case just click on this sync 340 00:11:57,450 --> 00:11:59,910 now button at the top right hand side 341 00:11:59,910 --> 00:12:02,040 of the screen and that should clear the 342 00:12:02,040 --> 00:12:03,630 message and greater will build the 343 00:12:03,630 --> 00:12:06,149 project again and if you're wanting work 344 00:12:06,149 --> 00:12:08,130 greater with it's an open-source build 345 00:12:08,130 --> 00:12:10,920 automation system, so basically pulls 346 00:12:10,920 --> 00:12:13,200 together all the bits of the project to 347 00:12:13,200 --> 00:12:14,970 create the application file that can be 348 00:12:14,970 --> 00:12:17,490 installed on an Android device. Now if 349 00:12:17,490 --> 00:12:19,140 you use external libraries such as the 350 00:12:19,140 --> 00:12:20,910 YouTube API that we'll be using in a 351 00:12:20,910 --> 00:12:23,160 later section of the course then you can 352 00:12:23,160 --> 00:12:25,170 tell Gradle about that and it sorts 353 00:12:25,170 --> 00:12:26,850 everything out for you so you don't 354 00:12:26,850 --> 00:12:28,529 really need to know more about that at 355 00:12:28,529 --> 00:12:30,180 this stage because Android studio runs 356 00:12:30,180 --> 00:12:32,310 Gradle for you when you come to run the 357 00:12:32,310 --> 00:12:36,150 app. Alright so this video is getting a 358 00:12:36,150 --> 00:12:37,620 little bit long, let's end the video here 359 00:12:37,620 --> 00:12:39,240 in the next video we'll continue on our 360 00:12:39,240 --> 00:12:41,670 journey to creating our first app, 361 00:12:41,670 --> 00:12:44,660 I'll see you in the next video.