0% found this document useful (0 votes)
8 views

Mad Lab Manual

The document is a manual for a Mobile Application Development Laboratory course at CT University, detailing various programming assignments. It includes tasks such as creating a visiting card application, a basic calculator, a sign-up activity with password validation, and an application for setting wallpapers. Each task is accompanied by XML and Java code examples to guide students in their development process.

Uploaded by

msahal744
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Mad Lab Manual

The document is a manual for a Mobile Application Development Laboratory course at CT University, detailing various programming assignments. It includes tasks such as creating a visiting card application, a basic calculator, a sign-up activity with password validation, and an application for setting wallpapers. Each task is accompanied by XML and Java code examples to guide students in their development process.

Uploaded by

msahal744
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Mobile Application Development Laboratory

Manual
CSE506

CT UNIVERSITY

Name: MUHAMMED SAHAL K A

UID: 71912086
Contents
Exp. Page
Problem Statement
No. No.
Part A
Create an application to design a Visiting Card. The Visiting card should have a company logo
at the top right corner. The company name should be displayed in Capital letters, aligned to
1. the center. Information like the name of the employee, job title, phone number, address, email, 1
fax and the website address is to be displayed. Insert a horizontal line between the job title and
the phone number.
Develop an Android application using controls like Button, TextView, EditText for designing a
2. calculator having basic functionality like Addition, Subtraction, Multiplication, and Division. 3

Create a SIGN Upton activity with Username and Password. Validation of password should
3. 7
happen
Develop an application to set an image as wallpaper. On click of a button, the wallpaper image
4. 12
should start to change randomly every 30 seconds.
Write a program to create an activity with two buttons START and STOP. On pressing of the
5. START button, the activity must start the counter by displaying the numbers from One and the 13
counter must keep on counting until the STOP button is pressed. Display the counter
Create two files of XML and JSON type with values for City_Name, Latitude, Longitude,
Temperature, and Humidity. Develop an application to create an activity with two buttons to
6. 17
parse the XML and JSON files which when clicked should display the data in their respective
layouts side by side.
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
Program-1
Create an application to design a Visiting Card. The Visiting card should have a company logo at the
top right corner. The company name should be displayed in Capital letters, aligned to the center.
Information like the name of the employee, job title, phone number, address, email, fax and the
website address is to be displayed. Insert a horizontal line between the job title and the phone number.

XML-CODE

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" tools:context=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="17dp"
android:layout_marginLeft="17dp"
android:layout_marginTop="17dp"
android:layout_marginEnd="244dp"
android:layout_marginRight="244dp"
android:layout_marginBottom="486dp"
android:text="SJCIT"
android:textSize="38dp" />

<ImageView
android:id="@+id/imageView"
android:layout_width="231dp"
android:layout_height="174dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-14dp"
android:layout_marginRight="-14dp"
android:layout_marginBottom="481dp"
SJCIT, Department of Information Science and Engineering 1
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
app:srcCompat="@drawable/logo" />

<View android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="4dp"
android:layout_alignParentBottom="true"
android:background="#4444"
android:layout_marginBottom="466dp" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="117dp"
android:layout_marginRight="117dp"
android:layout_marginBottom="394dp"
android:text="Amar Akbar Anthony"
android:textSize="30dp"
android:textStyle="bold" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="64dp"
android:layout_marginRight="64dp"
android:layout_marginBottom="343dp"
android:text="Assistant Professor-ISE"
android:textSize="25dp" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="127dp"
android:layout_marginRight="127dp"
android:layout_marginBottom="294dp"
android:text="Ph No: 9988776655"
android:textSize="20dp" />

<TextView

SJCIT, Department of Information Science and Engineering 2


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="229dp"
android:text="PB No. 20, BB Road, Chickballapur-562 101"
android:textSize="20dp" />

<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="44dp"
android:layout_marginRight="44dp"
android:layout_marginBottom="189dp" android:text="Email:
[email protected]" android:textSize="20dp" />
</RelativeLayout>

