1
00:00:10,880 --> 00:00:17,170
High students in this tutorial you're going to go ahead and create our first Android application.

2
00:00:17,450 --> 00:00:23,960
So let's create a new Android studio project so we can start in your Android studio project and for

3
00:00:23,960 --> 00:00:25,550
the application I'm just typing here.

4
00:00:25,580 --> 00:00:28,290
App number free.

5
00:00:29,000 --> 00:00:29,470
OK.

6
00:00:29,630 --> 00:00:34,850
And the company damend you can specify the company domain here the package name the project location

7
00:00:34,880 --> 00:00:42,200
and then just click next and here for the minimum STK choose API 16 Android 4.1 jellybean for phone

8
00:00:42,260 --> 00:00:43,230
and tablets.

9
00:00:43,250 --> 00:00:44,860
So this could be next.

10
00:00:45,380 --> 00:00:48,470
And then here too is basic activity next.

11
00:00:48,590 --> 00:00:55,160
So let me tell you that the differences between basic activity and interactivity is that by using the

12
00:00:55,190 --> 00:00:58,260
basic activity you get the menu options for free.

13
00:00:58,340 --> 00:01:04,030
You can see these menu button here at the right hand side the top right hand side here.

14
00:01:04,220 --> 00:01:09,980
So about using any activity you don't get this option but you can add it later.

15
00:01:10,220 --> 00:01:13,140
So I'd prefer to choose this one here for now.

16
00:01:13,170 --> 00:01:19,490
Choose basic activity and then just click on next and then he can specify the activity name last name

17
00:01:19,490 --> 00:01:26,000
title and the many resource names so you don't have to change anything here just click and finish.

18
00:01:26,030 --> 00:01:28,330
So let's wait a little bit here.

19
00:01:28,410 --> 00:01:34,420
So now as you can see our project is created and still the great deal built is running so let's wait.

20
00:01:34,670 --> 00:01:35,320
OK.

21
00:01:35,600 --> 00:01:39,580
So now it's actually configuring the product for us.

22
00:01:40,370 --> 00:01:42,630
And now the project is ready.

23
00:01:43,080 --> 00:01:48,960
So now let's actually go to this activity under limited access and so as you can see here it is the

24
00:01:48,960 --> 00:01:49,990
android view.

25
00:01:50,280 --> 00:01:55,510
And then inside is a race for lower left shoulder here just double click and it's activity underly minute

26
00:01:55,520 --> 00:02:00,220
example select is a floating action button and then press until the key on your keyboard.

27
00:02:00,540 --> 00:02:06,870
Now let's go back to content underline minute X amount selectees hello world view and then present it

28
00:02:06,870 --> 00:02:08,080
here on your keyboard.

29
00:02:08,400 --> 00:02:12,630
So now I want to design the user interface of this application.

30
00:02:12,630 --> 00:02:18,300
So first let's actually close this activity underlaid minute example tap here at the top let's double

31
00:02:18,300 --> 00:02:20,860
click on this content underlayment and examine.

32
00:02:21,070 --> 00:02:24,710
And now you can see that we have these components resection.

33
00:02:24,720 --> 00:02:26,940
We have this relatively out right.

34
00:02:26,940 --> 00:02:28,170
Let me show you here.

35
00:02:28,290 --> 00:02:30,610
So this is actually a relative lay out here.

36
00:02:30,840 --> 00:02:36,090
So let's add a linearly out or linearly or vertical to this relatively flat.

37
00:02:36,170 --> 00:02:39,790
So this pallet section let's search for the layouts for them.

38
00:02:39,810 --> 00:02:41,320
So this is really as follows.

39
00:02:41,690 --> 00:02:48,900
And let's select this linearly as vertical here and just drag it here into this relatively outhere and

40
00:02:48,900 --> 00:02:54,270
just put it here at the center horizontal here and center vertical so you can see these dotted lines

41
00:02:54,660 --> 00:02:59,300
that are actually showing us that where we can actually put our linearly out.

42
00:02:59,340 --> 00:03:04,980
So just put it here at the center and now we can see that the layout width and the layout height of

43
00:03:04,980 --> 00:03:08,570
are linearly out vertical is actually match parents.

44
00:03:08,580 --> 00:03:10,650
So you can see that the orientation is vertical.

45
00:03:10,650 --> 00:03:12,330
This is really important.

46
00:03:12,450 --> 00:03:19,140
So now you know that what why we have these distances here and that's because of the padding attributes

47
00:03:19,560 --> 00:03:25,020
of the relatively out inside these text top you can see these attributes here these values.

48
00:03:25,020 --> 00:03:27,460
So let's go back to the design top here at the bottom.

49
00:03:27,540 --> 00:03:32,590
Now I want to add some text views to this play out here.

50
00:03:32,620 --> 00:03:34,990
Is linearly I-30 card.

51
00:03:35,010 --> 00:03:39,220
So now let's actually scroll to the top and this palette section.

52
00:03:39,270 --> 00:03:44,860
Select this text view and just drag it and put it in so it is linearly out vertical.

53
00:03:45,210 --> 00:03:51,360
So now we can see that I actually put this takes you hit Enceladus linearly aesthetical Enceladus up

54
00:03:51,600 --> 00:03:52,980
componentry here.

55
00:03:53,160 --> 00:03:59,290
So let's select this text view and for that little tweet here you can see that it is much aperient.

56
00:03:59,340 --> 00:04:04,560
Let's change it to rap content and the idea of height is also the content.

57
00:04:04,560 --> 00:04:06,370
So it is good content.

58
00:04:06,750 --> 00:04:09,260
And let's actually specify an ID for the states.

59
00:04:09,290 --> 00:04:13,820
So the idea is going to BTX the Vaun and the person enter on your keyboard.

60
00:04:13,860 --> 00:04:21,330
So now all you want to put this takes you in the center horizontal or key in the center horizontal of

61
00:04:21,330 --> 00:04:23,360
this linearly or 20 cut.

62
00:04:23,730 --> 00:04:30,480
So in order to actually change the position of this takes you inside linearly with vertical I must change

63
00:04:30,850 --> 00:04:31,930
their layout.

64
00:04:31,980 --> 00:04:32,820
Gravity.

65
00:04:32,820 --> 00:04:33,810
Why.

66
00:04:33,810 --> 00:04:36,750
Because this takes inside is linearly.

67
00:04:36,750 --> 00:04:43,710
I swear to God and this means that this takes is actually the child of this linearly out or in other

68
00:04:43,710 --> 00:04:47,930
words this linearly out is actually the parent of this text view.

69
00:04:47,940 --> 00:04:53,800
So now I want to actually change the place of this text and put it under a certain horizontals of this

70
00:04:53,820 --> 00:04:54,640
linearly.

71
00:04:54,690 --> 00:05:01,020
So let's go to view all properties section here and let's select one of these properties and let's search

72
00:05:01,020 --> 00:05:06,200
for layout gravities we just type in here lay out gravity.

73
00:05:06,940 --> 00:05:09,200
And now this is really Earth gravity attribute.

74
00:05:09,210 --> 00:05:10,340
Just open it.

75
00:05:10,530 --> 00:05:11,520
Let's check this.

76
00:05:11,520 --> 00:05:14,290
Check this check box that says Center horizontal.

77
00:05:14,520 --> 00:05:20,830
And now we can see that this text is actually centered horizontally inside this linearly aesthetical

78
00:05:20,860 --> 00:05:22,300
this is very important.

79
00:05:22,440 --> 00:05:26,160
But if you have another attribute and that is called gravity.

80
00:05:26,160 --> 00:05:28,150
So let's actually find to the gravity attribute.

81
00:05:28,230 --> 00:05:30,120
So let's see what is that.

82
00:05:30,150 --> 00:05:31,290
That's scroll down here.

83
00:05:31,320 --> 00:05:33,110
In order to find it.

84
00:05:33,360 --> 00:05:35,370
So here it is the gravity attribute.

85
00:05:35,640 --> 00:05:36,500
And you can see.

86
00:05:36,630 --> 00:05:38,430
So what is this gravity attribute.

87
00:05:38,460 --> 00:05:41,690
We have less gravity and we have gravity What's the difference.

88
00:05:41,940 --> 00:05:50,010
The difference is that if you want to change the place of your user interface component inside a parent

89
00:05:50,520 --> 00:05:53,760
you have to change the layout gravity attribute.

90
00:05:54,060 --> 00:06:02,910
But if you want to change the content or the child of your component you have to change the gravity

91
00:06:02,910 --> 00:06:06,120
attribute to what's this actually let me give you an example.

92
00:06:06,120 --> 00:06:08,820
So for example I have this text right.

93
00:06:08,940 --> 00:06:10,170
I have this text view.

94
00:06:10,170 --> 00:06:16,680
Let's set the layout to actually match parent for this text view.

95
00:06:17,100 --> 00:06:21,270
So now as you can see the layout with this picture is actually match the parent.

96
00:06:21,270 --> 00:06:24,710
Now I want to change the gravity attribute so this is the gravity attribute.

97
00:06:24,720 --> 00:06:25,230
Right.

98
00:06:25,500 --> 00:06:31,950
So I told you that the gravity is going to specify the location or the position of the contents of your

99
00:06:31,950 --> 00:06:34,440
component here inside the child.

100
00:06:34,680 --> 00:06:39,890
So you can see that this is actually it takes a view which is going to be the parent and the text.

101
00:06:39,930 --> 00:06:42,330
So this takes you is going to be the child.

102
00:06:42,490 --> 00:06:43,290
Right.

103
00:06:43,300 --> 00:06:49,780
So now when you change the gravity of your takes view is going to change the position of the child which

