1
00:00:00,180 --> 00:00:07,710
So and other threats click on this package here new job class and the name of this class is going to

2
00:00:07,710 --> 00:00:09,140
be iTunes.

3
00:00:10,000 --> 00:00:13,260
Hush city client.

4
00:00:13,740 --> 00:00:21,870
So remember our application our mobile device is going to be the client and it's the iTunes the iTunes

5
00:00:22,290 --> 00:00:24,210
Web service is going to be the server.

6
00:00:24,330 --> 00:00:27,720
So we are the client and we want to get the data from the server.

7
00:00:27,810 --> 00:00:32,430
So that's why I actually created this class this class is going to actually connect to the server and

8
00:00:32,430 --> 00:00:35,410
download those data and then click on OK here.

9
00:00:35,490 --> 00:00:41,060
So here now we are inside of these items how shitty like a typical day in class.

10
00:00:41,070 --> 00:00:47,700
So now I'm going to actually pasting some lines of code here inside this iTunes has shitty client class

11
00:00:48,000 --> 00:00:50,570
and then I'm going to explain to you what's going on here.

12
00:00:50,820 --> 00:00:55,680
So the first line of code that I want to actually paste in here is this line of code here as you can

13
00:00:55,680 --> 00:00:56,240
see.

14
00:00:56,550 --> 00:01:01,140
So as you can see the access modifier of these variable is actually private.

15
00:01:01,170 --> 00:01:06,180
This is actually a static variable data type of this variable is strange.

16
00:01:06,180 --> 00:01:07,730
So we have a string value.

17
00:01:07,860 --> 00:01:08,490
OK.

18
00:01:08,850 --> 00:01:12,850
And the name of this variable is based u r l.

19
00:01:12,930 --> 00:01:18,480
So this is going to be the U R L that you want to actually get the the items that are right so high

20
00:01:18,520 --> 00:01:27,960
shitty POS colon slash slash iTunes that Apple dot com slash search question mark and the term is Michael.

21
00:01:28,140 --> 00:01:29,320
Plus Jackson.

22
00:01:29,600 --> 00:01:36,120
OK so now I'm going to actually pasting MF at here and then I'm going to explain to you what's going

23
00:01:36,120 --> 00:01:37,090
on here.

24
00:01:37,500 --> 00:01:42,240
So as you can see here these are the lines of code that are actually pasted here.

25
00:01:42,240 --> 00:01:42,720
OK.

26
00:01:42,900 --> 00:01:47,290
So now I'm going to explain to you step by step what's going on here.

27
00:01:47,310 --> 00:01:52,560
So as you can see here first of all this is actually the MF it and the access modifier of this method

28
00:01:52,590 --> 00:01:53,670
is public.

29
00:01:53,970 --> 00:01:56,720
The return type of this method is string.

30
00:01:56,850 --> 00:02:00,310
So this is going to return an object of types 3.

31
00:02:00,480 --> 00:02:01,010
OK.

32
00:02:01,170 --> 00:02:05,330
And the name of this method is get iTunes stuff data.

33
00:02:05,430 --> 00:02:08,510
So this is the name of this method right.

34
00:02:08,550 --> 00:02:12,120
And here you can see this if it actually accepts a no arguments.

35
00:02:12,180 --> 00:02:12,800
OK.

36
00:02:13,170 --> 00:02:15,890
And here now am I to the inside of this method.

37
00:02:15,900 --> 00:02:22,270
So inside of this method I created an object of type husht RL connection.

38
00:02:22,410 --> 00:02:27,750
Ok this is very important because we want to connect to the iTunes Web service we need to create an

39
00:02:27,780 --> 00:02:37,130
object of type husht connection and I assign the value null to this object here and in line 23.

40
00:02:37,290 --> 00:02:43,920
I created an object of type input stream as you can see here the data type of this object is input stream

41
00:02:44,370 --> 00:02:47,510
and then I assign the value gnarl to this object.

42
00:02:47,540 --> 00:02:53,060
OK because we want to actually get the data and get those eight and put into our application.

43
00:02:53,160 --> 00:02:56,510
We need to create an object of type input stream.

44
00:02:56,550 --> 00:03:03,000
So here I have this try block here as you can see this try catch exception here as you can see here.

45
00:03:03,000 --> 00:03:06,390
So first of all I created this try block.

46
00:03:06,420 --> 00:03:07,260
So try.