JAVA-CODE

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; public class MainActivity
extends AppCompatActivity { protected void
onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
OUTPUT:

Program-2
Develop an Android application using controls like Button, TextView, EditText for designing a
calculator having basic functionality like Addition, Subtraction, Multiplication, and Division.

SJCIT, Department of Information Science and Engineering 3


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68

XML-CODE
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="98dp"
android:layout_marginBottom="653dp"
android:text="SIMPLE CALCI" android:textSize="38dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.042" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="115dp"
android:layout_marginBottom="547dp"
android:ems="10"
android:hint="Enter the First Number"
android:inputType="textPersonName"
SJCIT, Department of Information Science and Engineering 4
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
android:text="" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="111dp"
android:layout_marginBottom="455dp"
android:ems="10"
android:inputType="textPersonName"
android:hint="Enter the Second Number"
android:text="" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="203dp"
android:layout_marginBottom="350dp"
android:text="0"
android:textSize="40dp" />

<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="274dp"
android:layout_marginBottom="237dp"
android:onClick="doAdd"
android:text="ADD" />

<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="68dp"
android:layout_marginBottom="233dp"
android:onClick="doSub"
android:text="SUB" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
SJCIT, Department of Information Science and Engineering 5
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
android:layout_alignParentBottom="true"
android:layout_marginEnd="277dp"
android:layout_marginBottom="115dp"
android:onClick="doMul"
android:text="MUL" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="63dp"
android:layout_marginBottom="104dp" android:onClick="doDiv"
android:text="DIV" />

</RelativeLayout>

JAVA-CODE
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; import
android.view.View; import
android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


EditText e1,e2;
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); e1 =
(EditText)findViewById(R.id.editText1); e2 =
(EditText)findViewById(R.id.editText2);
tv1 = (TextView)findViewById(R.id.textView1);
}

public void doAdd(View V){


int a1 = Integer.parseInt(e1.getText().toString());
int a2 = Integer.parseInt(e2.getText().toString()); int
result= a1+a2;
tv1.setText(""+result);
}

public void doSub(View V){


int a1 = Integer.parseInt(e1.getText().toString());
int a2 = Integer.parseInt(e2.getText().toString());
int result= a1-a2;
SJCIT, Department of Information Science and Engineering 6
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
tv1.setText(""+result);
}

public void doMul(View V){


int a1 = Integer.parseInt(e1.getText().toString());
int a2 = Integer.parseInt(e2.getText().toString());
int result= a1*a2;
tv1.setText(""+result);
}

public void doDiv(View V){


int a1 = Integer.parseInt(e1.getText().toString());
int a2 = Integer.parseInt(e2.getText().toString());
float result= a1/a2;
tv1.setText(""+result);
}
}

OUTPUT:

Program-3
Create a SIGN Up activity with Username and Password. Validation of password should happen based
on the following rules:
- Password should contain uppercase and lowercase letters.
- Password should contain letters and numbers.
- Password should contain special characters.
- Minimum length of the password (the default value is 8).

SJCIT, Department of Information Science and Engineering 7


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
On successful SIGN UP proceed to the next Login activity. Here the user should SIGN IN using the
Username and Password created during signup activity. If the Username and Password are matched
then navigate to the next activity which displays a message saying “Successful Login” or else display a
toast message saying “Login Failed”. The user is given only two attempts and after that display a toast
message saying “Failed Login Attempts” and disable the SIGN IN button. Use Bundle to transfer
information from one activity to another.

import.AppCompatActivity;
import.Intent;
import.Bundle;
import.View; import.Button;
import.EditText;
import.Toast;

//SignUpActivity.java
import.Pattern;
public class SignUpActivity extends AppCompatActivity {
EditText emailEditText, passwordEditText;
Button signUpBtn; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup); emailEditText =
findViewById(R.id.emailEditText); passwordEditText =
findViewById(R.id.passwordEditText); signUpBtn =
findViewById(R.id.signUpBtn);
signUpBtn.setOnClickListener(new View.OnClickListener() {
@Override public
void onClick(View v) {
String email = emailEditText.getText().toString(); String
password = passwordEditText.getText().toString(); if (!
isValidPassword(password))
{ Toast.makeText(SignUpActivity.this, "Password doesn't
match rules",
Toast.LENGTH_SHORT).show();
return;
}

SJCIT, Department of Information Science and Engineering 8


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
Intent intent = new Intent(SignUpActivity.this, LoginActivity.class);
intent.putExtra("email", email); intent.putExtra("password",
password);
startActivity(intent);
}
});
}

Pattern lowerCase = Pattern.compile("^.*[a-z].*$");


