title
Android Development Tutorial 4
description
Get the Code Here: http://goo.gl/MWziG
Best Android Book : http://goo.gl/uPhXFI
Welcome to part 4 of my Android Development Tutorial. In the last part, I showed you how to put together an Android User Interface. This time I will add to that app in a big way!
Over the course of this tutorial and the next I will cover RadioButtons, RadioGroups, CheckBoxes, DropDows (Spinners), Buttons, Chronometers, ChangeListeners, ItemSelectedListeners, onClickListeners and much more.
detail
{'title': 'Android Development Tutorial 4', 'heatmap': [{'end': 259.827, 'start': 246.755, 'weight': 0.855}, {'end': 426.65, 'start': 370.039, 'weight': 0.872}, {'end': 548.699, 'start': 462.652, 'weight': 0.911}, {'end': 785.694, 'start': 771.904, 'weight': 0.885}], 'summary': "Tutorial 'android development tutorial 4' covers topics such as radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners in android development, with emphasis on android interface design and implementation of a chronometer for tracking time, providing detailed code examples for reference and modification.", 'chapters': [{'end': 145.399, 'segs': [{'end': 32.198, 'src': 'embed', 'start': 0.109, 'weight': 1, 'content': [{'end': 3.75, 'text': 'Well hello internet and welcome to part four of my Android development tutorial.', 'start': 0.109, 'duration': 3.641}, {'end': 12.153, 'text': 'Over the next two tutorials we are going to cover radio buttons, radio groups, check boxes, drop downs or spinners buttons, chronometers,', 'start': 3.95, 'duration': 8.203}, {'end': 17.935, 'text': 'change listeners, item selected listeners and on click listeners and a whole bunch of other things.', 'start': 12.153, 'duration': 5.782}, {'end': 19.976, 'text': "So I have a lot to do, so let's get into it.", 'start': 18.315, 'duration': 1.661}, {'end': 25.415, 'text': 'Okay, in the last part of the tutorial, we created this crazy tip calculator,', 'start': 21.112, 'duration': 4.303}, {'end': 32.198, 'text': 'and these are going to be all the different things I am going to be adding to it over the course of this tutorial and the next tutorial.', 'start': 25.415, 'duration': 6.783}], 'summary': 'Android tutorial covering radio buttons, check boxes, and more.', 'duration': 32.089, 'max_score': 0.109, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w109.jpg'}, {'end': 72.957, 'src': 'embed', 'start': 39.324, 'weight': 0, 'content': [{'end': 43.307, 'text': "Well, we're going to cover a whole bunch of other listeners along with all of these other different things.", 'start': 39.324, 'duration': 3.983}, {'end': 46.588, 'text': "And if you don't know what this is, this is a drop-down box or a spinner.", 'start': 43.627, 'duration': 2.961}, {'end': 52.35, 'text': "So basically what I'm going to do is I'm going to model what's here on the left side of the screen on the right side of the screen.", 'start': 46.788, 'duration': 5.562}, {'end': 55.231, 'text': 'And all the code is available to link underneath the video.', 'start': 52.57, 'duration': 2.661}, {'end': 62.774, 'text': "And what I'm going to be playing with is the activity XML file, the strings XML file, and then the crazytipcalc.java file.", 'start': 55.291, 'duration': 7.483}, {'end': 69.576, 'text': 'So basically the first thing I need to do is go into graphical layout for the activity XML file.', 'start': 62.954, 'duration': 6.622}, {'end': 72.957, 'text': "It's called activity crazytipcalc because that's what I called it in the last part of the tutorial.", 'start': 69.596, 'duration': 3.361}], 'summary': 'Demonstrating modeling and coding activity in android development using xml and java files.', 'duration': 33.633, 'max_score': 39.324, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w39324.jpg'}, {'end': 114.721, 'src': 'embed', 'start': 87.56, 'weight': 2, 'content': [{'end': 91.481, 'text': 'Well that basically means I need to go into strings.xml and define them first.', 'start': 87.56, 'duration': 3.921}, {'end': 94.162, 'text': "So I'm just going to grab a whole bunch of these guys.", 'start': 91.761, 'duration': 2.401}, {'end': 96.544, 'text': "And I'm going to give them names that make sense.", 'start': 94.822, 'duration': 1.722}, {'end': 100.79, 'text': "So I'm going to go something like intro text view.", 'start': 96.605, 'duration': 4.185}, {'end': 105.255, 'text': "And then I'm going to call this introduction, just like you see right there.", 'start': 101.13, 'duration': 4.125}, {'end': 109.06, 'text': "So all these different words, I'm going to define them over in my strings.xml file.", 'start': 105.536, 'duration': 3.524}, {'end': 110.622, 'text': "So let's make a whole bunch more of these.", 'start': 109.2, 'duration': 1.422}, {'end': 114.721, 'text': "And here I'm going to need to define all of my checkboxes.", 'start': 111.018, 'duration': 3.703}], 'summary': 'Defining multiple strings and checkboxes in strings.xml file.', 'duration': 27.161, 'max_score': 87.56, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w87560.jpg'}], 'start': 0.109, 'title': 'Android development part 4', 'summary': 'Covers radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners in android development, with code available for reference and modification.', 'chapters': [{'end': 145.399, 'start': 0.109, 'title': 'Android development part 4', 'summary': 'Covers radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners in android development, with code available for reference and modification.', 'duration': 145.29, 'highlights': ['The chapter covers radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners.', 'Code is available for reference and modification.', 'The activity XML file, strings XML file, and crazytipcalc.java file will be manipulated for the tutorial.', 'The tutorial will involve defining various elements in the strings.xml file, such as intro text view, intro friendly text view, and specials.']}], 'duration': 145.29, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w109.jpg', 'highlights': ['Code is available for reference and modification.', 'The chapter covers radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners.', 'The tutorial will involve defining various elements in the strings.xml file, such as intro text view, intro friendly text view, and specials.', 'The activity XML file, strings XML file, and crazytipcalc.java file will be manipulated for the tutorial.']}, {'end': 725.324, 'segs': [{'end': 188.978, 'src': 'embed', 'start': 145.419, 'weight': 2, 'content': [{'end': 150.521, 'text': "Okay, then after I have that defined, I'm going to set up everything that I need for my radio buttons.", 'start': 145.419, 'duration': 5.102}, {'end': 156.364, 'text': "And first thing we're going to check is their availability whenever we needed them to do something for us.", 'start': 150.861, 'duration': 5.503}, {'end': 159.025, 'text': 'so just change that to availability,', 'start': 156.884, 'duration': 2.141}, {'end': 167.808, 'text': "paste that in there and then i'm going to say bad radio button and then just copy that down here and then we'll go okay or good,", 'start': 159.025, 'duration': 8.783}, {'end': 170.269, 'text': 'depending upon how available they were.', 'start': 167.808, 'duration': 2.461}, {'end': 173.631, 'text': "and then for these i'm just going to change it to bad, okay and good.", 'start': 170.269, 'duration': 3.362}, {'end': 177.832, 'text': "of course, now i'm going to do the same thing for my chronometer,", 'start': 173.631, 'duration': 4.201}, {'end': 184.455, 'text': 'and the chronometer is going to allow me to come in here and actually take note of how long i have to wait for service.', 'start': 177.832, 'duration': 6.623}, {'end': 188.978, 'text': "Like I said, I'm just making up a bunch of different ways to grade my server.", 'start': 184.915, 'duration': 4.063}], 'summary': 'Setting up radio buttons to check availability and grading server performance.', 'duration': 43.559, 'max_score': 145.419, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w145419.jpg'}, {'end': 275.381, 'src': 'heatmap', 'start': 246.755, 'weight': 0.855, 'content': [{'end': 249.057, 'text': "I'm going to say bad, okay, and good again.", 'start': 246.755, 'duration': 2.302}, {'end': 249.898, 'text': 'And there we are.', 'start': 249.077, 'duration': 0.821}, {'end': 253.622, 'text': "That's all the resources I need because that is all the text that we have here.", 'start': 250.038, 'duration': 3.584}, {'end': 259.827, 'text': 'So now what I got to do is save that and then go into the activity XML file and start creating everything.', 'start': 253.782, 'duration': 6.045}, {'end': 264.533, 'text': "And I'm going to trust you that you can see this good enough just so that I can keep this all nice and tight.", 'start': 260.228, 'duration': 4.305}, {'end': 270.297, 'text': "So the very first thing I'm going to do, of course, is grab a little text view and drag it down inside of here.", 'start': 264.833, 'duration': 5.464}, {'end': 272.619, 'text': "And then I'm going to put introduction inside of it.", 'start': 270.617, 'duration': 2.002}, {'end': 275.381, 'text': "And to do that, here's my text view right here.", 'start': 273.119, 'duration': 2.262}], 'summary': 'Creating resources and xml file for introduction text view.', 'duration': 28.626, 'max_score': 246.755, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w246755.jpg'}, {'end': 426.65, 'src': 'heatmap', 'start': 370.039, 'weight': 0.872, 'content': [{'end': 373.381, 'text': 'Well now if I want a grouping of radio buttons.', 'start': 370.039, 'duration': 3.342}, {'end': 375.402, 'text': 'What I need to do is come down here.', 'start': 373.781, 'duration': 1.621}, {'end': 376.883, 'text': 'And this is a radio group.', 'start': 375.623, 'duration': 1.26}, {'end': 379.005, 'text': "And I'm going to grab it and just throw it in there.", 'start': 377.044, 'duration': 1.961}, {'end': 380.926, 'text': "I know we don't want it to be set up this way.", 'start': 379.065, 'duration': 1.861}, {'end': 382.847, 'text': 'So if we want it to be horizontal.', 'start': 381.246, 'duration': 1.601}, {'end': 385.009, 'text': 'We just need to come over here to orientation.', 'start': 383.167, 'duration': 1.842}, {'end': 385.749, 'text': 'Click on that.', 'start': 385.049, 'duration': 0.7}, {'end': 387.29, 'text': 'Change this to horizontal.', 'start': 385.989, 'duration': 1.301}, {'end': 388.371, 'text': 'Click on okay.', 'start': 387.57, 'duration': 0.801}, {'end': 389.371, 'text': 'And there we go.', 'start': 388.731, 'duration': 0.64}, {'end': 390.572, 'text': 'Now we got a horizontal one.', 'start': 389.391, 'duration': 1.181}, {'end': 395.114, 'text': "Now I actually prefer, whenever I'm playing around with this, not to edit everything over there.", 'start': 390.865, 'duration': 4.249}, {'end': 398.38, 'text': "I'm actually going to come down into the raw XML file and edit everything.", 'start': 395.134, 'duration': 3.246}, {'end': 400.184, 'text': "It's a lot easier for you to read as well.", 'start': 398.701, 'duration': 1.483}, {'end': 403.96, 'text': 'And then this is going to be set for true by default, which is perfectly fine.', 'start': 400.538, 'duration': 3.422}, {'end': 406.561, 'text': "And then I'm going to name all of these different names.", 'start': 404.18, 'duration': 2.381}, {'end': 410.482, 'text': "So for radio group, I'm going to knock that one off of there.", 'start': 407.221, 'duration': 3.261}, {'end': 413.984, 'text': "And I'm going to change this to available radio group.", 'start': 411.043, 'duration': 2.941}, {'end': 416.685, 'text': "Don't need to change anything else there unless you want to.", 'start': 414.284, 'duration': 2.401}, {'end': 420.747, 'text': "And then for the radio button, I'm going to put available radio.", 'start': 416.905, 'duration': 3.842}, {'end': 423.348, 'text': "And then for the first one, I'm going to put bad.", 'start': 421.047, 'duration': 2.301}, {'end': 426.65, 'text': "And I'm going to copy that, paste that in there, call this OK.", 'start': 423.368, 'duration': 3.282}], 'summary': 'Demonstrating how to set up a horizontal radio group with different names and default values.', 'duration': 56.611, 'max_score': 370.039, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w370039.jpg'}, {'end': 420.747, 'src': 'embed', 'start': 389.391, 'weight': 0, 'content': [{'end': 390.572, 'text': 'Now we got a horizontal one.', 'start': 389.391, 'duration': 1.181}, {'end': 395.114, 'text': "Now I actually prefer, whenever I'm playing around with this, not to edit everything over there.", 'start': 390.865, 'duration': 4.249}, {'end': 398.38, 'text': "I'm actually going to come down into the raw XML file and edit everything.", 'start': 395.134, 'duration': 3.246}, {'end': 400.184, 'text': "It's a lot easier for you to read as well.", 'start': 398.701, 'duration': 1.483}, {'end': 403.96, 'text': 'And then this is going to be set for true by default, which is perfectly fine.', 'start': 400.538, 'duration': 3.422}, {'end': 406.561, 'text': "And then I'm going to name all of these different names.", 'start': 404.18, 'duration': 2.381}, {'end': 410.482, 'text': "So for radio group, I'm going to knock that one off of there.", 'start': 407.221, 'duration': 3.261}, {'end': 413.984, 'text': "And I'm going to change this to available radio group.", 'start': 411.043, 'duration': 2.941}, {'end': 416.685, 'text': "Don't need to change anything else there unless you want to.", 'start': 414.284, 'duration': 2.401}, {'end': 420.747, 'text': "And then for the radio button, I'm going to put available radio.", 'start': 416.905, 'duration': 3.842}], 'summary': 'Editing xml file for radio group and button names, setting default to true.', 'duration': 31.356, 'max_score': 389.391, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w389391.jpg'}, {'end': 548.699, 'src': 'heatmap', 'start': 462.652, 'weight': 0.911, 'content': [{'end': 465.374, 'text': "now for the spinner, that's this weird thing right here.", 'start': 462.652, 'duration': 2.722}, {'end': 469.016, 'text': "we're just going to grab it and drag it down here and drop it in somewhere.", 'start': 465.374, 'duration': 3.642}, {'end': 471.917, 'text': "i know it looks really weird and i'm going to resize it a little bit.", 'start': 469.016, 'duration': 2.901}, {'end': 478.181, 'text': "then for this guy, i'm going to come over here, change the id for this and i'm going to call this problems spinner.", 'start': 471.917, 'duration': 6.264}, {'end': 482.363, 'text': "rid of that, of course, hit, yes, and that's just updating the rjava file.", 'start': 478.621, 'duration': 3.742}, {'end': 483.523, 'text': "that's all that's doing there.", 'start': 482.363, 'duration': 1.16}, {'end': 486.825, 'text': 'we got that set up and also with working with spinners.', 'start': 483.523, 'duration': 3.302}, {'end': 490.327, 'text': 'i like to just go in here and mess around with the raw stuff we got here.', 'start': 486.825, 'duration': 3.502}, {'end': 492.167, 'text': 'so here is our spinner problem.', 'start': 490.327, 'duration': 1.84}, {'end': 494.889, 'text': "spinner. all that's fine and everything else is okay.", 'start': 492.167, 'duration': 2.722}, {'end': 500.595, 'text': 'we just have to point to this guy that we created this string array right here in here,', 'start': 494.889, 'duration': 5.706}, {'end': 505.418, 'text': 'and to do that we go android and we type in entries is equal to,', 'start': 500.595, 'duration': 4.823}, {'end': 513.263, 'text': "and here we're going to put at array problem solving and that's going to grab that array and put it inside of there for us,", 'start': 505.418, 'duration': 7.845}, {'end': 517.905, 'text': 'and that just leaves us with this text view, the chronometer and these three buttons.', 'start': 513.263, 'duration': 4.642}, {'end': 524.389, 'text': 'so go into text view again, drag it down here, throw this in here somewhere, come over here, give it a name,', 'start': 517.905, 'duration': 6.484}, {'end': 527.631, 'text': "and i'm going to call this time waiting text view.", 'start': 524.389, 'duration': 3.242}, {'end': 532.825, 'text': 'click course, hit yes and hit okay, and then over here for the text.', 'start': 527.631, 'duration': 5.194}, {'end': 534.727, 'text': "that's going to be time waiting text view.", 'start': 532.825, 'duration': 1.902}, {'end': 536.348, 'text': 'and there we go time waiting for service.', 'start': 534.727, 'duration': 1.621}, {'end': 541.473, 'text': 'so now what we need to do is put the chronometer inside of there, and that is down here under time and date.', 'start': 536.348, 'duration': 5.125}, {'end': 543.655, 'text': "and there's chronometer and it's a little feller.", 'start': 541.473, 'duration': 2.182}, {'end': 547.218, 'text': "just going to throw that in there right there, and i'm not going to do a whole lot with it.", 'start': 543.655, 'duration': 3.563}, {'end': 548.699, 'text': 'well, i got to select it first.', 'start': 547.218, 'duration': 1.481}], 'summary': 'Setting up spinners, text view, and chronometer for an app interface.', 'duration': 86.047, 'max_score': 462.652, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w462652.jpg'}, {'end': 653.094, 'src': 'embed', 'start': 623.936, 'weight': 1, 'content': [{'end': 626.237, 'text': 'So here we are in crazytipcalc.java.', 'start': 623.936, 'duration': 2.301}, {'end': 628.679, 'text': "And I'm just going to come down here into this area.", 'start': 626.578, 'duration': 2.101}, {'end': 633.702, 'text': "And the very first thing I want to do here is, as I'm checking off all these things, I'm going to keep track of them.", 'start': 628.899, 'duration': 4.803}, {'end': 639.586, 'text': "So what I'm going to do is I'm going to sum all the totals for all the radio buttons, check boxes, and all these different things.", 'start': 633.862, 'duration': 5.724}, {'end': 643.008, 'text': "And I'm going to create a private int integer array.", 'start': 639.986, 'duration': 3.022}, {'end': 645.709, 'text': "And I'm going to call it checklist values.", 'start': 643.048, 'duration': 2.661}, {'end': 653.094, 'text': "And just understand, I'm not doing everything here in any way to optimize things, because I'm trying to show you 50 million different things.", 'start': 645.769, 'duration': 7.325}], 'summary': 'In crazytipcalc.java, sum totals of radio buttons and check boxes to track checklist values.', 'duration': 29.158, 'max_score': 623.936, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w623936.jpg'}, {'end': 733.051, 'src': 'embed', 'start': 705.406, 'weight': 4, 'content': [{'end': 708.647, 'text': "And then I'm going to do the same thing for radio button.", 'start': 705.406, 'duration': 3.241}, {'end': 710.969, 'text': 'Available Bad radio.', 'start': 709.148, 'duration': 1.821}, {'end': 713.71, 'text': "Then I'm going to do the same thing for all the other ones.", 'start': 711.269, 'duration': 2.441}, {'end': 716.051, 'text': 'And this is going to be okay radio.', 'start': 714.09, 'duration': 1.961}, {'end': 717.932, 'text': 'And this is going to be good radio.', 'start': 716.472, 'duration': 1.46}, {'end': 719.433, 'text': 'Now I want to do my spinner.', 'start': 718.112, 'duration': 1.321}, {'end': 720.714, 'text': "So I'm going to go spinner.", 'start': 719.453, 'duration': 1.261}, {'end': 722.775, 'text': 'Call this the problem spinner.', 'start': 721.014, 'duration': 1.761}, {'end': 725.324, 'text': 'Then I need to declare all my buttons.', 'start': 723.302, 'duration': 2.022}, {'end': 729.047, 'text': 'You just do that by typing in button, start chronometer button.', 'start': 725.364, 'duration': 3.683}, {'end': 731.329, 'text': 'And this is going to be pause button.', 'start': 729.448, 'duration': 1.881}, {'end': 733.051, 'text': 'And this is going to be reset.', 'start': 731.63, 'duration': 1.421}], 'summary': 'Creating radio buttons, spinner, and declaring buttons for chronometer control.', 'duration': 27.645, 'max_score': 705.406, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w705406.jpg'}], 'start': 145.419, 'title': 'Android interface design', 'summary': 'Covers the process of designing an android interface, including setting up spinner, text views, check boxes, radio buttons, and buttons, and emphasizes the use of raw xml for easier readability. it also details the creation of checklist values to sum all the totals for radio buttons and check boxes.', 'chapters': [{'end': 209.774, 'start': 145.419, 'title': 'Setting up radio buttons and chronometer', 'summary': 'Covers defining and setting up radio buttons to check their availability, grading server service, and creating a chronometer to measure service waiting times.', 'duration': 64.355, 'highlights': ['Defining and setting up radio buttons to check their availability and grading server service.', 'Creating a chronometer to measure service waiting times.']}, {'end': 725.324, 'start': 210.555, 'title': 'Android interface design', 'summary': 'Details the process of designing an android interface, including setting up a spinner, text views, check boxes, radio buttons, and buttons, emphasizing the use of raw xml for easier readability and the creation of checklist values to sum all the totals for radio buttons and check boxes.', 'duration': 514.769, 'highlights': ['The chapter details the process of setting up a spinner, text views, check boxes, radio buttons, and buttons in Android interface design.', 'Emphasizes the use of raw XML for easier readability and manipulation of interface elements.', 'Creation of checklist values to sum all the totals for radio buttons and check boxes.']}], 'duration': 579.905, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w145419.jpg', 'highlights': ['Emphasizes the use of raw XML for easier readability and manipulation of interface elements.', 'Creation of checklist values to sum all the totals for radio buttons and check boxes.', 'Defining and setting up radio buttons to check their availability and grading server service.', 'Creating a chronometer to measure service waiting times.', 'The chapter details the process of setting up a spinner, text views, check boxes, radio buttons, and buttons in Android interface design.']}, {'end': 1031.464, 'segs': [{'end': 759.557, 'src': 'embed', 'start': 725.364, 'weight': 4, 'content': [{'end': 729.047, 'text': 'You just do that by typing in button, start chronometer button.', 'start': 725.364, 'duration': 3.683}, {'end': 731.329, 'text': 'And this is going to be pause button.', 'start': 729.448, 'duration': 1.881}, {'end': 733.051, 'text': 'And this is going to be reset.', 'start': 731.63, 'duration': 1.421}, {'end': 737.175, 'text': "And then I'm going to need to declare my chronometer, just chronometer.", 'start': 733.512, 'duration': 3.663}, {'end': 739.257, 'text': "And I'm going to call it time waiting.", 'start': 737.195, 'duration': 2.062}, {'end': 746.272, 'text': "chronometer. and then what I'm also gonna do with this is I'm actually going to log the number of seconds.", 'start': 739.69, 'duration': 6.582}, {'end': 751.514, 'text': "in this situation in the real world, you would use minutes if you're trying to track the performance of a waitress,", 'start': 746.272, 'duration': 5.242}, {'end': 759.557, 'text': "but so that we can actually see results when we run the code and stuff, I'm actually only gonna give my waitress 10 seconds to get me my meal.", 'start': 751.514, 'duration': 8.043}], 'summary': 'Developing a chronometer function to track 10-second wait time.', 'duration': 34.193, 'max_score': 725.364, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w725364.jpg'}, {'end': 798.267, 'src': 'heatmap', 'start': 771.904, 'weight': 0.885, 'content': [{'end': 775.807, 'text': "I'm not certain about that yet, but it's not going to hurt anything just to declare this.", 'start': 771.904, 'duration': 3.903}, {'end': 778.128, 'text': "So I'm just going to call that time waiting text view.", 'start': 776.187, 'duration': 1.941}, {'end': 784.293, 'text': "And now inside of on create, what we're going to do is initialize all these things.", 'start': 779.169, 'duration': 5.124}, {'end': 785.694, 'text': 'So just keep coming down here.', 'start': 784.313, 'duration': 1.381}, {'end': 788.177, 'text': "And I'm going to come back to the very, very end of this.", 'start': 785.994, 'duration': 2.183}, {'end': 791.14, 'text': "And so I don't spell anything wrong.", 'start': 789.057, 'duration': 2.083}, {'end': 793.302, 'text': "I'm actually going to copy these guys.", 'start': 791.16, 'duration': 2.142}, {'end': 794.803, 'text': 'Come down inside of here again.', 'start': 793.622, 'duration': 1.181}, {'end': 795.905, 'text': 'Paste that in there.', 'start': 795.124, 'duration': 0.781}, {'end': 796.705, 'text': 'Get rid of this.', 'start': 796.085, 'duration': 0.62}, {'end': 798.267, 'text': 'And get rid of this.', 'start': 797.486, 'duration': 0.781}], 'summary': 'Transcript involves initializing, declaring, and editing code snippets.', 'duration': 26.363, 'max_score': 771.904, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w771904.jpg'}, {'end': 920.822, 'src': 'embed', 'start': 896.202, 'weight': 3, 'content': [{'end': 902.625, 'text': "Good Then after I have all that set up, what I'm going to need to do next time is put some change listeners.", 'start': 896.202, 'duration': 6.423}, {'end': 906.808, 'text': "So I'm going to call this add change listeners to radio.", 'start': 902.645, 'duration': 4.163}, {'end': 908.288, 'text': 'Radios, multiple.', 'start': 907.188, 'duration': 1.1}, {'end': 910.87, 'text': "Don't really have to do anything for the radio group that time.", 'start': 908.609, 'duration': 2.261}, {'end': 914.257, 'text': 'I want to initialize my spinner or my drop-down box.', 'start': 911.254, 'duration': 3.003}, {'end': 917.78, 'text': "For some reason, that's what they call it in the Android world.", 'start': 914.317, 'duration': 3.463}, {'end': 920.822, 'text': 'Is equal to, paste that in there, spinner.', 'start': 918.14, 'duration': 2.682}], 'summary': 'Set up change listeners for multiple radios and initialize spinner.', 'duration': 24.62, 'max_score': 896.202, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w896202.jpg'}, {'end': 1031.464, 'src': 'embed', 'start': 978.965, 'weight': 0, 'content': [{'end': 983.867, 'text': "And then again, in the next part of the tutorial, I'm going to show you how to handle click listeners.", 'start': 978.965, 'duration': 4.902}, {'end': 985.067, 'text': 'And there those are.', 'start': 984.247, 'duration': 0.82}, {'end': 991.21, 'text': 'And then finally, I need to initialize my chronometer, which is just a little timer.', 'start': 985.087, 'duration': 6.123}, {'end': 991.95, 'text': "That's all it is.", 'start': 991.23, 'duration': 0.72}, {'end': 995.872, 'text': 'Sounds really fancy, but it just takes seconds and minutes and all that stuff.', 'start': 992.25, 'duration': 3.622}, {'end': 1001.374, 'text': "And I'm going to copy this chronometer, put a period, and look for time waiting chronometer.", 'start': 996.272, 'duration': 5.102}, {'end': 1002.274, 'text': 'And there that is.', 'start': 1001.634, 'duration': 0.64}, {'end': 1008.717, 'text': "And then finally, like I said, I haven't decided if I'm going to do anything with the text view that is next to the chronometer or not.", 'start': 1002.815, 'duration': 5.902}, {'end': 1012.695, 'text': "So for now, I'm going to come in here and initialize it, just in case.", 'start': 1009.133, 'duration': 3.562}, {'end': 1015.917, 'text': 'Put a dot, and then time waiting text view.', 'start': 1012.915, 'duration': 3.002}, {'end': 1016.697, 'text': 'And file save.', 'start': 1016.177, 'duration': 0.52}, {'end': 1017.597, 'text': 'So there you go.', 'start': 1016.877, 'duration': 0.72}, {'end': 1021.279, 'text': 'There is 50 million different things you can do inside of Android.', 'start': 1017.657, 'duration': 3.622}, {'end': 1028.143, 'text': 'In the next part of the tutorial, I will completely solve everything, and you will have a completely insane looking app.', 'start': 1021.339, 'duration': 6.804}, {'end': 1030.104, 'text': 'Leave any questions or comments below.', 'start': 1028.522, 'duration': 1.582}, {'end': 1031.464, 'text': 'Otherwise, until next time.', 'start': 1030.444, 'duration': 1.02}], 'summary': 'Tutorial covers handling click listeners and initializing a chronometer, with a mention of 50 million different things you can do inside android.', 'duration': 52.499, 'max_score': 978.965, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w978965.jpg'}], 'start': 725.364, 'title': 'Implementing a chronometer and android gui initialization', 'summary': 'Details the implementation of a chronometer for tracking time and setting a 10-second limit in a video tutorial scenario, as well as covers the process of initializing various gui components in an android app, including checkboxes, radio buttons, spinners, buttons, and a chronometer, setting up listeners, and highlighting the complexity of android app development.', 'chapters': [{'end': 778.128, 'start': 725.364, 'title': 'Chronometer and time tracking', 'summary': 'Details the implementation of a chronometer for tracking time and setting a 10-second limit in a video tutorial scenario.', 'duration': 52.764, 'highlights': ['Implementing a chronometer for tracking time and setting a 10-second limit in a video tutorial scenario.', 'Declaring a chronometer and a text view for displaying the time waiting.', 'Logging the number of seconds while using the chronometer.']}, {'end': 1031.464, 'start': 779.169, 'title': 'Android gui initialization', 'summary': 'Covers the detailed process of initializing various gui components in an android app, including checkboxes, radio buttons, spinners, buttons, and a chronometer, setting up listeners, and highlighting the complexity of android app development.', 'duration': 252.295, 'highlights': ['The chapter covers the detailed process of initializing various GUI components in an Android app', 'Setting up listeners for the initialized components', 'Highlighting the complexity of Android app development']}], 'duration': 306.1, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/DxzoF78TV5w/pics/DxzoF78TV5w725364.jpg', 'highlights': ['Implementing a chronometer for tracking time and setting a 10-second limit in a video tutorial scenario.', 'The chapter covers the detailed process of initializing various GUI components in an Android app', 'Declaring a chronometer and a text view for displaying the time waiting.', 'Setting up listeners for the initialized components', 'Logging the number of seconds while using the chronometer.', 'Highlighting the complexity of Android app development']}], 'highlights': ['Code is available for reference and modification.', 'The chapter covers radio buttons, radio groups, check boxes, drop downs, chronometers, change listeners, item selected listeners, and on click listeners.', 'Emphasizes the use of raw XML for easier readability and manipulation of interface elements.', 'Implementing a chronometer for tracking time and setting a 10-second limit in a video tutorial scenario.', 'The tutorial will involve defining various elements in the strings.xml file, such as intro text view, intro friendly text view, and specials.']}