<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Android-app-using-Kotlin%2FC3%2FURL-Request%2FEnglish</id>
		<title>Android-app-using-Kotlin/C3/URL-Request/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Android-app-using-Kotlin%2FC3%2FURL-Request%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;action=history"/>
		<updated>2026-04-27T07:15:37Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=48203&amp;oldid=prev</id>
		<title>Nancyvarkey at 10:59, 15 July 2019</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=48203&amp;oldid=prev"/>
				<updated>2019-07-15T10:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;amp;diff=48203&amp;amp;oldid=47919&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=47919&amp;oldid=prev</id>
		<title>Nirmala Venkat at 12:22, 26 June 2019</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=47919&amp;oldid=prev"/>
				<updated>2019-06-26T12:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:22, 26 June 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 213:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 213:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now the next step is to make a '''string request'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now the next step is to make a '''string request'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Write the below code after '''val url'''line, in the '''oncreate method''' as shown.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Write the below code after '''val url''' line, in the '''oncreate method''' as shown.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you see your code highlighted in red color, press '''Alt+Enter '''keys.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you see your code highlighted in red color, press '''Alt+Enter '''keys.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=47918&amp;oldid=prev</id>
		<title>Nirmala Venkat: Created page with &quot; {| style=&quot;border-spacing:0;&quot; | style=&quot;background-color:#c0c0c0;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&quot;| &lt;cent...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Android-app-using-Kotlin/C3/URL-Request/English&amp;diff=47918&amp;oldid=prev"/>
				<updated>2019-06-26T11:55:52Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; {| style=&amp;quot;border-spacing:0;&amp;quot; | style=&amp;quot;background-color:#c0c0c0;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &amp;lt;cent...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 1:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Welcome to the''' Spoken Tutorial''' on''' URL Request.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 2:&lt;br /&gt;