Pattern upperCase = Pattern.compile("^.*[A-Z].*$");
Pattern number = Pattern.compile("^.*[0-9].*$");
Pattern specialCharacter = Pattern.compile("^.*[^a-zA-Z0-9].*$");
private Boolean isValidPassword(String password) {
// Checks if password length is less than 8
if (password.length() < 8) { return false;
}
// Returns false if password doesn't contain a lower case character
if (!lowerCase.matcher(password).matches()) { return
false;
}
// Returns false if password doesn't contain an upper case character
if (!upperCase.matcher(password).matches()) { return false;
}
// Returns false if password doesn't contain a number
if (!number.matcher(password).matches()) { return
false;
}
// Returns false if password doesn't contain a special character
if (!specialCharacter.matcher(password).matches()) { return
false;
}
return true;
}
}

//LoginActivity.java
import.AppCompatActivity;
import.Intent;
import.Bundle;
import.View; import.Button;
import.EditText;
import.Toast;
public class LoginActivity extends AppCompatActivity {
EditText emailEditText, passwordEditText;
Button loginBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login); emailEditText =
findViewById(R.id.emailEditText); passwordEditText =

SJCIT, Department of Information Science and Engineering 9


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
findViewById(R.id.passwordEditText); loginBtn =
findViewById(R.id.loginBtn);
String registeredEmail = getIntent().getStringExtra("email"); String
registeredPassword = getIntent().getStringExtra("password");
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = emailEditText.getText().toString(); String
password = passwordEditText.getText().toString();
if(registeredEmail.equals(email)&&
registeredPassword.equals(password))
{
Intent intent = new Intent(LoginActivity.this, LoginSuccessActivity.class);
startActivity(intent);
}
else
{
Toast.makeText(LoginActivity.this, "Invalid Credentials", Toast.LE
NGTH_SHORT).show();
}
}
});
}
}

//LoginSuccessActivity.java
import .AppCompatActivity;
import .Bundle;
public class LoginSuccessActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_success);
}
}

OUTPUT:

SJCIT, Department of Information Science and Engineering 10


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68

SJCIT, Department of Information Science and Engineering 11


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
Program-4

Develop an application to set an image as wallpaper. On click of a button, the wallpaper image should
start to change randomly every 30 seconds.

//First, create the android application as discussed in “Create your First Android Application”. Copy the
//images and save the images in the drawable folder. Following is the content of the modified
//res/layout/activity_main.xml.
//Save five images (jpg format) in the drawable folder. In this example one.jpg, two.jpg,three.jpg, four.jpg
and //five.jpg images are saved in drawable folder.
//MainActivity.java package com.example.lab4a;

import androidx.appcompat.app.AppCompatActivity;
import android.app.WallpaperManager; import
android.graphics.Bitmap; import
android.graphics.BitmapFactory; import
android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import
android.os.Bundle; import android.view.View; import
android.widget.Button; import android.widget.Toast;
import java.io.IOException; import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
Button changewallpaper;
Timer mytimer;
Drawable drawable;
WallpaperManager wpm;
int prev=1; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mytimer
= new Timer();
wpm = WallpaperManager.getInstance(this);
changewallpaper = findViewById(R.id.button); changewallpaper.setOnClickListener(new
View.OnClickListener() {
@Override public void onClick(View view)
{ setWallpaper();
}
});
}

private void setWallpaper() { mytimer.schedule(new


TimerTask() {
@Override

SJCIT, Department of Information Science and Engineering 12


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
public void run() { if(prev==1) { drawable =
getResources().getDrawable(R.drawable.one); prev = 2;
}
else if(prev==2) { drawable =
getResources().getDrawable(R.drawable.two); prev=3;
}
else if(prev==3) { drawable =
getResources().getDrawable(R.drawable.three); prev=4;
}
else if(prev==4) { drawable =
getResources().getDrawable(R.drawable.four); prev=5;
}
else if(prev==5) { drawable =
getResources().getDrawable(R.drawable.five); prev=1;
}

Bitmap wallpaper = ((BitmapDrawable)drawable).getBitmap();


try {
wpm.setBitmap(wallpaper);
} catch (IOException e) {
e.printStackTrace();
}
}
},0,30000); } }

OUTPUT:

Program - 5
Write a program to create an activity with two buttons START and STOP. On pressing of the START
button, the activity must start the counter by displaying the numbers from One and the counter must
keep on counting until the STOP button is pressed.

SJCIT, Department of Information Science and Engineering 13


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
Display the counter value in a TextView control.

//MainActivity.java
package com.example.a5a;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; import
android.os.Handler; import
android.view.View; import
android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