104
00:06:49,770 --> 00:06:51,160
is going to be the text.

105
00:06:51,160 --> 00:06:53,320
So he can't say Center.

106
00:06:53,320 --> 00:06:55,750
So let's actually find the center checkbox.

107
00:06:55,750 --> 00:07:00,600
Let's take the search box that says Center if a tick tick box now it's going to put the text of this

108
00:07:00,610 --> 00:07:02,430
text at the center.

109
00:07:02,650 --> 00:07:04,120
The 66 books now.

110
00:07:04,290 --> 00:07:10,100
And now you can see that the text of this text view is now at the center right.

111
00:07:10,270 --> 00:07:13,080
And that's because of this gravity attribute.

112
00:07:13,510 --> 00:07:18,730
So let me actually scroll to the top here and let's change them.

113
00:07:18,850 --> 00:07:22,280
They have to be much much apparent to the content again.

114
00:07:22,750 --> 00:07:28,780
So now let's find out gravity Alice unchecked is chapbooks center horizontal here.

115
00:07:28,810 --> 00:07:29,500
Let's take it.

116
00:07:29,530 --> 00:07:35,400
And again as you can see it is actually on the left hand side of this linearly I-30 cut right.

117
00:07:35,440 --> 00:07:38,950
So let's select this linearly as vertical.

118
00:07:38,980 --> 00:07:43,010
Inside this componentry section is like this linearly I swear to God.

119
00:07:43,660 --> 00:07:47,010
And now I can actually find the gravity attribute here.

120
00:07:47,020 --> 00:07:51,730
So this is the gravity attribute and if you want to search for it just select one of these properties

121
00:07:51,820 --> 00:07:58,370
and just type in here gravity OK and this is the gravity attribute and now OK.

122
00:07:58,400 --> 00:08:01,890
So this is the let linearly with vertical which is going to be the parent.

123
00:08:01,910 --> 00:08:02,830
Right.

124
00:08:02,900 --> 00:08:07,810
That takes you inside this linearly Athletica it is going to be the child.

125
00:08:07,850 --> 00:08:11,980
So if I actually change the gravity attribute of this linearly I was vertical.

126
00:08:11,990 --> 00:08:16,260
It is it is going to change the position of the child which is this takes a view.

127
00:08:16,460 --> 00:08:21,340
So I can actually for example check this checkbox that says Center.

128
00:08:21,410 --> 00:08:28,610
So now we can see that this takes view is actually on the center of this linearly as vertical or for

129
00:08:28,610 --> 00:08:34,600
example I can unticketed checkbooks again and I can take the box that is centered horizontal and now

130
00:08:34,600 --> 00:08:41,420
we can see that this view is actually in the center horizontally Enceladus linearly with Westacott.

131
00:08:41,750 --> 00:08:47,150
So that's the difference between linearly out excuse me that's the difference between length gravity

132
00:08:47,150 --> 00:08:48,220
and gravity.

133
00:08:48,290 --> 00:08:53,210
Lay out gravity is going to specify the location of your user interface components according to the

134
00:08:53,210 --> 00:09:01,460
parent and the gravity attribute the gravity a is going to specify the location or the position of the

135
00:09:01,460 --> 00:09:04,590
child inside that parent.

136
00:09:04,700 --> 00:09:05,840
Right.

137
00:09:05,840 --> 00:09:10,390
So we're going to actually create some more examples about that.

138
00:09:10,400 --> 00:09:16,430
So now what ever actually what ever that takes views that I am going to add to this linearly aesthetical

139
00:09:16,700 --> 00:09:18,950
is going to be under center horizontally.

140
00:09:18,950 --> 00:09:19,420
Why.

141
00:09:19,520 --> 00:09:25,730
Because for the linearly Elsworth vertical gravity attribute I said this centered horizontal so it's

142
00:09:25,730 --> 00:09:31,960
going to set the position of the children of this linearly as vertical and the center horizontal.

143
00:09:31,970 --> 00:09:36,610
So let's add another text view to this linearly as vertical and release it.

144
00:09:36,980 --> 00:09:39,820
So as you can see the layout is much apparent.

145
00:09:39,830 --> 00:09:41,930
Let's change the mass path into the content.

146
00:09:43,290 --> 00:09:45,620
Now as you can see it is at the center.

147
00:09:45,800 --> 00:09:53,000
Let's actually change the idea of these takes you to t x the two and then precedented on your keyboard.

148
00:09:53,470 --> 00:10:00,580
Let's add another takes you to these this linearly vertical so just select takes a view and put it here

149
00:10:00,610 --> 00:10:02,650
inside this linear they are square circle.

150
00:10:03,000 --> 00:10:08,240
Now let's set the lay out feet to wrap content.

151
00:10:08,460 --> 00:10:09,120
Here.

152
00:10:09,250 --> 00:10:17,800
Let's actually change the ID to what the free takes the free and then person until January.

153
00:10:18,170 --> 00:10:20,640
So let's also change the text of these text views.

154
00:10:20,720 --> 00:10:22,320
So let's select selectees first text.

155
00:10:22,350 --> 00:10:23,380
This takes the.

156
00:10:23,750 --> 00:10:26,530
And let's find the text attribute which is this one.

157
00:10:26,810 --> 00:10:34,190
And just typing here takes one text one and the person until January both Let's select selectees takes

158
00:10:34,200 --> 00:10:42,080
you second takes you and for the text attribute just type in your text to and then present until your

159
00:10:42,080 --> 00:10:49,160
keyboard selects a first text view here and for the text attribute just typing in here text free and

160
00:10:49,160 --> 00:10:51,170
then present and help you on your keyboard.

161
00:10:51,530 --> 00:10:57,410
Let's add another text view to this linearly as reticle so just select the state's view and just drag

162
00:10:57,410 --> 00:11:00,100
it here into this linearly as vertical.

163
00:11:00,410 --> 00:11:04,010
And now for the layout read here.

164
00:11:04,010 --> 00:11:11,470
Let's pass the value A-rab content and now it is actually under center horizontal of this linear swastica

165
00:11:12,140 --> 00:11:13,510
select is text view.

166
00:11:13,580 --> 00:11:16,870
And for the ideal it's actually pass the value to 64.

167
00:11:17,600 --> 00:11:19,080
And that person interregional keyboard.

168
00:11:19,100 --> 00:11:26,670
And for the text attribute let's set the value text forth and then press enter key on your keyboard.

169
00:11:27,170 --> 00:11:32,550
Let's add another takes you so inside these widgets for just select the states and put it here inside

170
00:11:32,550 --> 00:11:35,930
these linearly as vertical and then release it.

171
00:11:36,140 --> 00:11:41,800
So for the lay out again let's pass the value or content for the ID.

172
00:11:41,930 --> 00:11:48,800
Let's say that this value is going to be to 65 and then press enter on your keyboard and for the text

173
00:11:48,950 --> 00:11:55,300
for the text strip you're just open here a text file and then press that international keyboard.

174
00:11:55,310 --> 00:11:57,660
So now we have these text views right.

175
00:11:58,160 --> 00:12:04,190
So now let's select all this takes us inside this componentry section just select one of these takes

176
00:12:04,190 --> 00:12:07,730
us here and you can actually hold down the commentary on your keyboard.

177
00:12:07,730 --> 00:12:13,040
So if you are using a Windows machine you are unique to actually hold down the control on your keyboard

178
00:12:13,460 --> 00:12:20,080
and then select all these takes views here and now are these takes views are selected.

179
00:12:20,080 --> 00:12:20,570
Right.

180
00:12:20,620 --> 00:12:25,900
So now I can actually change the padding attributes of these text.

181
00:12:25,930 --> 00:12:27,070
So what is the padding.

182
00:12:27,070 --> 00:12:32,290
The padding is actually the inner space of our component our user interface components.

183
00:12:32,350 --> 00:12:35,080
So our views does have an inner space.

184
00:12:35,080 --> 00:12:35,380
Right.

185
00:12:35,380 --> 00:12:37,530
So let me show you that space silicates.

186
00:12:37,540 --> 00:12:38,720
Look at this this view here.

187
00:12:38,830 --> 00:12:43,200
You can see this Innerspace space on the right on the bottom on the left and on the top.

188
00:12:43,210 --> 00:12:44,910
This is actually called the padding.

189
00:12:45,160 --> 00:12:49,480
Let's select or this takes music and so you can actually hold the shift key down on your keyboard and

190
00:12:49,480 --> 00:12:51,730
select all of them at once.

191
00:12:51,730 --> 00:12:55,690
And here you can see these padding attributes here inside this property section.

192
00:12:55,690 --> 00:12:56,640
Just open it.

193
00:12:56,890 --> 00:13:00,830
So we have this padding we have padding bottom padding and padding left right.

194
00:13:00,850 --> 00:13:06,480
Startup So we have this padding for all directions left right top button.

195
00:13:06,490 --> 00:13:10,990
So for the padding for all directions let's pass the value.

196
00:13:11,080 --> 00:13:15,750
For example 10 and the person entelechy on your keyboard here.

197
00:13:15,820 --> 00:13:21,850
So now we can see that we have actually passed the value of 10 DP for the padding attribute of all these

198
00:13:21,870 --> 00:13:29,320
fixed views and you can see that the inner space for all in all directions is actually increased.

199
00:13:29,320 --> 00:13:31,440
So now you can see our text use here.

200
00:13:31,480 --> 00:13:34,800
So let's select all these are all of these six again.

201
00:13:35,260 --> 00:13:40,120
And now I want to talk to you about the margin attributes so what is the margin the margin is actually

202
00:13:40,120 --> 00:13:41,560
the outer space.