47
00:03:07,410 --> 00:03:13,400
And now inside the curly braces of this a try here as you can see I have these lines of code.

48
00:03:13,520 --> 00:03:16,200
Ok I have this try block here.

49
00:03:16,470 --> 00:03:18,160
So insight is tripe block.

50
00:03:18,180 --> 00:03:20,040
This is very important.

51
00:03:20,280 --> 00:03:25,080
We have we are actually initialising we are actually adding somebody used to these husht that if you

52
00:03:25,080 --> 00:03:29,580
have a connection I am assigning a value to this hash to be a connection here.

53
00:03:29,590 --> 00:03:30,900
11:27.

54
00:03:30,900 --> 00:03:37,580
So I referred to the name of this husht that you are a connection object assignment operator.

55
00:03:37,650 --> 00:03:43,850
So as you can see here I am actually casting this value here to a husht to be your connection object.

56
00:03:43,860 --> 00:03:45,090
So I put this value here.

57
00:03:45,140 --> 00:03:50,430
It is the name of the class I should have your connection inside the practices in order to recast this

58
00:03:50,430 --> 00:03:54,720
value here to a husht you are a connection object.

59
00:03:54,780 --> 00:04:00,750
So here as you can see inside the Prentice's here I actually say the prentices I am actually creating

60
00:04:00,840 --> 00:04:02,560
an object new.

61
00:04:02,680 --> 00:04:06,960
You all as you can see here I am creating an object of type u r l.

62
00:04:07,100 --> 00:04:10,980
OK this is out of class and I am creating an object of type.

63
00:04:11,070 --> 00:04:14,630
You are a class and inside Apprentice's of this you are all here.

64
00:04:14,690 --> 00:04:16,070
This is the constructor of this.

65
00:04:16,130 --> 00:04:18,770
You are in a class right inside Apprentice's.

66
00:04:18,930 --> 00:04:21,910
I referred to the name of the base you are here.

67
00:04:22,110 --> 00:04:22,650
OK.

68
00:04:22,650 --> 00:04:26,850
So the base you are in is the you are at that all you want to actually get the data of the Michael Jackson

69
00:04:26,930 --> 00:04:27,230
right.

70
00:04:27,240 --> 00:04:28,480
As you can see here.

71
00:04:28,590 --> 00:04:33,530
So here I actually created an object of type u r l and I passed this u r l.

72
00:04:33,540 --> 00:04:38,450
This is actually a string value OK to this constructor of this class.

73
00:04:38,460 --> 00:04:40,730
So now I have a U R L object.

74
00:04:40,740 --> 00:04:41,350
OK.

75
00:04:41,750 --> 00:04:46,620
And now as you can see I use this data notation here on this object.

76
00:04:46,620 --> 00:04:52,110
So here as you can see I'm just creating this object without assigning this object to evaluate it to

77
00:04:52,130 --> 00:04:52,730
evaluate it.

78
00:04:52,750 --> 00:04:54,910
OK this is possible in Java.

79
00:04:55,020 --> 00:05:00,580
I'm just creating this object and here I use this notation so that connection.

80
00:05:00,610 --> 00:05:07,210
So this is actually an instance it inside the outer class so here we are we have a you are an object

81
00:05:08,020 --> 00:05:09,080
and this is the method.

82
00:05:09,100 --> 00:05:13,270
This is actually an instance method inside the you are a class open connection.

83
00:05:13,270 --> 00:05:16,520
So I am calling this open connection method and this you are in.

84
00:05:16,570 --> 00:05:21,630
So this means that it's going to actually open the connection that that is related to this.

85
00:05:21,730 --> 00:05:22,780
You are here.

86
00:05:23,010 --> 00:05:23,480
OK.

87
00:05:23,560 --> 00:05:28,320
And it's going to actually cast this value to a real connection object.

88
00:05:28,420 --> 00:05:28,980
OK.

89
00:05:29,170 --> 00:05:35,920
I actually assigned this value to this has to be your last connection and then again in line 28 I referred

90
00:05:36,010 --> 00:05:41,490
to the name of this has to be your connection object that set request method gets.

91
00:05:41,620 --> 00:05:46,830
So because we want to actually get the data from the Internet the said request if must be good with

92
00:05:46,840 --> 00:05:51,700
capital be capitalized to get as you can see here G.T. get.

93
00:05:51,910 --> 00:05:57,190
This is very important and disvalue must be inside double quotes because we want to get the data from

94
00:05:57,190 --> 00:05:57,680
the Internet.