&lt;br /&gt;
Learning Objectives&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In this tutorial we will learn to&lt;br /&gt;
&lt;br /&gt;
* Pass the '''Foss''' and '''Language ids''' to the '''URL''' of '''Spoken Tutorial'''&lt;br /&gt;
* Parse the '''response JSON data'''&lt;br /&gt;
* Run the '''Kotlin''' '''App '''and&lt;br /&gt;
* Display the fetched '''data'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 3:&lt;br /&gt;
&lt;br /&gt;
System requirement&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| For this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux 16.04''' operating system &lt;br /&gt;
* '''Android Studio''' version 3.x and&lt;br /&gt;
* '''Android Phone '''with minimum of '''Android''' OS version '''4.03'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 4:&lt;br /&gt;
&lt;br /&gt;
Pre-requisites&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| To follow this tutorial, you should have basic knowledge of&lt;br /&gt;
&lt;br /&gt;
* '''Java programming language '''and&lt;br /&gt;
* '''Android Studio '''&lt;br /&gt;
If not, then go through the relevant tutorials on this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 5:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial Server &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| * '''Spoken Tutorial project''' has a '''server''' which has an '''API''' made for a specific purpose.&lt;br /&gt;
&lt;br /&gt;
* It helps to fetch the video tutorials of a '''FOSS''' in a particular language.&lt;br /&gt;
&lt;br /&gt;
* Specific '''ids''' of a '''FOSS''' and language are passed to the '''server,''' to fetch the exact video.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 6:&lt;br /&gt;
&lt;br /&gt;
API&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| * '''API''' means '''Application Programming Interface'''&lt;br /&gt;
&lt;br /&gt;
* An''' API '''is the messenger that allows two software programs to communicate with each other&lt;br /&gt;
&lt;br /&gt;
* It delivers the '''request''' to the provider and then delivers the '''response''' back to us&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 7:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial URL Format:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Spoken Tutorial URL format''' is shown below:&lt;br /&gt;
&lt;br /&gt;
[http://spoken-tutorial.org/api/get_tutorials/fossID/languageID https://spoken-tutorial.org/api/get_tutorials/fossID/languageID]&lt;br /&gt;
&lt;br /&gt;
In this '''URL''', instead of '''variables fossID''' and '''languageID''' we have to pass the actual '''ids'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 8:&lt;br /&gt;
&lt;br /&gt;
How to make a request to the URL?&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| How to make a request to the URL?&lt;br /&gt;
&lt;br /&gt;
* '''Google''' provides '''Volley library''' which makes requesting a '''URL''' easy and faster.&lt;br /&gt;
&lt;br /&gt;
* '''Volley''' is an '''HTTP library''' that makes '''networking''' for '''Android Apps''' easier.&lt;br /&gt;
&lt;br /&gt;
* '''It''' is an external '''library'''.&lt;br /&gt;
&lt;br /&gt;
* We need to add to our '''Android studio project''' so that necessary files are downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Open the '''Android studio '''from the launcher bar.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Let us open '''Android Studio'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Click on '''ST search'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Open the '''project ST Search.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Select '''Project Explorer &amp;gt;&amp;gt;Gradle Scripts.'''&lt;br /&gt;
&lt;br /&gt;
Double click on''' build.gradle'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In the left panel, under '''Project''', click on the small triangle to open '''Gradle Scripts.'''&lt;br /&gt;
Double-click on '''build.gradle within brackets Module:app'''&lt;br /&gt;
&lt;br /&gt;
A new window opens.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Point to the dependencies block&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In the '''dependencies''' block we will add a new '''dependency'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Type,'''&lt;br /&gt;
&lt;br /&gt;
'''implementation'''&lt;br /&gt;
&lt;br /&gt;
''''com.android.volley:volley:1.1.0''''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| At the end of the block, add a new line as shown.&lt;br /&gt;
&lt;br /&gt;
We have now added the '''Volley library''' to our '''project'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Next we will add the '''dependency''' of '''Picasso,''' as we will display images at a later stage.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''implementation '''&lt;br /&gt;
&lt;br /&gt;
''''com.squareup.picasso:picasso:2.5.2''''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| So add a new line for the '''dependency''' as shown.&lt;br /&gt;
&lt;br /&gt;
This is to display the thumbnail of the '''spoken tutorial''' videos.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Point to '''Sync Now '''message &lt;br /&gt;
&lt;br /&gt;
Click on it.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| A '''Sync Now '''message appears at the top right corner of the '''IDE'''.&lt;br /&gt;
&lt;br /&gt;
Click on it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Point to the bottom of the screen&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Wait for the '''gradle build''' to complete which is shown at the bottom of the screen.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| narration only&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| To request a '''URL''', we need '''Internet connection.'''&lt;br /&gt;
&lt;br /&gt;
So let us add code to get '''Internet''' permission for the '''app'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Select''' app =&amp;gt; manifests =&amp;gt; AndroidManifest.xml'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In the left panel, go to '''app =&amp;gt; manifests =&amp;gt; '''and double-click on''' AndroidManifest.xml'''&lt;br /&gt;
&lt;br /&gt;
Add the below code above the '''&amp;lt;nowiki&amp;gt;&amp;lt;application&amp;gt;&amp;lt;/nowiki&amp;gt;''' '''tag'''.&lt;br /&gt;
&lt;br /&gt;
Without this line of code, our '''App''' cannot request any information from the '''Internet'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Go to '''SecondActivity.kt'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now, go to '''SecondActivity.kt'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''val queue = Volley.newRequestQueue(this)'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In '''onCreate method''', we will add the code''' '''as shown to create a new''' request queue'''.&lt;br /&gt;
&lt;br /&gt;
This will use the '''newRequestQueue method''' of '''volley library'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Type,&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Next declare a '''variable url '''and assign the '''string''' as shown.&lt;br /&gt;
&lt;br /&gt;
Here the '''URL''' is dynamic as we have to concatenate the '''FOSS''' and '''language ids''' received in '''intent'''.&lt;br /&gt;
&lt;br /&gt;
So every time a different '''FOSS''' and language are selected, the '''URL''' will be different.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Type'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| We will try to invoke the above '''URL''' in any''' web browser'''.&lt;br /&gt;
&lt;br /&gt;
I’ll open '''Firefox web browser'''. &lt;br /&gt;
&lt;br /&gt;
Type the following '''URL''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Here, 10 specifies the '''FOSS id''' for '''Java''' and 22 specifies the language '''id''' for '''English'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Point to the output in the browser&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| We can''' '''see the '''json data''' that is displayed on the '''web page. '''It is in readable format.&lt;br /&gt;
For other '''browsers''', it may look different.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Copy - paste the below url&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Let us try for some other '''FOSS id''' and '''language id '''combination.&lt;br /&gt;
&lt;br /&gt;
Change the '''FOSS id''' to 26 and '''language id to 22'''&lt;br /&gt;
&lt;br /&gt;
This '''URL''' gives the videos of '''Python''' in '''English.'''&lt;br /&gt;
&lt;br /&gt;
Now let’s change the id to 26 and 18.&lt;br /&gt;
&lt;br /&gt;
This '''URL''' returns empty data which indicates that there are no videos for this combination of '''ids'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Slide 9:'''&lt;br /&gt;
&lt;br /&gt;
'''JSON'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| * '''JSON '''stands for''' JavaScript Object Notation.'''&lt;br /&gt;
&lt;br /&gt;
* '''JSON''' is easy to read and write.&lt;br /&gt;
&lt;br /&gt;
* It is used to transmit '''data''' between a '''server''' and '''web application'''.&lt;br /&gt;
&lt;br /&gt;
* It is an alternative to '''XML'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Go to''' SecondActivity.kt'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Let us go back to '''SecondActivity.kt'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now the next step is to make a '''string request'''.&lt;br /&gt;
&lt;br /&gt;
Write the below code after '''val url'''line, in the '''oncreate method''' as shown.&lt;br /&gt;
&lt;br /&gt;
If you see your code highlighted in red color, press '''Alt+Enter '''keys.&lt;br /&gt;
&lt;br /&gt;
Select the appropriate option to quick fix the error.&lt;br /&gt;
&lt;br /&gt;
In '''string request''' we specify four '''arguments''':&lt;br /&gt;
&lt;br /&gt;
'''Request.Method''', '''url''', '''Response.Listener''' and '''Response.ErrorListener'''.&lt;br /&gt;
&lt;br /&gt;
'''Response.Listener''' specifies what to do when the '''response''' is received.&lt;br /&gt;
&lt;br /&gt;
'''Response.ErrorListener''' specifies what to do when there is an error.&lt;br /&gt;
&lt;br /&gt;
'''extractJsonData '''is a '''method''' which we will create later, to parse the '''JSON data''' that we have received.&lt;br /&gt;
&lt;br /&gt;
We have commented this line of code as of now.&lt;br /&gt;
&lt;br /&gt;
Once we create the '''method''', we will call it from the '''Response.Listener '''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Write the code as shown after the '''StringRequest method'''.&lt;br /&gt;
&lt;br /&gt;
This message indicates that still processing is going on as “'''Contacting server…”'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''queue.add(stringRequest)'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| The next step is to put this '''request''' in the '''Volley''' queue, that we created earlier.&lt;br /&gt;
&lt;br /&gt;
Add the code in the next line as shown:&lt;br /&gt;
&lt;br /&gt;
When the '''request''' is put in queue, the '''request''' is executed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Narration only'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| The '''Volley''' code which is required to '''request''' the '''URL''' to fetch '''data,''' is ready.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Run App&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Run the '''app'''.&lt;br /&gt;
&lt;br /&gt;
Search for a specific '''FOSS''' and language and press the '''Search '''button.&lt;br /&gt;
&lt;br /&gt;
If you receive a '''toast '''message''' “Received server response!”,''' your code is running fine.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''slide 10:'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment:'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| As an assignment, do the following:&lt;br /&gt;
&lt;br /&gt;
* Disconnect the''' Internet/Wifi'''. &lt;br /&gt;
* Now run the '''app''' and search for the FOSS and language. &lt;br /&gt;
* Observe the error output.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''narration'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| We checked in the demonstration that we got the '''response''' from the '''server'''. Now we need to parse it.&lt;br /&gt;
&lt;br /&gt;
'''Parsing''' means '''extracting '''useful information.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Switch to browser.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Let us go back to the '''browser''', to see the '''JSON format data.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Change the id to 26 and 22.&lt;br /&gt;
&lt;br /&gt;
The '''data''' in '''JSON''' is '''key-value pairs'''.&lt;br /&gt;
&lt;br /&gt;
We will use the '''tutorial_name, video_id''' and '''tutorial_level '''fields present in the '''JSON data'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Switch back to Android studio interface.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| narration only&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Next we will create our own '''data type''', to store the '''data''' of many videos.&lt;br /&gt;
&lt;br /&gt;
For that, we will create a '''class''', in which we will define the '''variables''' for a video’s details.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Switch back to''' Android studio''' interface.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| On the top left panel, under '''project''', go to&lt;br /&gt;
&lt;br /&gt;
'''app =&amp;gt; java =&amp;gt;''' '''com.example.spoken.stsearch'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Right click on com.example.spoken.searchapp'''&lt;br /&gt;
&lt;br /&gt;
Select''' New =&amp;gt; Kotlin File/Class'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Right-click on it.&lt;br /&gt;
&lt;br /&gt;
Select''' New =&amp;gt; Kotlin File/Class'''&lt;br /&gt;
&lt;br /&gt;
Type a name as '''VideoItem''' and press '''OK.'''&lt;br /&gt;
&lt;br /&gt;
A new file '''VideoItem.kt''' is created below''' SecondActivity.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Type this code in '''VideoItem.kt.'''&lt;br /&gt;
&lt;br /&gt;
Here we have created a '''class''' named as '''data class''' in '''Kotlin'''.&lt;br /&gt;
&lt;br /&gt;
When '''data class '''is created, the '''getters''' and '''setters method''' are created while compiling.&lt;br /&gt;
&lt;br /&gt;
So when we save the details of videos, we will make an '''object''' of this '''class''' for each video.&lt;br /&gt;
&lt;br /&gt;
Here, video level specifies the '''basic, intermediate''' or '''advance''' level of spoken tutorials.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now go to '''SecondActivity.kt'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''private fun extractJsonData(jsonResponse: String) {'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Here we will create our '''method extractJsonData'''&lt;br /&gt;
So write the code after the '''onCreate method:''' &lt;br /&gt;
&lt;br /&gt;
In the '''method''' we take the '''response''' received as '''arguments'''.&lt;br /&gt;
&lt;br /&gt;
As we know how the '''JSON data''' will look, we can start parsing it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''var videosDataArray = JSONArray(jsonResponse)'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| First we obtain the '''array''' from '''response''':&lt;br /&gt;
&lt;br /&gt;
Write the code for it in '''extractJsonData method '''as shown.&lt;br /&gt;
&lt;br /&gt;
Here we convert the '''response''' into '''JSONArray'''.&lt;br /&gt;
&lt;br /&gt;
Now we know that inside this '''array''' there are many '''JSON objects''' of different videos.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''var singleVideoJsonObject: JSONObject'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| So we declare a '''variable''' for storing '''objects''' one by one as shown here.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''var singleVideoItem: VideoItem'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| After that we need an '''object''' for '''VideoItem class''' in which we store the '''data'''.&lt;br /&gt;
&lt;br /&gt;
Write the code as shown:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;var finalResultsArrayList = ArrayList&amp;lt;VideoItem&amp;gt;()&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Next we require a '''ArrayList''' for '''VideoItem class'''.&lt;br /&gt;
&lt;br /&gt;
Declare a '''global ArrayList '''as shown above the '''onCreate method''' and inside the '''class'''.&lt;br /&gt;
&lt;br /&gt;
In this '''ArrayList''' all the video '''data''' will be saved.&lt;br /&gt;
&lt;br /&gt;
So that it will be accessible to both '''onCreate '''and '''extractJsonData methods'''.&lt;br /&gt;
&lt;br /&gt;
In this '''ArrayList''' we have declared the '''type''' as '''VideoItem'''.&lt;br /&gt;
&lt;br /&gt;
That means it will have '''objects''' of '''VideoItem class''' as '''data'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now we go to '''extractJsonData method.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Type the code as shown.&lt;br /&gt;
&lt;br /&gt;
'''while loop '''is to iterate all the '''objects''' in '''JSON array:'''&lt;br /&gt;
&lt;br /&gt;
In this '''loop''' we first obtain the '''json object''' in '''singleVideoJsonObject'''&lt;br /&gt;
&lt;br /&gt;
This line extracts all the information and makes an '''object''' of '''VideoItem''' in '''singleVideoItem variable.'''&lt;br /&gt;
&lt;br /&gt;
Here we make an '''object''' of '''VideoItem '''and pass all the values from the '''JSON object.'''&lt;br /&gt;
&lt;br /&gt;
The loop will extract '''data''' of all videos received and store it in our '''arraylist'''.&lt;br /&gt;
&lt;br /&gt;
So after the '''while block''' we will write the code to print the '''items''' of '''finalResultsArrayList:'''&lt;br /&gt;
&lt;br /&gt;
'''forEach method''' loops through all the '''elements''' of the '''array list.'''&lt;br /&gt;
&lt;br /&gt;
The''' it variable''' in the''' println() statement''' points to one '''item''' in every '''loop'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| '''Un-comment''' &lt;br /&gt;
&lt;br /&gt;
''//extractJsonData(response)''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Now in '''Request.Listener''' of '''stringRequest '''code we had the '''method''' which is commented.&lt;br /&gt;
&lt;br /&gt;
'''Un-comment''' the code, so that '''extractJsonData '''will be '''called''' from there.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| So this''' array list '''will contain many '''objects''' of our '''class type VideoItem'''.&lt;br /&gt;
&lt;br /&gt;
When we take any one '''item''' from the '''array list''', we get a '''object''' of '''VideoItem'''.&lt;br /&gt;
&lt;br /&gt;
We can access the values for this '''object''' such as''' videoId, videoTitle, videoLevel.'''&lt;br /&gt;
&lt;br /&gt;
So in this way '''JSON''' parsing is done.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Run App&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Let us now run the '''App'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| On the Android phone, select a FOSS and Language&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Search for a specific '''FOSS''' and language and press the '''Search '''button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Click the '''Logcat '''section at the bottom of the '''IDE'''.&lt;br /&gt;
&lt;br /&gt;
Point to the output&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Click the '''Logcat '''section at the bottom of the '''IDE'''.&lt;br /&gt;
&lt;br /&gt;
Here we can see the output of '''println statement.'''&lt;br /&gt;
&lt;br /&gt;
To find our output, search for '''video''' in '''search box.'''&lt;br /&gt;
&lt;br /&gt;
Here we can see all the '''VideoItems '''shown one after the other.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| This brings us to the end of this tutorial. Let us summarize.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 11:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| In this tutorial we learnt to&lt;br /&gt;
&lt;br /&gt;
* Pass the '''Foss''' and '''Language ids''' to the '''URL''' of '''Spoken Tutorial'''&lt;br /&gt;
* Parse the '''response JSON data'''&lt;br /&gt;
* Run the '''Kotlin''' '''App '''and&lt;br /&gt;
* Display the fetched '''data'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 12:&lt;br /&gt;
&lt;br /&gt;
About Spoken Tutorial project&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| The video at the following link summarises the Spoken Tutorial project.Please download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 13:&lt;br /&gt;
&lt;br /&gt;
About workshops&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| The Spoken Tutorial Project Team &lt;br /&gt;
&lt;br /&gt;
conducts workshops and gives certificates on passing online tests.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 14:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Please post your timed queries in this forum. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Slide 15:&lt;br /&gt;
&lt;br /&gt;
Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| Spoken Tutorial project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at&lt;br /&gt;
&lt;br /&gt;
this link.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;| The '''Android app '''and the script for this tutorial was contributed by Abhishek Shah.&lt;br /&gt;
&lt;br /&gt;
And this is Nirmala Venkat along with the Spoken Tutorial team from IIT Bombay, signing off. &lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>