203
00:13:41,560 --> 00:13:43,940
It is the opposite of padding.

204
00:13:44,290 --> 00:13:50,730
So when I say Margene I mean the outer space of this actually takes you to this space that is actually

205
00:13:50,770 --> 00:13:56,940
outside for example outside of this right hand side of the space view outside of the top top of the

206
00:13:56,940 --> 00:13:57,880
stakes view.

207
00:13:57,880 --> 00:14:02,380
Outside of this a of the state's view and outside of the bottom of this text view.

208
00:14:02,380 --> 00:14:08,190
So let's select all this takes views and inside the properties section you can see the lay out margin

209
00:14:08,200 --> 00:14:08,710
right.

210
00:14:08,920 --> 00:14:12,540
So for the left margin that's passed the value for example 15.

211
00:14:12,910 --> 00:14:13,420
Right.

212
00:14:13,600 --> 00:14:17,830
And then press energy interview on your keyboard so you can see that we have a margin for all directions

213
00:14:18,060 --> 00:14:20,820
by them and left right start up.

214
00:14:20,830 --> 00:14:28,980
So when I say lay out Margene is going to actually put them 15 DP at actually 15 DP for all directions.

215
00:14:29,110 --> 00:14:30,830
And then person until Zhenyu keyboard.

216
00:14:31,060 --> 00:14:35,170
So now you can see that the out in the outer space is now increased.

217
00:14:35,170 --> 00:14:39,410
So you can see these outer spaces this distances between these takes.

218
00:14:39,490 --> 00:14:41,860
Here is now increased.

219
00:14:41,860 --> 00:14:46,870
So now I think that's enough for the design of this application.

220
00:14:46,870 --> 00:14:50,310
Let's go to main activity that you have a file here.

221
00:14:50,350 --> 00:14:55,160
So as you can see again we have this piece of code that is related to the floating action button.

222
00:14:55,220 --> 00:15:00,490
We actually already deleted this floating action button inside our activity underlayment at XM and so

223
00:15:00,490 --> 00:15:01,150
we don't need it.

224
00:15:01,150 --> 00:15:06,610
Now just to just highlight this piece of kit and that person on your keyboard.

225
00:15:06,670 --> 00:15:14,110
Now you can see these piece of codes these codes actually uncreate options menu Mefford is an option

226
00:15:14,140 --> 00:15:14,710
item selected.

227
00:15:14,710 --> 00:15:16,660
I'll talk more about this later.

228
00:15:16,660 --> 00:15:21,320
So let's actually delete these codes that are related to the menu options menu.

229
00:15:21,340 --> 00:15:27,370
Just actually delete them and we only have the main activity class and the opening and closing curly

230
00:15:27,370 --> 00:15:28,600
brace of dismay and anti-vehicle.

231
00:15:28,600 --> 00:15:32,610
So this is really important and we have this uncreate Meffert here.

232
00:15:32,830 --> 00:15:35,220
So the opening and closing curly blocks of this uncreate.

233
00:15:35,320 --> 00:15:38,720
So let's actually go straight into this uncreate method.

234
00:15:39,100 --> 00:15:43,870
And now you want to actually create objects of type complext view.

235
00:15:44,170 --> 00:15:46,930
So we created these text views here inside our view.

236
00:15:46,930 --> 00:15:48,410
These are the objects right.

237
00:15:48,430 --> 00:15:54,900
So the only thing that we need to do inside our main activity class is to just refer to these objects.

238
00:15:55,390 --> 00:15:58,260
So for example this takes you here this is actually an object right.

239
00:15:58,420 --> 00:16:00,370
So let's go to main activity that of a file.

240
00:16:00,370 --> 00:16:02,290
And inside is uncreate method.

241
00:16:02,290 --> 00:16:05,950
First of all I just need to revert to the name of the text view class.

242
00:16:05,950 --> 00:16:06,490
Right.

243
00:16:06,790 --> 00:16:10,270
So then it now I need to specify the name of this variable.

244
00:16:10,270 --> 00:16:10,610
Right.

245
00:16:10,720 --> 00:16:12,820
Then what is valuable is going to be the one.

246
00:16:12,820 --> 00:16:18,400
So as you can see our DNA that I doubt that I should be used for my variable is the same as the ID.

247
00:16:18,400 --> 00:16:23,520
You don't have to specify this name actually as the same as the ID.

248
00:16:23,560 --> 00:16:26,190
You can actually change it but I prefer to name it like this.

249
00:16:26,200 --> 00:16:31,330
He actually won and then I put an assignment operator here and I just put up her apprentices.

250
00:16:31,900 --> 00:16:35,450
And here I talk more about casting later in the practices.

251
00:16:35,460 --> 00:16:39,660
We must actually cast this object that we are going to create.

252
00:16:39,820 --> 00:16:43,440
Actually if you are going to to be fair we must test this object to a text object.

253
00:16:43,450 --> 00:16:49,260
Otherwise the compiler is going to think that we are referring to a view object instead of takes your

254
00:16:49,260 --> 00:16:54,370
object and after this practice is so in so the practice is you just refer to the name of the textbook

255
00:16:54,370 --> 00:16:59,050
class in order to let the compiler know that we are actually referring to a text object.

256
00:16:59,050 --> 00:17:04,720
And if you are 100 percent sure about that if you actually say that you are referring to our text view

257
00:17:04,720 --> 00:17:09,950
object and you don't actually refer to a text view object your application is going to crash.

258
00:17:09,990 --> 00:17:21,030
OK so and here I can't just say I can find view by ID or dot ID that Id dot what the vote.

259
00:17:21,050 --> 00:17:27,080
So as you can see we have this art class that is actually auto generated for us and this art class is

260
00:17:27,080 --> 00:17:31,080
going to have all these IDs that be specified inside the content.

261
00:17:31,100 --> 00:17:36,500
Underlining that exemplified so never change the contents of this art class.

262
00:17:36,530 --> 00:17:42,260
You don't have to actually even change a simple piece of code inside this class and neighborly you should

263
00:17:42,260 --> 00:17:43,080
do that.

264
00:17:43,100 --> 00:17:46,190
This class is actually an auto generated code.

265
00:17:46,640 --> 00:17:51,090
And it's going to hold the IDs for assets and lots of other actually values.

266
00:17:51,350 --> 00:17:55,840
So if you have this idea from this class that we actually specifying inside the content underly mandates

267
00:17:55,840 --> 00:17:56,110
them.

268
00:17:56,150 --> 00:18:01,760
So if we actually click on this content underlayment that example tap and if I select is text one you

269
00:18:01,760 --> 00:18:04,910
can see that the ID is 361 right.

270
00:18:04,940 --> 00:18:08,040
So let's go back to our Java code an activity class.

271
00:18:08,110 --> 00:18:09,920
So TXI the one.

272
00:18:10,010 --> 00:18:14,750
So now the autocomplete feature actually helped us to choose this one and then person and then put a

273
00:18:14,750 --> 00:18:16,590
semicolon at the end of your statement.

274
00:18:16,610 --> 00:18:23,270
So what we have done here first we actually cast this object to a text object in order to let the compiler

275
00:18:23,270 --> 00:18:26,600
know that you are actually referring to a text view object.

276
00:18:26,780 --> 00:18:33,200
And I said OK I want to really first with that object and say the view right find view by ID or are

277
00:18:33,200 --> 00:18:34,260
you that he is the one.

278
00:18:34,310 --> 00:18:40,070
So that's why I've specified IDs inside this content underlining that exemption.

279
00:18:40,280 --> 00:18:45,680
Otherwise we would not be able to actually interact with this object from the job because this is really

280
00:18:45,680 --> 00:18:46,480
important.

281
00:18:46,730 --> 00:18:48,340
Let's go back to our main activity class.

282
00:18:48,410 --> 00:18:52,130
So our That did a 360 once in its we actually finding into that object.

283
00:18:52,130 --> 00:18:55,940
And here we are saying that we are actually fitting to a text view object.

284
00:18:55,940 --> 00:19:02,300
So now that we have this piece of object at the right hand side of the assignment operator here we are

285
00:19:02,360 --> 00:19:03,700
assigning that object to this.

286
00:19:03,710 --> 00:19:06,540
He asks the one valuable because of they takes you.

287
00:19:06,560 --> 00:19:14,990
So this one is just a valuable placeholder for holding this object on the right hand side of the assignment

288
00:19:14,990 --> 00:19:15,550
operator.

289
00:19:15,560 --> 00:19:23,510
Here let's create and other valuable tactics used to take a few takes the two assignment operator and

290
00:19:23,510 --> 00:19:29,690
I put a pair of practice's takes view again we need to cast this object to a text view object find view

291
00:19:29,690 --> 00:19:36,010
by id artist Id that itx the two semicolon.

292
00:19:36,020 --> 00:19:38,570
So we have six takes views I think right.

293
00:19:38,760 --> 00:19:39,490
Not five.

294
00:19:39,740 --> 00:19:41,170
So let's actually create them here.

295
00:19:41,270 --> 00:19:48,470
So again takes you to the free assignment operator and I put a pair of prentices.

296
00:19:48,560 --> 00:19:56,570
Again I need to cast this object or two I'll take your object find your ID are taught ID thought TXI

297
00:19:56,570 --> 00:19:59,420
the free semicolon.

298
00:19:59,450 --> 00:20:04,700
Let's create another variable of latex VTX the for assignment operator.

299
00:20:04,700 --> 00:20:14,400
Let's test this object to a text view object find view by id r that ID that DX the fourth semicolon.

300
00:20:14,780 --> 00:20:16,510
So as you can see I put a space here.

301
00:20:16,520 --> 00:20:21,050
It doesn't really matter if you put a space between this cast here and this value.