95
00:05:57,700 --> 00:05:58,350
OK.

96
00:05:58,720 --> 00:06:05,140
And in line 29 as you can see husht it'll be your connection that said to input through and husht it

97
00:06:05,140 --> 00:06:07,670
to be your own connection that's set to output.

98
00:06:07,900 --> 00:06:16,060
So let's actually go to the Android documentation in order to see the docs of this has to be a collection

99
00:06:16,060 --> 00:06:16,930
class.

100
00:06:16,930 --> 00:06:19,020
So let's open our Web browser.

101
00:06:19,210 --> 00:06:24,880
So as you can see here this is actually the Android documentation so it is in the search bar here.

102
00:06:24,910 --> 00:06:32,980
I can actually search for husht DTP you RL connection class that is inside of the dot dot dot net package.

103
00:06:32,980 --> 00:06:38,200
So I just need to click on this here and rapee ice and then it's going to actually guide us to this

104
00:06:38,200 --> 00:06:40,520
page husht you all connection.

105
00:06:40,900 --> 00:06:44,060
And this class is actually an abstract class public.

106
00:06:44,350 --> 00:06:49,200
And this class actually extends from this RL connection class as you can see here.

107
00:06:49,480 --> 00:06:55,640
So if you have some descriptions here or you are a connection with support for husht TTP specific features.

108
00:06:55,860 --> 00:06:56,490
OK.

109
00:06:56,800 --> 00:07:03,820
Users of this class follow up pattern obtain a new husht TTP your collection by calling you Arel that

110
00:07:03,880 --> 00:07:08,200
open collection and casting the result to husht to put you on a collection.

111
00:07:08,350 --> 00:07:12,020
So that's that's that's exactly what we did here.

112
00:07:12,210 --> 00:07:13,190
OK.

113
00:07:13,900 --> 00:07:19,120
And then are prepared to request to primary the primary property of a request.

114
00:07:19,120 --> 00:07:20,020
Is it you or I.

115
00:07:20,080 --> 00:07:20,680
OK.

116
00:07:20,830 --> 00:07:27,810
Request headers may also include meta data such as credentials preferred content types and such cookies.

117
00:07:27,820 --> 00:07:28,570
OK.

118
00:07:28,990 --> 00:07:30,890
And these are some other descriptions.

119
00:07:31,120 --> 00:07:35,830
And as you can see here we have this response handling husht you are a connection.

120
00:07:35,830 --> 00:07:38,780
We'll follow up to five husht TTP directs.

121
00:07:38,950 --> 00:07:43,060
It will follow a directs from one origin search and other.

122
00:07:43,060 --> 00:07:49,480
This implementation does not follow redirects from husht TTP as to how she T-P or vice versa.

123
00:07:49,750 --> 00:07:53,730
If the husht response indicates that an error occurred.

124
00:07:53,920 --> 00:07:56,640
Get input stream and are no exception.

125
00:07:56,890 --> 00:08:00,450
Use get error is thrain to read the error response.

126
00:08:00,460 --> 00:08:08,370
The headers can be read in the normal way using the Get header fields and have performance OK.

127
00:08:08,530 --> 00:08:15,750
Handling network seinen as I can see here GTP of integration and some other descriptions.

128
00:08:15,820 --> 00:08:18,010
But for now we want to actually look at them effets.

129
00:08:18,190 --> 00:08:21,700
And now let's scroll down and here this is really important.

130
00:08:21,820 --> 00:08:23,370
Public methods.

131
00:08:23,500 --> 00:08:29,980
So as you can see here we have disconnect indicates that other requests to the server are unlikely in

132
00:08:29,980 --> 00:08:31,370
the near future.

133
00:08:31,390 --> 00:08:37,120
We have good Airstream returns the airstream if the connection failed but the server sent useful data

134
00:08:37,150 --> 00:08:37,950
nonetheless.

135
00:08:38,170 --> 00:08:42,480
As you can see here and as you can see we have some other methods.

136
00:08:42,820 --> 00:08:50,080
Good header field get header field DATE get instance followed redirects So it's important to actually

137
00:08:50,080 --> 00:08:53,230
look at these methods and read the descriptions of these.

138
00:08:53,260 --> 00:09:00,620
If it's OK and make sure that you actually read these descriptions OK this is really important.

139
00:09:00,670 --> 00:09:06,250
And as you can see here we have this search request Meffert set them at for the request one of good