Button btnstart, btnstop;
TextView txtcounter; int
i = 1;
Handler customHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtcounter = findViewById(R.id.textView1);
btnstart = findViewById(R.id.btn_start); btnstop
= findViewById(R.id.btn_stop);
btnstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{ customHandler.postDelayed(updateTimerThread,0); } });
btnstop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{ customHandler.removeCallbacks(updateTimerThread); }
});
}

private final Runnable updateTimerThread = new Runnable() {


@Override
public void run() { txtcounter.setText(""+i);
customHandler.postDelayed(this,1000);
i++;
}
SJCIT, Department of Information Science and Engineering 14
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
};
}

OUTPUT:

Program-6
Create two files of XML and JSON type with values for City_Name, Latitude, Longitude,
Temperature, and Humidity. Develop an application to create an activity with two buttons to parse the
XML and JSON files which when clicked should display the data in their respective layouts side by
side.

SJCIT, Department of Information Science and Engineering 15


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68

//MainActivity.java
import android.os.Bundle;
import android.util.Log; import
android.util.Xml; import android.view.View;
import android.widget.Button; import
android.widget.TextView; import
android.widget.Toast; import
org.json.JSONArray; import
org.json.JSONException; import
org.json.JSONObject; import
org.w3c.dom.Document; import
org.w3c.dom.Element; import
org.w3c.dom.Node; import
org.w3c.dom.NodeList; import
org.xml.sax.SAXException; import
org.xmlpull.v1.XmlPullParser; import
org.xmlpull.v1.XmlPullParserException; import
java.io.IOException; import
java.io.InputStream;
import java.nio.charset.StandardCharsets; import
javax.xml.parsers.DocumentBuilder; import
javax.xml.parsers.DocumentBuilderFactory; import
javax.xml.parsers.ParserConfigurationException;

public class MainActivity extends AppCompatActivity { Button


parseXmlBtn, parseJsonBtn;
TextView displayTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

parseJsonBtn = findViewById(R.id.parseJsonBtn);
parseXmlBtn = findViewById(R.id.parseXmlBtn);

displayTextView = findViewById(R.id.displayTextView);

parseXmlBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
InputStream is = getAssets().open("city.xml");

SJCIT, Department of Information Science and Engineering 16


MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(is);

StringBuilder stringBuilder = new StringBuilder();


stringBuilder.append("XML Data"); stringBuilder.append("\n----------");

NodeList nodeList = document.getElementsByTagName("place");

for (int i = 0; i < nodeList.getLength(); i++) {


Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;

stringBuilder.append("\nName: ").append(getValue("name", element));


stringBuilder.append("\nLatitude: ").append(getValue("lat", element));
stringBuilder.append("\nLongitude: ").append(getValue("long", element));
stringBuilder.append("\nTemperature: ").append(getValue("temperature", element));
stringBuilder.append("\nHumidity: ").append(getValue("humidity", element));
stringBuilder.append("\n----------");
}
}
displayTextView.setText(stringBuilder.toString());

} catch (Exception e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "Error Parsing XML", Toast.LENGTH_SHORT).show();
}
}
});

parseJsonBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String json;
StringBuilder stringBuilder = new StringBuilder();
try {
InputStream is = getAssets().open("city.json");
int size = is.available(); byte[] buffer =
new byte[size]; is.read(buffer);
json = new String(buffer, StandardCharsets.UTF_8);
JSONArray jsonArray = new JSONArray(json);
stringBuilder.append("JSON Data");
stringBuilder.append("\n----------");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
stringBuilder.append("\nName: ").append(jsonObject.getString("name"));
stringBuilder.append("\nLatitude: ").append(jsonObject.getString("lat"));
stringBuilder.append("\nLongitude: ").append(jsonObject.getString("long"));
stringBuilder.append("\nTemperature:").append(jsonObject.getString("temperature"));
stringBuilder.append("\nHumidity: ").append(jsonObject.getString("humidity"));
stringBuilder.append("\n----------");
}
SJCIT, Department of Information Science and Engineering 17
MOBILE APPLICATION DEVELOPMENT LABORATORY - 18CSMP68
displayTextView.setText(stringBuilder.toString());
is.close();
} catch (IOException | JSONException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "Error in parsing JSON data
from!",Toast.LENGTH_SHORT) .show();
}
}
});
}

private String getValue(String tag, Element element) {


return element.getElementsByTagName(tag).item(0).getChildNodes().item(0).getNodeValue();
}
}

SJCIT, Department of Information Science and Engineering 18

You might also like