302
00:20:21,200 --> 00:20:23,790
You can actually just put it in this way.

303
00:20:24,180 --> 00:20:30,520
And finally even if you actually create 65 assignment operator again you need to cast this object to

304
00:20:30,530 --> 00:20:39,720
a text view object find view by ID or that Id DOT takes the word ph the five semicolon.

305
00:20:39,800 --> 00:20:44,840
So now that we have these variables that are actually referring to are three objects inside the content

306
00:20:44,870 --> 00:20:51,340
under limited example we can actually a mini late are takes viewers here from our job codes.

307
00:20:51,350 --> 00:20:53,290
So let's see how we can do that.

308
00:20:53,300 --> 00:20:56,500
So here let's create a variable of type stream.

309
00:20:56,660 --> 00:20:59,770
So first we must specify that data type or verbally.

310
00:21:00,010 --> 00:21:06,780
And now I need to specify the name of my body so I can say that the name is actually my street value.

311
00:21:06,800 --> 00:21:13,700
This is the name of the value the value of a lecture the assignment operator and at the right hand side

312
00:21:13,730 --> 00:21:19,410
of this assignment operator I can put actually two coats and in circles I can see Android.

313
00:21:19,700 --> 00:21:28,650
Programming is fun and then put put an exclamation mark at the end semicolon.

314
00:21:28,880 --> 00:21:32,220
And here I can actually say he likes the board.

315
00:21:32,240 --> 00:21:33,460
So I am going to refer to this.

316
00:21:33,470 --> 00:21:39,050
He asks the one variable that holds that that is actually holds up that holds this takes two objects

317
00:21:39,050 --> 00:21:39,620
right.

318
00:21:39,620 --> 00:21:44,030
Takes the one that set next.

319
00:21:44,130 --> 00:21:50,930
I am calling this method set takes and this takes the one object and I can pass a value as an argument

320
00:21:50,960 --> 00:21:57,620
to this set text method so that this can actually show that it is going to put that value on the text

321
00:21:57,640 --> 00:22:00,530
view one on the text the one on the screen.

322
00:22:00,830 --> 00:22:02,900
So tasty want that said text.

323
00:22:02,900 --> 00:22:06,890
And here you can see my stream value.

324
00:22:07,010 --> 00:22:11,920
So am I actually passed this value but that halts this thing value to this method.

325
00:22:12,020 --> 00:22:18,350
So remember this if it needs a value of 3 and we must pass a value of type String actually.

326
00:22:18,380 --> 00:22:20,100
Let's run an application now.

327
00:22:20,140 --> 00:22:21,840
And let me show you.

328
00:22:22,040 --> 00:22:27,770
So just select one of these devices and then just click on OK let me show you the emulator.

329
00:22:27,770 --> 00:22:33,820
So now you can see that our application is actually running on this emulator and you can see disvalue

330
00:22:33,860 --> 00:22:35,600
and programming is one.

331
00:22:35,630 --> 00:22:38,830
So this value is actually in place of the next one.

332
00:22:38,870 --> 00:22:39,560
Right.

333
00:22:39,560 --> 00:22:43,910
So if we actually go to this content under the limited exempli you can see that the first text is takes

334
00:22:43,910 --> 00:22:44,340
one.

335
00:22:44,420 --> 00:22:46,970
So you can see this value here and reprograming is one.

336
00:22:46,970 --> 00:22:54,530
So by just referring to the ID of this takes one here 261 I could actually manipulate the text of this

337
00:22:54,920 --> 00:22:58,540
takes one here so text the one that said text.

338
00:22:58,580 --> 00:23:01,650
And we just need to pass a string value to this method in this way.

339
00:23:01,790 --> 00:23:05,750
We are changing the text of the text what the programming is fun.

340
00:23:05,790 --> 00:23:08,960
So now let's actually add some more quotes here.

341
00:23:08,960 --> 00:23:10,040
It's really fun.

342
00:23:10,040 --> 00:23:20,250
So this time I am going to the first to this t XTi two so I can say 1:54 that sit text at inside Apprentice's.

343
00:23:20,420 --> 00:23:23,210
I want to use one of the string methods.

344
00:23:23,280 --> 00:23:25,360
One of this thing class action team efforts.

345
00:23:25,370 --> 00:23:29,730
So these are not going to be Street class misfits this is going to be actually instance methods of this

346
00:23:29,730 --> 00:23:30,670
thing class.

347
00:23:31,010 --> 00:23:35,820
So here I am going to refer to this string variable or a string instance.

348
00:23:35,840 --> 00:23:37,800
So remember this is actually the string literal.

349
00:23:37,850 --> 00:23:38,400
Right.

350
00:23:38,600 --> 00:23:43,280
So if you are assigning this string literal to this variable so this is called and is and is a string

351
00:23:43,490 --> 00:23:44,940
instance actually.

352
00:23:44,960 --> 00:23:49,310
So here I can say is the prentices I can say my string value.

353
00:23:49,430 --> 00:23:54,040
So now you want to call Osteen's Meffert on this instance.

354
00:23:54,350 --> 00:24:00,980
So now as you can see we have lots of methods that we can call on this streambed object and this string

355
00:24:01,070 --> 00:24:08,050
instance for example Chad could point at or lots of other methods for example this one index of index.

356
00:24:08,060 --> 00:24:14,270
So we're going to use some of them here or the last index of as you can see here and you can see that

357
00:24:14,270 --> 00:24:20,910
the data type of the parameter that this method has for example last index of my faith and the length

358
00:24:21,050 --> 00:24:25,910
of it it is going to actually give you the number of characters inside that string.

359
00:24:25,910 --> 00:24:31,870
So let's actually choose this one Chad at and then select it and that person and entered on your keyboard.

360
00:24:31,970 --> 00:24:36,030
This method is going to return a value of type chat.

361
00:24:36,080 --> 00:24:43,210
So now I can actually I need to pass a value of that integer to this method as you can see if it actually

362
00:24:43,220 --> 00:24:44,680
hover in here.

363
00:24:44,690 --> 00:24:50,720
Inside this prentices it is Sharratt it instantly cannot be applied so we must pass a value of that

364
00:24:50,750 --> 00:24:51,880
integer here.

365
00:24:51,920 --> 00:24:54,660
So I want to the character add index.

366
00:24:54,710 --> 00:24:56,430
For example 0.

367
00:24:56,750 --> 00:24:57,050
Right.

368
00:24:57,140 --> 00:25:01,090
So remember in programming we always count from number zero.

369
00:25:01,190 --> 00:25:01,600
Right.

370
00:25:01,760 --> 00:25:02,870
So what does that mean.

371
00:25:02,870 --> 00:25:04,900
So look at this string leader right here.

372
00:25:05,120 --> 00:25:06,350
Android programming right.

373
00:25:06,350 --> 00:25:13,850
So if you want to count the number of characters that we have inside these codes I must start from number

374
00:25:13,850 --> 00:25:16,310
zero so the 8 is going to be zero.

375
00:25:16,700 --> 00:25:22,430
The end is going to be number one and the D is going to be number actually 2.

376
00:25:22,460 --> 00:25:29,720
So this means that it is inside the index 0 and is inside an index number one the is inside the index

377
00:25:29,720 --> 00:25:31,280
number 2 and so on.

378
00:25:31,760 --> 00:25:39,350
So when I say a maestro valued the chad at zero This means that give me the character at index 0 of

379
00:25:39,350 --> 00:25:43,310
this stunningly the rule as you can see I am actually referring to this variable that holds the string

380
00:25:43,310 --> 00:25:43,910
literal.

381
00:25:43,940 --> 00:25:49,010
So I am calling this may 5th and this string literal right when I referred to my body but am actually

382
00:25:49,450 --> 00:25:51,470
I want to access my value.

383
00:25:51,470 --> 00:25:52,690
The value of this value.

384
00:25:52,880 --> 00:25:56,310
So this means that I am actually getting to that value.

385
00:25:56,360 --> 00:26:00,120
So Chad at 0 is going to actually give us the character.

386
00:26:00,380 --> 00:26:04,580
So let's run our application now and let's see what happens.

387
00:26:04,790 --> 00:26:08,770
Let me show you the emulator.

388
00:26:08,900 --> 00:26:10,990
So as you can see our application crashed.

389
00:26:11,060 --> 00:26:12,110
Why.

390
00:26:12,140 --> 00:26:13,180
I'll tell you why.

391
00:26:13,340 --> 00:26:17,820
Because this method Septic's needs a value of type string.

392
00:26:18,080 --> 00:26:25,190
And this method Chad at here is going to return a value that is of type chat or a character.

393
00:26:25,220 --> 00:26:30,500
So we must convert this returned value to an R to see value.

394
00:26:30,500 --> 00:26:38,090
So after this value here I just need to put a plus operator and then I can just put two codes in in

395
00:26:38,120 --> 00:26:42,350
order to actually convert this return value to a string value.

396
00:26:42,350 --> 00:26:44,730
So plus operator and then Cotes.

397
00:26:44,750 --> 00:26:47,740
So let's run our application again.

398
00:26:47,840 --> 00:26:51,730
Let me show you the emulator.

399
00:26:51,830 --> 00:26:55,800
So now we can see this a here right.

400
00:26:56,090 --> 00:27:01,940
So the AA is actually inside the index 0 of this string right here.

401
00:27:01,940 --> 00:27:03,510
So you can see the value here.

402
00:27:03,920 --> 00:27:06,670
Let's go back to actually two and three studio.

403
00:27:07,230 --> 00:27:13,530
And now I want to actually call another method of this think class actually so now I can just refer