140
00:09:06,280 --> 00:09:08,910
post head options put delete trace.

141
00:09:08,920 --> 00:09:12,330
So we use this get in order to get the data from the Internet.

142
00:09:12,340 --> 00:09:15,950
So now let's actually go back to our Android studio.

143
00:09:16,270 --> 00:09:18,710
So as you can see here we have this Misfit's set.

144
00:09:18,720 --> 00:09:23,490
Request Meffert is good because we want to get the entire information from the server.

145
00:09:23,800 --> 00:09:26,990
And here you are the connection that soote to input.

146
00:09:27,020 --> 00:09:34,240
True so because we want to actually get the data from the Internet and put that data put those information

147
00:09:34,450 --> 00:09:39,260
into our application we need to set this Meffert true set to input true.

148
00:09:39,280 --> 00:09:43,280
This is very important and inline filthy look at this line of code here.

149
00:09:43,390 --> 00:09:47,380
Hush GTP you Aurel connection that set to output true.

150
00:09:47,420 --> 00:09:50,850
OK this if it is actually for outputting data.

151
00:09:50,880 --> 00:09:53,750
As for actually posting data to the Internet.

152
00:09:53,770 --> 00:09:58,660
For example an application may want to actually upload some information to the server or post or post

153
00:09:58,770 --> 00:10:03,420
something to the Internet this Smurfette to output does that job for us.

154
00:10:03,420 --> 00:10:04,760
We don't need the Smurfette here.

155
00:10:04,770 --> 00:10:08,380
I'll just put that here in order to show you what this method does.

156
00:10:08,490 --> 00:10:12,260
We just want to get information from the Internet and put that in into our application.

157
00:10:12,360 --> 00:10:12,890
OK.

158
00:10:12,990 --> 00:10:17,790
We just live this one actually uploading or posting some data into the Internet.

159
00:10:17,790 --> 00:10:22,800
So we don't need this method here because we just want to get the data from the Internet and put that

160
00:10:22,800 --> 00:10:25,510
data into an application and show to the user.

161
00:10:25,620 --> 00:10:29,610
So we just we can't actually comment out this line of code here.

162
00:10:29,610 --> 00:10:31,970
I just wanted to show you what this Mivart does.

163
00:10:32,400 --> 00:10:37,370
And in line for Steven actually referred to the name of this object husht to be your whole connection

164
00:10:37,380 --> 00:10:38,280
that connect.

165
00:10:38,280 --> 00:10:40,490
So it's going to connect to the Internet.

166
00:10:40,530 --> 00:10:41,280
OK.

167
00:10:41,760 --> 00:10:43,240
This is very important.

168
00:10:43,320 --> 00:10:50,460
So and by the way in the future we will be creating more complex applications that involve Jason Parsees

169
00:10:50,490 --> 00:10:52,520
or posting data to the Internet.

170
00:10:52,530 --> 00:10:57,870
For now this is actually just the basic application in order to show you what is done and how to get

171
00:10:57,870 --> 00:10:59,170
decent data from the Internet.

172
00:10:59,190 --> 00:10:59,810
OK.

173
00:11:00,300 --> 00:11:04,070
So and here as you can see I created a comment.

174
00:11:04,350 --> 00:11:05,820
Let's read the response.

175
00:11:05,820 --> 00:11:10,990
So now that we actually connected to the Internet now we want to actually read the response so in line

176
00:11:11,020 --> 00:11:16,080
44 I created an object of type string buffer in order to read the response.

177
00:11:16,080 --> 00:11:16,520
OK.

178
00:11:16,620 --> 00:11:19,000
So the name of this object is a string buffer.

179
00:11:19,170 --> 00:11:25,030
Assignment operator new string buffer an inline 45 as you can see here.

180
00:11:25,080 --> 00:11:31,080
I referred to the name of this input stream object that I actually created inline to any free input

181
00:11:31,080 --> 00:11:33,840
stream assignment operator husht it.

182
00:11:33,860 --> 00:11:36,460
You are a collection that gets input stream.

183
00:11:36,660 --> 00:11:39,080
So now I want to actually get the input stream from.

184
00:11:39,150 --> 00:11:41,260
How should it be you are a connection object.

185
00:11:41,280 --> 00:11:45,450
This is very important because we want to actually read the data if we want to.

186
00:11:45,450 --> 00:11:49,110
We need to actually to initialize this input stream object in this way.

187
00:11:49,240 --> 00:11:49,800
OK.