404
00:27:13,530 --> 00:27:20,010
to the name of this at XTi free this time takes the free variable that holds the free object so takes

405
00:27:20,010 --> 00:27:23,750
the free Dot said text.

406
00:27:24,600 --> 00:27:31,080
And now again I am going to refer to the name of this Mycenean Value-Added bell and this time I will

407
00:27:31,500 --> 00:27:34,540
actually use this method substring.

408
00:27:34,590 --> 00:27:37,800
So as you can see we have three different versions of substring method.

409
00:27:37,950 --> 00:27:42,750
The first one only accept one argument which is going to specify the beginning index.

410
00:27:42,750 --> 00:27:45,420
So let's actually first choose this one.

411
00:27:45,420 --> 00:27:47,470
The second one is going to accept two arguments.

412
00:27:47,490 --> 00:27:50,200
Let's first select this one substring.

413
00:27:50,540 --> 00:27:55,430
And now you may ask that OK what's the difference between parameter or argument.

414
00:27:55,540 --> 00:27:59,650
So the parameter is going to be when we actually create that method.

415
00:27:59,790 --> 00:28:03,130
We say that we are actually specifying a parameter for that method.

416
00:28:03,130 --> 00:28:08,250
Right but the argument is going to be the actual value of that up prime.

417
00:28:08,250 --> 00:28:10,450
The other method actually may be called that Meffert.

418
00:28:10,680 --> 00:28:16,410
So are these parameters or arguments are actually used interchangeably so don't worry about that.

419
00:28:16,530 --> 00:28:18,360
It's the value that we passed to effect.

420
00:28:18,410 --> 00:28:18,910
OK.

421
00:28:19,110 --> 00:28:20,800
Just let's make it simple.

422
00:28:20,850 --> 00:28:23,480
So my string value that substring.

423
00:28:23,520 --> 00:28:28,420
And I just need to pass only one value which is going to have actually of that integer.

424
00:28:28,590 --> 00:28:35,520
I need to pass a value of integer at this substring if it is going to return what value of string.

425
00:28:35,910 --> 00:28:39,390
So how do I know that this method I try to return a value of string.

426
00:28:39,400 --> 00:28:41,480
So let me delete this method again.

427
00:28:41,550 --> 00:28:42,490
Let me call it again.

428
00:28:42,580 --> 00:28:44,350
That substring.

429
00:28:44,430 --> 00:28:49,540
So as you can see look at this move it's a substring accepts a value of type Integer.

430
00:28:49,680 --> 00:28:50,900
And as you can see it's prime.

431
00:28:50,900 --> 00:28:52,610
Your name is begin index right.

432
00:28:52,980 --> 00:28:54,310
And it says string.

433
00:28:54,330 --> 00:29:00,840
So this string here means the return type of the Smurfette This means that this method is going to return

434
00:29:00,870 --> 00:29:02,500
a value of 3.

435
00:29:02,550 --> 00:29:04,050
So let's use this method.

436
00:29:04,340 --> 00:29:07,890
And now over to pass the for example index number 2.

437
00:29:08,190 --> 00:29:08,670
Right.

438
00:29:08,880 --> 00:29:09,830
Let's see what happens.

439
00:29:09,840 --> 00:29:12,250
Let's run the application and let's see what happens.

440
00:29:12,240 --> 00:29:13,610
Just click on run.

441
00:29:13,740 --> 00:29:15,530
Let me show you the emulator.

442
00:29:15,600 --> 00:29:19,800
So now as you can see our application is actually running on the simulator.

443
00:29:19,800 --> 00:29:22,480
I look at this video it says DROITE.

444
00:29:22,530 --> 00:29:23,840
So what's this.

445
00:29:23,910 --> 00:29:25,300
So I said OK.

446
00:29:25,600 --> 00:29:29,530
Number two is going to be the beginning index and I called Ismir for it.

447
00:29:29,550 --> 00:29:30,930
So look at this value.

448
00:29:30,960 --> 00:29:32,340
Look at this single row.

449
00:29:32,580 --> 00:29:35,260
So let's look at the index number two.

450
00:29:35,280 --> 00:29:43,920
So it is index number one in is actually the index number is index number 0 right in index number 1

451
00:29:44,430 --> 00:29:49,980
and D is index number 2 and the past index number two to the Smurfette right.

452
00:29:50,040 --> 00:29:58,150
So you can see that the A and the end is actually eliminated and did from this starting point from this

453
00:29:58,170 --> 00:30:04,310
begin index the to the end is actually on the screen is actually outputted on the screen.

454
00:30:04,480 --> 00:30:06,590
Droite programming is what is fun.

455
00:30:07,400 --> 00:30:08,280
So that's it.

456
00:30:08,360 --> 00:30:09,650
That's what this Meffert does.

457
00:30:09,650 --> 00:30:11,140
That's the job of the Smurfit.

458
00:30:11,300 --> 00:30:12,320
OK.

459
00:30:12,320 --> 00:30:17,990
So let's actually use that method that substring method that actually accepts two arguments.

460
00:30:17,990 --> 00:30:26,120
So here are generally first of these three XTi for optical itx the four that said text and I can refer

461
00:30:26,120 --> 00:30:32,810
to the name of this variable missing value that substrings So I want to choose this method that actually

462
00:30:32,810 --> 00:30:34,420
exits two arguments.

463
00:30:34,550 --> 00:30:37,420
So you can see these variations between these two men.

464
00:30:37,420 --> 00:30:41,820
It's sort the first one exits only one argument and the second one accepts arguments.

465
00:30:41,840 --> 00:30:46,640
So look at this here we can specify the beginning index and the end index.

466
00:30:46,640 --> 00:30:47,830
So what does that mean.

467
00:30:47,960 --> 00:30:50,150
For example let's pass the value.

468
00:30:50,150 --> 00:30:53,050
For example 5 comma.

469
00:30:53,270 --> 00:30:57,470
And now I need to specify the end index so the end index is going to be for example.

470
00:30:57,470 --> 00:30:57,940
OK.

471
00:30:58,050 --> 00:30:58,970
Nice.

472
00:30:59,540 --> 00:31:03,040
Let's run that application now and let's see what happens.

473
00:31:03,080 --> 00:31:06,490
Let me show you the emulator and now look at this video.

474
00:31:06,500 --> 00:31:09,200
It says all the space.

475
00:31:09,320 --> 00:31:12,520
So let's find the index 5 inside the string leader.

476
00:31:12,520 --> 00:31:15,580
So 0 is 8 and is 1.

477
00:31:15,570 --> 00:31:19,030
These two are is actually free.

478
00:31:19,220 --> 00:31:19,890
Right.

479
00:31:20,060 --> 00:31:23,340
Or is four and why is.

480
00:31:23,420 --> 00:31:25,420
So this is this starting index.

481
00:31:25,520 --> 00:31:26,770
So you can see this right here.

482
00:31:26,780 --> 00:31:27,840
Right.

483
00:31:27,960 --> 00:31:30,590
And d d we have D here.

484
00:31:30,590 --> 00:31:34,160
So we have also this d here let me show you the emulator.

485
00:31:35,590 --> 00:31:36,890
So we have this D.

486
00:31:37,390 --> 00:31:40,180
And we have this space here.

487
00:31:40,360 --> 00:31:44,020
And look at this one as you can see it at the end index is 9.

488
00:31:44,080 --> 00:31:47,720
So the R is index 5 D is index 6.

489
00:31:47,770 --> 00:31:50,220
This page is also a character right.

490
00:31:50,290 --> 00:31:56,820
So it is going to be index number actually 7.

491
00:31:56,960 --> 00:32:04,670
The DP is going to be index number 8 and here there are is going to be index number nine.

492
00:32:04,900 --> 00:32:05,440
Right.

493
00:32:05,440 --> 00:32:07,780
So we only have actually the peak.

494
00:32:08,260 --> 00:32:18,000
So we have what we have of 5 6 7 8 and or is not actually output to the screen.

495
00:32:18,160 --> 00:32:24,850
Let me show the emulator or is not outputted to the screen so the ending index is not going to be actually

496
00:32:24,850 --> 00:32:27,670
out with at the end an index is going to be eliminated.

497
00:32:27,910 --> 00:32:34,510
Only this thought the index actually through the ending the ending index but not including the ending

498
00:32:34,510 --> 00:32:35,440
index.

499
00:32:35,440 --> 00:32:41,200
So only the starting index and the characters between this strange starting index and the ending index

500
00:32:41,260 --> 00:32:45,190
is going to be out with it but not including the ending index such as are.

501
00:32:45,340 --> 00:32:51,350
So if you actually look at this singly there are the character that is actually in the index on actually

502
00:32:51,370 --> 00:32:52,860
index number 5 is.

503
00:32:53,020 --> 00:32:54,410
So let me show you the emulator.

504
00:32:54,520 --> 00:32:55,540
So it is printed.

505
00:32:55,540 --> 00:32:57,330
Are you actually out with it to the console.

506
00:32:57,550 --> 00:33:04,980
So why is five D6 space is servant and P is 8 right.

507
00:33:05,150 --> 00:33:07,010
Or is night or is nine.

508
00:33:07,010 --> 00:33:10,230
Right but are is not output to the screen.

509
00:33:10,450 --> 00:33:18,320
So this means that R is actually eliminated and only a d p ideaspace p.

510
00:33:18,430 --> 00:33:19,840
So you can see this value here.

511
00:33:19,990 --> 00:33:23,980
So the value that is inside of the index nine is not out with it.

512
00:33:23,980 --> 00:33:30,940
It is going to be actually ignored on the distraint five six seven eight not including the index the

513
00:33:30,940 --> 00:33:32,450
ending index.

514
00:33:32,530 --> 00:33:34,700
So hopefully that makes sense.

515
00:33:34,720 --> 00:33:41,060
Now let's actually use another method takes the file this time data set text.

516
00:33:41,530 --> 00:33:49,120
So now inside Apprentice's I am going to refer to the name of this variable my string value that index

517
00:33:49,120 --> 00:33:52,840
of just they've been here indexed up and you can see different versions of this method.

518
00:33:53,110 --> 00:33:54,600
So look at this method.

519
00:33:54,600 --> 00:33:58,410
I want to actually use this method that accepts a value of types think.

520
00:33:58,440 --> 00:33:59,000
Right.

521
00:33:59,170 --> 00:34:02,420
And if it returns a value of an integer.

522
00:34:02,650 --> 00:34:07,690
So this means that we must actually convert this value that we get from the Smif with which is that

523
00:34:07,720 --> 00:34:11,710
integer 2 us think values so that we can output this value to the screen.

524
00:34:11,740 --> 00:34:14,320
Otherwise our application is going to crash.

525
00:34:14,320 --> 00:34:14,710
Why.

526
00:34:14,710 --> 00:34:18,230
Because this it again is going to return a value of that integer.

527
00:34:18,400 --> 00:34:22,480
Let's use it and then press on it on your keyboard and inside the prentices.

528
00:34:22,480 --> 00:34:29,650
Now I need to put just two coats here and I want to get the index of a specific character that we have

529
00:34:29,650 --> 00:34:31,270
inside this stunning leader.

530
00:34:31,510 --> 00:34:34,030
So I want to get the index of this exclamation mark.

531
00:34:34,030 --> 00:34:38,060
So inside the codes I just put this X and an exclamation mark here.

532
00:34:38,170 --> 00:34:44,710
And finally I need to actually convert this integer value that we get from this method to a string value.

533
00:34:44,710 --> 00:34:47,580
So just put a plus operator and then two coats.

534
00:34:47,620 --> 00:34:51,400
Let's run our application now and let's see what happens.

535
00:34:51,400 --> 00:34:52,930
Let me show you the emulator.

536
00:34:53,410 --> 00:34:56,170
And now you can see that it says 26.

537
00:34:56,260 --> 00:34:57,040
These are.

538
00:34:57,100 --> 00:35:01,240
Here is actually in the index 26 inside this string literal.

539
00:35:01,300 --> 00:35:02,110
So let's count.

540
00:35:02,110 --> 00:35:04,170
Let's see if it is correct or not.

541
00:35:04,180 --> 00:35:13,560
So DA is in the index 0 in is 1 2 3 4 5 6.

542
00:35:13,600 --> 00:35:15,990
We have a space here 7.

543
00:35:16,180 --> 00:35:28,710
This is actually 8 9 10 11 12 13 14 15 16 17 18.

544
00:35:28,720 --> 00:35:33,100
We have a space here 19 20 21.

545
00:35:33,100 --> 00:35:40,770
Again we have another space 22 23 24 25 and 26 correct.

546
00:35:40,780 --> 00:35:42,730
It is actually an index 26.

547
00:35:42,730 --> 00:35:48,550
So by using this method you can actually get a specific index of a specific character inside your string

548
00:35:48,550 --> 00:35:49,420
literal.

549
00:35:49,690 --> 00:35:50,200
Right.

550
00:35:51,520 --> 00:35:56,050
We can also pass over word instead of character to this method.

551
00:35:56,050 --> 00:36:02,160
So for example I can't say what is right or I can't say programming programming.

552
00:36:02,740 --> 00:36:06,820
So it's going I should look at this for and it's gonna go inside this string.

553
00:36:07,030 --> 00:36:09,940
And it's going to find disport in say this is stunningly the.

554
00:36:10,300 --> 00:36:15,320
And it's going to give me the index of the first character of this word.

555
00:36:15,370 --> 00:36:16,840
Inside is Stingley.

556
00:36:16,960 --> 00:36:22,740
So this is inside is in the index 8 index number 8 of this string.

557
00:36:22,840 --> 00:36:24,400
So it's going to return number eight.

558
00:36:24,400 --> 00:36:26,660
So let's run an application now.

559
00:36:26,800 --> 00:36:29,520
Let me show you the emulator.

560
00:36:29,560 --> 00:36:34,900
So now as you can see you can see this value here number eight.

561
00:36:35,120 --> 00:36:37,360
So it is actually the index number eight.

562
00:36:37,520 --> 00:36:38,820
Right.

563
00:36:38,840 --> 00:36:42,370
So this is how this index of a method works.

564
00:36:42,440 --> 00:36:45,390
And let's actually comment out on this.

565
00:36:45,530 --> 00:36:51,110
This piece of quote here because I want to actually teach you some more important concepts here.

566
00:36:51,440 --> 00:36:56,130
So let me just come at it as wide as he can so I actually used the multiline comment here.

567
00:36:56,350 --> 00:37:03,320
Slash's thought and I started with this slash start and then I actually ended ended it with the start

568
00:37:03,320 --> 00:37:04,170
slash.

569
00:37:04,610 --> 00:37:08,280
And finally I have stood inside this uncreate Meffert.

570
00:37:08,330 --> 00:37:09,670
Right.

571
00:37:09,680 --> 00:37:13,410
So now I am going to talk about the concept of casting.

572
00:37:13,490 --> 00:37:21,500
So what is casting the means temporarily converting a type to another type if it is possible.

573
00:37:21,770 --> 00:37:22,260
Right.

574
00:37:22,430 --> 00:37:25,650
So look at this piece of cloth you look at these examples.

575
00:37:25,670 --> 00:37:32,380
Here we are actually saying that OK we are going to find the view by the ID that we passed to dismember

576
00:37:32,380 --> 00:37:32,500
it.

577
00:37:32,510 --> 00:37:32,810
Right.

578
00:37:32,810 --> 00:37:34,190
For example 61.

579
00:37:34,520 --> 00:37:36,270
So it's going actually go inside its content.

580
00:37:36,280 --> 00:37:41,690
Underly minute exam is going to look at the flight and it's going to find the oddity 61.

581
00:37:41,930 --> 00:37:48,740
And here I am saying that I am a hundred and fifty percent sure that this text view is going to be of

582
00:37:48,740 --> 00:37:51,550
type of text view object view.

583
00:37:51,860 --> 00:37:56,200
As you can see it's this find view why I did not find the text by ID right.

584
00:37:56,550 --> 00:38:02,300
And here I am saying that I am a hundred and fifty percent sure that the view that you are looking for

585
00:38:02,360 --> 00:38:04,860
is actually of type text view.

586
00:38:04,970 --> 00:38:06,980
That's what testing means.

587
00:38:06,980 --> 00:38:12,020
I am actually temporarily saying to the compiler that it is going to be off the text view and there

588
00:38:12,020 --> 00:38:13,980
is no doubt about that.

589
00:38:14,000 --> 00:38:18,290
So now I want to actually give you some more real real world examples about casting.

590
00:38:18,290 --> 00:38:24,050
So let me create just a one line comment and just typing here casting.

591
00:38:24,920 --> 00:38:25,500
Right.

592
00:38:25,880 --> 00:38:29,420
And here I can just type in here for example.

593
00:38:29,420 --> 00:38:32,520
I can't just say a byte.

594
00:38:32,600 --> 00:38:35,150
So this is you know but what is this by right.

595
00:38:35,170 --> 00:38:41,720
It is actually an integer value and it's going to only hold an integer value or only between the minus

596
00:38:41,960 --> 00:38:46,990
actually negative 428 and positive 127.

597
00:38:47,210 --> 00:38:53,140
So it is going to only actually hold a very small integer value.

598
00:38:53,450 --> 00:38:55,280
So this is the byte type.

599
00:38:55,280 --> 00:38:56,390
And I can give it our name.

600
00:38:56,390 --> 00:39:01,460
So for example I can say small in value small and value.

601
00:39:01,460 --> 00:39:07,460
This is my very which is of the byte and I can assign a value to this valuable.

602
00:39:07,460 --> 00:39:11,240
So here I can for example say number 25.

603
00:39:11,240 --> 00:39:11,710
Right.

604
00:39:11,870 --> 00:39:23,450
So remember I can only assign a number between displaying to minus 2 and 201 128 and one hundred and

605
00:39:23,450 --> 00:39:24,080
twenty seven.

606
00:39:24,080 --> 00:39:25,480
So dot dot dot.

607
00:39:25,490 --> 00:39:29,240
So this range 127 positive right.

608
00:39:29,240 --> 00:39:36,330
So here at this point it's ready but only holds a value bet into in this range.

609
00:39:36,410 --> 00:39:38,990
So now I want to create a variable of type integer.

610
00:39:38,990 --> 00:39:39,640
Right.

611
00:39:39,710 --> 00:39:43,060
So here the name of my variable is going to be in value.

612
00:39:43,670 --> 00:39:47,740
So you know that means that data can hold a lot more larger value.

613
00:39:47,750 --> 00:39:48,900
Right.

614
00:39:49,010 --> 00:39:58,910
And here I can actually cast these bytes to an integer value how I can put a pair of practices and I

615
00:39:58,910 --> 00:40:06,670
can put integer here and I can refer to the name of this small value small in each value semicolon.

616
00:40:06,710 --> 00:40:11,190
So what happens if I don't poods this casting here.

617
00:40:11,560 --> 00:40:12,460
Nothing.

618
00:40:12,650 --> 00:40:13,160
Why.

619
00:40:13,250 --> 00:40:21,980
Because by still is an integer value but byte can only actually hold a very small range of values right.

620
00:40:22,160 --> 00:40:24,970
But integer can can hold a larger.