188
00:11:50,040 --> 00:11:58,060
And then here in line for 86 I actually created an object of type buffer where the reader is slime and

189
00:11:58,080 --> 00:11:59,990
the name of this object is buffered.

190
00:12:00,120 --> 00:12:00,650
OK.

191
00:12:00,810 --> 00:12:07,570
Assignment operator and as you can see here I am initializing this object new Bufford reader at inside

192
00:12:07,570 --> 00:12:13,350
the prentices of these are constructed as you can see here new input stream B that I actually created

193
00:12:13,410 --> 00:12:19,860
an object of type in put simply there and then I passed this input strip object to this in with string

194
00:12:19,860 --> 00:12:20,590
reader here.

195
00:12:20,700 --> 00:12:24,410
OK this is very important because we want to actually read the data from the Internet.

196
00:12:24,420 --> 00:12:27,180
We need to create an object of type buffer every day.

197
00:12:27,180 --> 00:12:31,860
So let's actually open our Android documentation and here as you can see in the search search bar I

198
00:12:31,860 --> 00:12:38,930
can search for Barford buffer and reader class offered reader as you can see here inside the jobs that

199
00:12:38,960 --> 00:12:46,930
are your package and as you can see here it says read text from a character input stream baffling characters

200
00:12:47,140 --> 00:12:51,820
so as to provide for the efficient reading of characters arrows and lines.

201
00:12:51,820 --> 00:12:54,620
So let's go to our Andrex studio.

202
00:12:54,620 --> 00:12:59,860
So here I created an object of type Bufford reader assignment operator new Bufford reader and as you

203
00:12:59,860 --> 00:13:06,310
can see here I am actually creating an object of type input stream reader and I pass this input stream

204
00:13:06,370 --> 00:13:08,090
object to this input stream.

205
00:13:08,090 --> 00:13:08,870
Reader here.

206
00:13:08,890 --> 00:13:09,500
OK.

207
00:13:09,970 --> 00:13:11,100
And inline 47.

208
00:13:11,110 --> 00:13:18,070
I created an object of type string and I assign the value null to this object and the name of this object

209
00:13:18,070 --> 00:13:18,690
is a line.

210
00:13:18,780 --> 00:13:21,630
OK so I want to read the data line by line.

211
00:13:21,820 --> 00:13:29,320
So here I created this while actually while loop here while as you can see and again inside Apprentice's

212
00:13:29,530 --> 00:13:35,060
as you can see line I refer to this line here is string valuable assignment operator.

213
00:13:35,080 --> 00:13:40,210
So here you refer to the next to the name of this Spofford written object that read the line so it can

214
00:13:40,210 --> 00:13:42,560
actually read the data line by line.

215
00:13:42,610 --> 00:13:45,070
OK buffer every bit of that read line.

216
00:13:45,370 --> 00:13:48,880
And if this piece of code here is not equal to null.

217
00:13:49,030 --> 00:13:49,600
OK.

218
00:13:49,840 --> 00:13:53,940
If those information is going to be assigned to this line it's valuable.

219
00:13:53,950 --> 00:14:00,370
And if this piece of code here as you can see here is not equal to nonne and this means that we successfully

220
00:14:00,370 --> 00:14:06,490
got the data from the internet and inside the curly braces here then it's going to execute this line

221
00:14:06,490 --> 00:14:07,960
of what you're saying buffer.

222
00:14:08,110 --> 00:14:13,110
So here I referred to the name of this object string buffer that append.

223
00:14:13,470 --> 00:14:14,170
OK.

224
00:14:14,280 --> 00:14:15,850
Line as you can see here.

225
00:14:15,850 --> 00:14:22,430
So here we are actually assigning this value line by line to this line string value is invaluable.

226
00:14:22,450 --> 00:14:30,580
So line plus this is actually a newline character so we can actually delete this backward slash are

227
00:14:30,580 --> 00:14:31,390
here.

228
00:14:31,780 --> 00:14:32,320
OK.

229
00:14:32,500 --> 00:14:39,520
And back forth slash art is actually our carriage return which means that the cursor should move to

230
00:14:39,560 --> 00:14:41,020
the left leftmost column.

231
00:14:41,050 --> 00:14:41,440
OK.

232
00:14:41,530 --> 00:14:45,820
But this are back for a slash and it's actually a newline character.

233
00:14:45,910 --> 00:14:48,400
OK so we just need this character here.