621
00:40:25,130 --> 00:40:26,580
Actually the range of values.

622
00:40:26,720 --> 00:40:32,280
So I can actually cast Templer really this small value to an integer value.

623
00:40:32,390 --> 00:40:35,830
So I just put a pair of practices and I just refer to the name of this.

624
00:40:35,970 --> 00:40:38,090
But it's very valuable right.

625
00:40:38,240 --> 00:40:44,480
So in this way the compiler thinks that this small interval is actually an integer value not an not

626
00:40:44,480 --> 00:40:49,940
a byte value but an integer value and it's going to assign that value to the value value of it.

627
00:40:50,060 --> 00:40:51,630
So that's what testing means.

628
00:40:51,630 --> 00:40:54,460
Actually let me give you some examples here.

629
00:40:54,590 --> 00:41:01,400
So I'm going to create a variable of type float so I can say float and the name of my variable here

630
00:41:01,400 --> 00:41:05,430
is going to be float value float value right.

631
00:41:05,480 --> 00:41:12,370
Assignment operator and here I can assign the value for example Number seven point eight.

632
00:41:12,390 --> 00:41:14,470
Here's this valuable right.

633
00:41:14,900 --> 00:41:22,010
So as you can see this value here is of type float and if you just put up this symbol value here the

634
00:41:22,010 --> 00:41:26,660
compiler thinks that you are assigning a value that is of type double.

635
00:41:26,810 --> 00:41:35,120
So you must explicitly let the compiler know that you mean float by just putting the character F after

636
00:41:35,120 --> 00:41:39,430
that at the end of your Actually your value your float value your decimal value.

637
00:41:39,560 --> 00:41:41,050
So I just put the child character in.

638
00:41:41,090 --> 00:41:44,570
And now the compiler is satisfied the error is gone.

639
00:41:44,570 --> 00:41:51,790
If you don't put this here and now as you can see the compiler is complaining and it says OK we are

640
00:41:51,920 --> 00:41:58,940
we found that we must assign the value float but we found the value double here.

641
00:41:58,970 --> 00:42:03,120
So just putting it in order to satisfy the compiler.

642
00:42:03,160 --> 00:42:06,160
Now I want to create a variable of type integer.

643
00:42:06,170 --> 00:42:13,100
So here I can say it and I can say that my number the name of my variable is going to be my integer

644
00:42:13,760 --> 00:42:16,310
number right.

645
00:42:16,340 --> 00:42:20,800
I put an assignment operator here and here I want to again use casting.

646
00:42:20,870 --> 00:42:22,550
So I put a pair of prentices.

647
00:42:22,820 --> 00:42:29,360
I put integers here right because I want to assign a value of integers to this value but right now I

648
00:42:29,360 --> 00:42:32,920
can refer to the name of this variable flautas value a semicolon.

649
00:42:33,440 --> 00:42:34,400
So what does this mean.

650
00:42:34,400 --> 00:42:37,180
Let me actually just delete this casting here.

651
00:42:37,310 --> 00:42:43,880
And now the compiler is showing us an error why if it actually hovered over this error it is incompatible

652
00:42:43,880 --> 00:42:45,230
types required.

653
00:42:45,270 --> 00:42:46,760
Ain't found flawed.

654
00:42:46,790 --> 00:42:47,750
What does this mean.

655
00:42:47,810 --> 00:42:53,090
This means that we have evaluable of that integer so we must assign a value of that mean to set this

656
00:42:53,090 --> 00:42:57,460
value about right but we assign a value of type float to this value.

657
00:42:57,650 --> 00:43:01,760
So how we can solve this problem how we can satisfy the compiler.

658
00:43:01,760 --> 00:43:05,260
So here I just need to use the casting.

659
00:43:05,630 --> 00:43:11,750
It just has this value to an integer value and the compiler is now satisfied.

660
00:43:11,930 --> 00:43:19,540
And now this float value is temporarily not actually for the entire life of this variable.

661
00:43:19,550 --> 00:43:24,860
Just temporarily It's just temporarily converted to a value of type integer.

662
00:43:24,860 --> 00:43:28,850
So this means it's going to actually delete this decimal value.

663
00:43:28,850 --> 00:43:34,850
If you cast this value to an integer value it's going to temporarily just delete this symbol value and

664
00:43:34,850 --> 00:43:37,890
it's going to assign only number 7 to this value but integer.

665
00:43:38,030 --> 00:43:39,820
So let me actually printed these values.

666
00:43:39,860 --> 00:43:43,190
Let me just output these values to the screen.

667
00:43:43,280 --> 00:43:47,030
So here I can say TXI the one that said text.

668
00:43:47,350 --> 00:43:50,770
And now I want to output the value of this float value to the console.

669
00:43:50,810 --> 00:43:52,900
So here I can say floats value.

670
00:43:53,060 --> 00:43:58,550
So because this is actually the value of a float and the Smurfit Septic's needs of value of strength.

671
00:43:58,730 --> 00:44:04,410
I just converted to a value of typesetting by just putting this plus operator and then two cards.

672
00:44:04,460 --> 00:44:06,450
And this is also called concatenating.

673
00:44:06,470 --> 00:44:09,320
So you are all already familiar with this concept right.

674
00:44:09,590 --> 00:44:13,920
So now let's let's actually run an application.

675
00:44:13,920 --> 00:44:17,080
Let me show you the emulator.

676
00:44:17,170 --> 00:44:19,230
So now it says seven point eight.

677
00:44:19,240 --> 00:44:20,610
So you can see this value.

678
00:44:20,650 --> 00:44:25,660
Now I want to output the value of the small integer number variable which holds again.

679
00:44:25,690 --> 00:44:30,520
This floats value here but you are casting to an integer data type.

680
00:44:30,610 --> 00:44:32,980
So here I can see to the.

681
00:44:33,190 --> 00:44:34,820
That said text.

682
00:44:34,930 --> 00:44:37,890
And here I can see my integer number.

683
00:44:38,320 --> 00:44:44,080
OK my integer number again because of that integer I must actually converted to a single value so just

684
00:44:44,080 --> 00:44:46,120
put a plus operator to cults.

685
00:44:46,120 --> 00:44:47,740
Let's run an application.

686
00:44:47,740 --> 00:44:49,630
Let me show you the emulator.

687
00:44:49,630 --> 00:44:56,320
Now you can see Number 7 here that this symbol value is actually the Eliminators here but you can only

688
00:44:56,320 --> 00:45:00,160
see number 7 and that's what this testing means.

689
00:45:00,340 --> 00:45:05,950
And in order to let you know that it is only temporarily temporarily cast it to an integer value.

690
00:45:05,950 --> 00:45:07,100
I am going to print.

691
00:45:07,180 --> 00:45:09,430
I am going to output this value to the console again.

692
00:45:09,430 --> 00:45:15,390
So to use the free that said text float value plus operators to close.

693
00:45:15,430 --> 00:45:17,040
Let's run an application again.

694
00:45:17,110 --> 00:45:18,690
Let me show you the emulator.

695
00:45:18,850 --> 00:45:23,580
And now you can see that it is still seven point eight right.

696
00:45:23,920 --> 00:45:25,270
So that's as easy as that.

697
00:45:25,270 --> 00:45:28,420
That's the concept of casting in programming.

698
00:45:28,690 --> 00:45:34,180
So now let me give you an other real world example so that this concept becomes a second nature for

699
00:45:34,180 --> 00:45:34,480
you.

700
00:45:34,590 --> 00:45:39,050
OK so here I am going to create a variable of type float again.

701
00:45:39,070 --> 00:45:46,080
So floats are the data type is going to be float and the name of my variable is going to be my float

702
00:45:47,390 --> 00:45:50,220
my float number.

703
00:45:51,200 --> 00:45:54,820
Assignment operator and I put a value of a float.

704
00:45:54,840 --> 00:45:57,130
I actually assign a value of that float to this value.

705
00:45:57,140 --> 00:46:01,670
So for example zero point seven or 0.9 semicolon.

706
00:46:02,210 --> 00:46:04,210
So now again it's written as an error.

707
00:46:04,220 --> 00:46:05,010
So I just put.

708
00:46:05,060 --> 00:46:09,470
I just need to put the F character here in order to satisfy the compiler.

709
00:46:09,470 --> 00:46:11,640
Let's create another variable of type float.

710
00:46:11,840 --> 00:46:12,760
The name is going to be.

711
00:46:12,760 --> 00:46:20,900
So let's change this name to my first my first floor number let's change let's give a name to this variable.

712
00:46:20,910 --> 00:46:24,590
My second my second floor number

713
00:46:27,580 --> 00:46:34,330
right now I can put an assignment operator here and this time I can put a value for example.

714
00:46:34,330 --> 00:46:41,620
Fifteen point eight if semicolon I can I actually assigned this value to this valuable my second floor

715
00:46:41,710 --> 00:46:42,390
number.

716
00:46:42,670 --> 00:46:45,240
So now I am going to create a variable of type integer.

717
00:46:45,290 --> 00:46:49,080
It resolved with an assignment operator.

718
00:46:49,090 --> 00:46:56,830
So now I am going to actually assign the multiplication of these two values together so here I can see

719
00:46:56,860 --> 00:47:03,730
my Fluke my first floor number multiplied by my second floor number semicolon.

720
00:47:03,880 --> 00:47:05,260
So now it's going to show us an error.

721
00:47:05,290 --> 00:47:12,460
And again because these two variables are of type float here and as you can see the result is going

722
00:47:12,460 --> 00:47:13,870
to be that float.

723
00:47:13,870 --> 00:47:16,580
So this is this is an integer.