234
00:14:48,420 --> 00:14:51,060
It can actually move the cursor to the next line.

235
00:14:51,160 --> 00:14:51,810
OK.

236
00:14:52,150 --> 00:14:58,810
So we just put this slash and here and now we are actually appending this value to the string buffer

237
00:14:59,050 --> 00:14:59,790
object.

238
00:14:59,950 --> 00:15:00,610
OK.

239
00:15:00,930 --> 00:15:04,330
And in line 43 we need to close this impled stream here.

240
00:15:04,330 --> 00:15:10,650
So input stream that close and in inline 44 as you can see here again we need to disconnect is how shitty

241
00:15:10,650 --> 00:15:12,520
your whole connection after getting the data.

242
00:15:12,530 --> 00:15:17,530
OK we need to close them and disconnected but how should it be you are a connection that disconnect.

243
00:15:17,530 --> 00:15:22,960
And we are returning this string buffer object so return String buffer that to a string.

244
00:15:22,990 --> 00:15:25,670
So remember this MF at here get iTunes stuff.

245
00:15:25,660 --> 00:15:29,100
Data is actually returning a value of type string.

246
00:15:29,110 --> 00:15:31,080
The return type of this Meffert is strange.

247
00:15:31,210 --> 00:15:36,730
So if you need to return the string value of the string above an object string buffer.

248
00:15:36,730 --> 00:15:38,630
That is strange.

249
00:15:38,680 --> 00:15:41,380
And we have a catch up block here.

250
00:15:41,380 --> 00:15:46,660
So in case that we cannot actually connect to the Internet or we don't have any internet connection

251
00:15:47,050 --> 00:15:53,090
it's going to catch the errors and then it's going to output the error to the console to the larg t

252
00:15:53,410 --> 00:15:54,660
that prints that trace.

253
00:15:54,670 --> 00:15:58,620
As you can see here and we have this finally block here.

254
00:15:58,690 --> 00:15:59,990
So this is very important.

255
00:16:00,040 --> 00:16:06,600
So if the application fails to execute these lines of code here or if the application fails to execute

256
00:16:06,600 --> 00:16:11,740
the try block here or the catch statement is going to finally execute these lines of code by putting

257
00:16:11,740 --> 00:16:19,000
this finally block here if are 100 percent sure that it can actually execute these lines of code inside

258
00:16:19,060 --> 00:16:22,210
is finally Blache so try and put in that close.

259
00:16:22,210 --> 00:16:27,180
So here inside this finally block we have this try catch block here.

260
00:16:27,430 --> 00:16:30,060
And again we are actually closing this input stream.

261
00:16:30,190 --> 00:16:35,950
So if the if the application fails to execute these lines of code here as you can see it's going to

262
00:16:35,950 --> 00:16:37,790
finally execute these things of course.

263
00:16:37,810 --> 00:16:43,400
And this means that we are we are now 100 percent sure that it's going to close the input stream.

264
00:16:43,750 --> 00:16:46,340
And how should we be sure that disconnect.

265
00:16:46,390 --> 00:16:50,300
OK so these lines of code are going to be executed anyway.

266
00:16:50,350 --> 00:16:55,910
So this is really important that you actually close the input stream and disconnect the connection.

267
00:16:56,050 --> 00:16:56,610
OK.

268
00:16:57,010 --> 00:17:02,150
And we have this catch block again in order to catch the errors and put them in the log.

269
00:17:02,380 --> 00:17:08,410
And yet at the end if the flow of the application returns to this line of code here as you can see it's

270
00:17:08,410 --> 00:17:14,670
going to return not what if the application succeeds to actually get the information from the Internet

271
00:17:14,670 --> 00:17:18,670
is going to actually return this string buffer the twisting value.

272
00:17:18,760 --> 00:17:22,110
So now let's actually paste in another Meffert.

273
00:17:22,120 --> 00:17:24,370
In order to download the image from the Internet.

274
00:17:24,370 --> 00:17:31,290
OK so remember we are actually getting the art form you are here in our iTunes in adjacent iTunes person

275
00:17:31,300 --> 00:17:35,140
as you can see if you are actually setting the artist view you are there.

276
00:17:35,140 --> 00:17:41,570
So you're getting this artwork here are for Twaddell So if you need to actually create another download

277
00:17:41,570 --> 00:17:43,390
the image from the Internet.

278
00:17:43,430 --> 00:17:48,030
So now I'm going to paste in MF at here and then I'm going to explain to you what's going on here.