724
00:47:16,600 --> 00:47:21,110
So here we must again cast this value this result to an integer value.

725
00:47:21,190 --> 00:47:28,870
So in order to do that I'll just put this expression inside the practice's here and now after this assignment

726
00:47:28,870 --> 00:47:33,090
operator again I put another pair of practices and I put integer here inside the apprentice's.

727
00:47:33,250 --> 00:47:37,510
So that it's going to actually execute this expression here first.

728
00:47:37,510 --> 00:47:42,200
And the result of this operation here the result of this multiplication here is going to be cast to

729
00:47:42,240 --> 00:47:46,820
an integer value and it's going to it's going to be assigned to this result variable.

730
00:47:46,870 --> 00:47:50,140
So let me actually print these values to the concert.

731
00:47:50,140 --> 00:47:55,630
So let me first just cast these codes.

732
00:47:55,660 --> 00:48:01,900
Let me just excuse me that any comment out of these quotes here because I want to actually use the actually

733
00:48:01,900 --> 00:48:03,220
the tea XTi here.

734
00:48:03,220 --> 00:48:10,020
So now I can say to Stephen that said text is the that said text.

735
00:48:10,090 --> 00:48:24,140
So now I can see my first floor number plus two coats right and now I can say to the two that said text

736
00:48:24,790 --> 00:48:28,230
and inside the apprentice's I have the first of the name of this variable.

737
00:48:28,240 --> 00:48:34,230
My second floor number plus two coats and finally takes the free.

738
00:48:34,690 --> 00:48:36,910
That's a text.

739
00:48:37,100 --> 00:48:43,310
And here I am going to out with the result to the screen result plus two coats.

740
00:48:43,640 --> 00:48:45,100
Let's run our application again.

741
00:48:45,110 --> 00:48:53,730
Let me show you the emulator and you can see these values the first value is forty point nine The second

742
00:48:53,750 --> 00:48:56,380
floor value is fifteen point eight.

743
00:48:56,380 --> 00:48:58,220
And the result is 61.

744
00:48:58,240 --> 00:48:58,840
Why.

745
00:48:58,840 --> 00:49:05,380
Because if you actually cast a result of this operation here to an integer value and we assign that

746
00:49:05,380 --> 00:49:06,810
integer value to this value but.

747
00:49:07,030 --> 00:49:11,980
So when you cast the results to an integer value it's going to actually eliminate that this small part

748
00:49:11,980 --> 00:49:13,400
of the value.

749
00:49:13,510 --> 00:49:16,610
And that's why it is only 61 here.

750
00:49:16,630 --> 00:49:19,740
So let me actually show you another example here.

751
00:49:19,750 --> 00:49:26,310
So for example we have actually over the bed for example my resort.

752
00:49:27,130 --> 00:49:38,290
For example my value my value assignment operator and here I can say two point seven multiplied by five

753
00:49:38,310 --> 00:49:39,300
semi-colon.

754
00:49:39,750 --> 00:49:44,240
So what happens here as you can see the first value is a float.

755
00:49:44,310 --> 00:49:46,590
But our second value is of type Integer.

756
00:49:46,800 --> 00:49:53,610
And the result of multiplication of a float value and are an integer value is going to be what a float

757
00:49:53,610 --> 00:49:54,560
value.

758
00:49:54,600 --> 00:49:59,790
So that's why it's actually showing us an error because the result of this operation is going to be

759
00:49:59,790 --> 00:50:03,740
of a float and it's going to actually be as good as it is.

760
00:50:03,830 --> 00:50:08,080
It's going to be picked up and so if we actually put the result of this operation is going to be off

761
00:50:08,080 --> 00:50:12,720
that float and float cannot be assigned to a valuable asset that integer.

762
00:50:12,720 --> 00:50:16,720
So again we must actually put this expression inside Apprentice's.

763
00:50:16,730 --> 00:50:23,750
And finally we can has this result to an integer value here and I can output this value to the console

764
00:50:23,760 --> 00:50:30,010
CTX the four here that said text my value plus two coats.

765
00:50:30,060 --> 00:50:31,630
Let's run an application now.

766
00:50:31,650 --> 00:50:33,720
Let me show you the emulator.

767
00:50:33,720 --> 00:50:38,220
I know it says 14 and that's really great.

768
00:50:38,220 --> 00:50:46,390
So now we have actually and other kinds of sort of for example we have two variables of that integer.

769
00:50:46,410 --> 00:50:55,440
So here I can say is are in our first value first int value assignment operator for example Number 10

770
00:50:55,590 --> 00:50:57,430
semicolon in.

771
00:50:57,930 --> 00:51:04,500
Let's create another variable and a second int value assignment operator.

772
00:51:04,720 --> 00:51:06,750
Number 20 is assign a semicolon.

773
00:51:07,000 --> 00:51:09,830
And now I can say 8 my results.

774
00:51:09,850 --> 00:51:15,300
So our result is actually and the name is going to be resolved.

775
00:51:15,700 --> 00:51:21,700
So remember you cannot actually use the we actually use the word spy and right so for example that the

776
00:51:21,720 --> 00:51:27,080
word it is already used by Android and you cannot use this name in order to name your radio.

777
00:51:27,400 --> 00:51:31,710
So you have to use unique names that are not used by Android itself.

778
00:51:31,750 --> 00:51:33,640
So that name is going to be into value

779
00:51:36,750 --> 00:51:38,430
right assignment operator.

780
00:51:38,520 --> 00:51:42,190
And here I can say that for example.

781
00:51:42,200 --> 00:51:49,240
So now this is going to have a floor to this and I can't name this valuable as a floor resort.

782
00:51:49,260 --> 00:51:50,910
Excuse me a flawed result.

783
00:51:52,500 --> 00:52:03,060
And OK so the name is not resolved and Hillary can say first into you for example plus or multiply multiplied

784
00:52:03,060 --> 00:52:07,490
by a second value a semicolon.

785
00:52:07,800 --> 00:52:12,840
So now as you can see it doesn't show us an error right.

786
00:52:12,930 --> 00:52:19,640
So that's what's the problem here why it doesn't show us and we hear the result of this operation is

787
00:52:19,650 --> 00:52:20,900
going to be off that integer.

788
00:52:20,970 --> 00:52:21,420
Right.

789
00:52:21,450 --> 00:52:26,730
This means that if we actually assign for example a number of free to this variable which is of type

790
00:52:26,730 --> 00:52:31,450
float here it doesn't show us an error.

791
00:52:31,560 --> 00:52:33,100
Number three is actually integer.

792
00:52:33,120 --> 00:52:36,820
And I can also print can also output this value to the console.

793
00:52:36,840 --> 00:52:45,170
I can say at 65 that said text flow result plus two quotes here.

794
00:52:45,180 --> 00:52:48,730
You don't have to actually cast this value to a float value.

795
00:52:48,750 --> 00:52:53,100
This integer value to awfullest value let's let's see what's the problem with the application.

796
00:52:53,100 --> 00:52:58,410
Now let me show you the emulator and it says free point zero.

797
00:52:58,440 --> 00:53:03,120
So it converted this value to our float value automatically.

798
00:53:03,120 --> 00:53:10,260
The Android converter of integer value that we assign to this variable is free which is that integer

799
00:53:10,410 --> 00:53:15,690
we assigned it to this variable of type float which its name is float result and we output this value

800
00:53:15,690 --> 00:53:16,410
to the console.

801
00:53:16,530 --> 00:53:18,210
So it is three point zero.

802
00:53:18,210 --> 00:53:25,870
So it is already actually converted to a value of that integer this number of free here.

803
00:53:25,890 --> 00:53:26,530
Right.

804
00:53:26,850 --> 00:53:36,300
So for example if we actually multiply first value here multiplied by a second in value the result is

805
00:53:36,300 --> 00:53:37,790
going to be of the integer right.

806
00:53:37,830 --> 00:53:42,960
But when we assign it to this value but of type float it is going to be converted to a value of type

807
00:53:42,960 --> 00:53:43,830
float.

808
00:53:43,890 --> 00:53:46,050
So it is going to have a decimal value.

809
00:53:46,050 --> 00:53:47,450
So let's run our application now.

810
00:53:47,460 --> 00:53:51,450
Let me show you the emulator and now it says two hundred point zero.

811
00:53:51,450 --> 00:53:53,570
So you can see this decimal value here.

812
00:53:53,670 --> 00:53:56,800
It is still has the symbol value last resort.

813
00:53:57,650 --> 00:54:03,350
So I think that see that is for this tutorial and I taught you lots of important concepts in this tutorial

814
00:54:03,350 --> 00:54:10,100
so make sure to practice on these skills and make sure to create an application the same as mine in

815
00:54:10,100 --> 00:54:11,870
order to practice these skills.

816
00:54:11,990 --> 00:54:14,470
In fact that's an assignment for you.

817
00:54:14,850 --> 00:54:16,200
So that's it.

818
00:54:16,220 --> 00:54:21,590
If you have any questions about the concepts that I taught you in this lesson please post the discussion

819
00:54:21,590 --> 00:54:25,150
in the course and then I'll do my best to answer all of your questions.

820
00:54:25,160 --> 00:54:28,160
Thank you very much for watching and I'll see if the next tutorial.

821
00:54:28,190 --> 00:54:32,930
And by the way I am actually updating the course and this app number free that I actually created here

822
00:54:32,960 --> 00:54:38,150
is the updated version of the app number free app free actually that we have all of in the course so

823
00:54:38,140 --> 00:54:39,770
I am going to update that course.

824
00:54:39,830 --> 00:54:40,780
So thank you very much.

825
00:54:40,790 --> 00:54:44,630
And I've seen the nice tutorial you.

