MAD Project Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 24

Android To-Do List Project

VISVESVARAYA TECHNOLOGICAL UNIVERSITY


BELAGAVI-590018, KARNATAKA

A Mini Project Report


On

“Android To-Do List Project”


Submitted in Partial Fulfillment of the Requirement for
“MAD Laboratory with Mini Project -VI Semester”
For the Award of Degree

BACHELOR OF ENGINNERING

IN

COMPUTER SCIENCE & ENGINNERING


Submitted By:
NAVEEN S R (1SG18CS061)
MANJUNATH M (1SG19CS404)
Under the Guidance of:
Mr. KIRAN S Mrs. VINDHYA G B
Assistant Professor Assistant Professor

Department of Computer Science and Engineering


SAPTHAGIRI COLLEGE OF ENGINEERING
(Affiliated to Visvesvaraya Technological University, Belagavi& Approved by AICTE, New Delhi.)
ISO 9001-2015 & 14001-2015 Certified, Accredited by NAAC with ‘A’ Grade
#14/5, Chikkasandra, Hesaraghatta Main Road,
Bengaluru-560057
Android To-Do List Project
2020-2021

SAPTHAGIRI COLLEGE OF ENGINEERING


Affiliated to Visvesvaraya Technological University, Belagavi& Approved by AICTE, New Delhi.)
ISO 9001-2015 & 14001-2015 Certified, Accredited by NAAC with ‘A’ Grade
#14/5, Chikkasandra, Hesaraghatta Main Road,
Bengaluru-560057

Department of Computer Science and Engineering

Certificate
This is to certify that the Mini Project Work entitled “Android To-Do List Project”carried out by
NAVEEN S R (1SG18CS061), MANJUNATH M (1SG19CS404),bonafide students of Sapthagiri
College of Engineering, in partial fulfillment for the award of Bachelor of Engineering degree in
Computer Science and Engineering of Visvesvaraya Technological University, Belagavi during the
academic year 2020-2021. It is certified that all corrections/suggestions indicated have been incorporated in
the report. The project report has been approved as it satisfies the academic requirements in respect of MAD
Laboratory with Mini Project (18CSMP68) prescribed for the said Degree.

Signature of the Guide Signature of the Guide Signature of the HOD


Mr. KIRAN S Mrs. VINDHYA G B Dr. Kamalakshi Naganna
Assistant Professor Assistant Professor Professor& Head

EXTERNAL EXAMINATION

Name of the Examiners Signature with Date

1.___________________________ _________________________

2.___________________________ _________________________

ACKNOWLEDGEMENT
Android To-Do List Project

The satisfaction and euphoria that accompany the completion of any task would be incomplete
without the mention of the people who made it possible, whose constant guidance and encouragement
ground my efforts with success.

I consider it is a privilege to express my gratitude and respect to all those who guided me in
completion of technical seminar.

I am, grateful to thank our Principal Dr. H Ramakrishna, Sapthagiri College of Engineering, who
patronized throughout my career & for the facilities provided to carry out this work successfully.

It’s a great privilege to place on record my deep sense of gratitude to our beloved HOD Dr.
Kamalakshi Naganna of Computer Science & Engineering, who patronized throughout my career & for
the facilities provided to carry out this work successfully.

I am also grateful to thank our mini project Guides Mr. KIRAN S, Assistant Professor & Mrs.
VINDHYA G B, Assistant Professor of CSE department for her invaluable support and guidance.

I would also like to thank the teaching and non-teaching staff members who have helped me directly
or indirectly during the technical seminar.

Lastly but most importantly I would like thank my family and friends for their co- operation and
motivation to complete this seminar successfully.

NAVEEN S R (1SG18CS061)
MANJUNATH M (1SG19CS404)

ABSTRACT
Android To-Do List Project

To-Do List project is an application specially built to keep track of errands or tasks that need to be done.

This application will be like a task keeper where the user would be able to enter the tasks that they need to
do.

Once they are done with their tasks they can also remove them from the list.

Let us see what is there in the application:

 You can add the tasks that are to be done in a descriptive way.

 You will be able to add as many tasks as you have.

 Once the task is completed, you will be able to remove it by clicking on “Task Completed” button.

Following are the user interface components that will be shown in our application

 There will be an add task button on the right top of the application

 There will be a button “Task Completed” for each task added, so you will be able to delete it.

 The tasks that will be added by the users are stored in the list view.
Android To-Do List Project
TABLE OF CONTENTS
SL. NO. CHAPTERS PAGE No.
1 Installing and Running 1
Applications on Android
Studio
2 Introduction 3
2.1 Overview Of The Project 3
2.2 Aim Of The Project 3
3 Requirement Specification 4
3.1 Functional Requirements 4
3.2 Non-Functional Requirements 4
3.2.1 Dependability
3.2.2 Availability
3.2.3 Reliability
3.2.4 Safety
3.2.5 Security
3.3 Details Of The Software 5
3.3.1 Android Studio
3.4 Software and Hardware 6
Requirements
4 Design 7
5 Implementation 9
6 Testing 13
7 Snapshots 14
8 Conclusion 18
Bibliography

LIST OF FIGURES

Sl. No. Figure No. Title of figure Page No.


1 3.1 Flow chart for Representation of To-Do List 6
2 3.2 Flow chart for Representation of Xml to Java 7
3 6.1 Main Page 14
4 6.2 Message Page 15
5 6.3 List Page 16
6 6.4 Task completed Page 17
Android To-Do List Project
Android To-Do List Project

CHAPTER 1

INSTALLING AND RUNNING APPLICATIONS ON ANDROID STUDIO

Step 1 - System Requirements

The required tools to develop Android applications are open source and can be downloaded from
the Web. Following is the list of software's you will need before you start your Android application
programming.

 Java JDK5 or later version


 Java Runtime Environment (JRE) 6
 Android Studio

Step 2 - Setup Android Studio

Android Studio is the official IDE for android application development.It works based on IntelliJ
IDEA, You can download the latest version of android studio from Android Studio 2.2 Download, If
you are new to installing Android Studio on windows,you will find a file, which is named
as android-studio-bundle-143.3101438-windows.exe.So just download and run on windows
machine according to android studio wizard guideline.

If you are installing Android Studio on Mac or Linux, You can download the latest version
from Android Studio Mac Download,or Android Studio Linux Download, check the instructions
provided along with the downloaded file for Mac OS and Linux. This tutorial will consider that you
are going to setup your environment on Windows machine having Windows 8.1 operating system.

Installation

So let's launch Android Studio.exe,Make sure before launch Android Studio, Our Machine should
required installed Java JDK. To install Java JDK,take a references of Android environment setup.
Once you launched Android Studio, its time to mention JDK7 path or later version in android
studio installer.

Dept. Of CSE Page 1


Android To-Do List Project

Need to check the components, which are required to create applications, below the image has
selected Android Studio, Android SDK, Android Virtual Machine and performance(Intel chip).
Need to specify the location of local machine path for Android studio and Android SDK, below the
image has taken default location of windows 8.1 x64 bit architecture.
Need to specify the ram space for Android emulator by default it would take 512MB of local
machine RAM.
At final stage, it would extract SDK packages into our local machine, it would take a while time to
finish the task and would take 2626MB of Hard disk space.
At final stage, it would extract SDK packages into our local machine, it would take a while time to
finish the task and would take 2626MB of Hard disk space.
You can start your application development by calling start a new android studio project. in a new
installation frame should ask Application name, package information and location of the project.
After entered application name, it going to be called select the form factors your application runs
on, here need to specify Minimum SDK, in our tutorial, I have declared as API23: Android
6.0(Mashmallow).
The next level of installation should contain selecting the activity to mobile, it specifies the default
layout for Applications.
At the final stage it going to be open development tool to write the application code.

Step 3 - Create Android Virtual Device

To test your Android applications, you will need a virtual Android device. So before we start
writing our code, let us create an Android virtual device. Launch Android AVD Manager Clicking
AVD_Manager icon as shown below.
After Click on a virtual device icon, it going to be shown by default virtual devices which are
present on your SDK, or else need to create a virtual device by clicking Create new Virtual
device button.
If your AVD is created successfully it means your environment is ready for Android application
development. If you like, you can close this window using top-right cross button. Better you restart your
machine and once you are done with this last step, you are ready to proceed for your first Android example
but before that we will see few more important concepts related to Android Application Development.

Dept. Of CSE Page 2


Android To-Do List Project

INTRODUCTION
1.1 Overview of the project

The project is a single web-page containing different list items and a text area to add custom tasks.
The “Add” button lets the user add an object to the list.

We have the facility to check the items from the list or remove them if we want. If we wish, we can
clear all the list items with a single button. It is a very user-friendly and user-interactive project that makes
the work of a user a lot easier.

To-Do List project is an application specially built to keep track of errands or tasks that need to be
done. This application will be like a task keeper where the user would be able to enter the tasks that they
need to do. Once they are done with their tasks they can also remove them from the list. 

Let us see what is there in the application:


 You can add the tasks that are to be done in a descriptive way.
 You will be able to add as many tasks as you have.
 Once the task is completed, you will be able to remove it by clicking on “Task Completed” button.

Following are the user interface components that will be shown in our application-
 There will be an add task button on the right top of the application
 There will be a button “Task Completed” for each task added, so you will be able to delete it.
 The tasks that will be added by the users are stored in the list view.

1.2 Aim of the project

The project has been implemented in modules so as to make it user friendly i.e. if a code viewer is
finding trouble with a particular function it can go to a particular module and make corresponding changes
in it instead of searching in the program.

Also it is more advantageous for future modifications as when modifications are to be made instead
of searching the whole program module search can be useful as it decreases the time consumption.

Dept. Of CSE Page 3


Android To-Do List Project

CHAPTER 2

REQUIREMENT SPECIFICATION

A software requirement definition is an abstract description of the services which the system should
provide, and the constraints under which the system must operate. It should only specify the external
behavior of the system.

2.1 Functional requirements


In software engineering, a functional requirement defines a function of
a software system or its component. A function is described as a set of inputs, the behavior, and outputs (see
also software).

Functional requirements may be calculations, technical details, data manipulation and processing and other
specific functionality that define what a system is supposed to accomplish. Behavioral requirements
describing all the cases where the system uses the functional requirements are captured in use cases.

The various methods used in this project are as follows:-


 Emulator
To perform and display the functionality of the project.
 Android studio
To create, design, test, debug and run the android project.
 Mouse
To navigate through the emulator.
 Keyboard
To give inputs to the project.

2.2 Non-functional requirements:


These are constraints on the services or functions offered by the system. They include
timing constraints, constraints on the development process and standards. Non-functional requirements
often apply to the system as a whole.

Dept. Of CSE Page 4


Android To-Do List Project

Non-Functional Requirements are as follows:-

2.2.1 Dependability:
The dependability of a computer system is a property of the system that equates to its
trustworthiness. Trustworthiness essentially means the degree of user confidence that the system will
operate as they expect and that the system will not ‘fail’ in normal use.

2.2.2 Availability:
The ability of the system to deliver services when requested. There is no error in the program
while executing the program.

2.2.3 Reliability:
The ability of the system to deliver services as specified. The program is compatible with all types
of operating system without any failure.

2.2.4 Safety:
The ability of the system to operate without catastrophic failure. This program is user friendly and it
will never effects the system.

2.2.5 Security:
The ability of the system to protect itself against accidental or deliberate intrusion.

2.3 Details of the software


Here, the coding, creating, designing, testing, debugging and running of our project is done in
Android Studio.

2.3.1 Android Studio


Android Studio is the official integrated development environment (IDE)
for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically
for Android development. 

It is available for download on Windows, macOS and Linux based operating systems or as a


subscription-based service in 2020. It is a replacement for the Eclipse Android Development Tools (E-
ADT) as the primary IDE for native Android application development.

Dept. Of CSE Page 5


Android To-Do List Project

Android Studio supports all the same programming languages of IntelliJ (and CLion) e.g. Java, C++,
and more with extensions, such as Go; and Android Studio 3.0 or later supports Kotlin and "all Java 7
language features and a subset of Java 8 language features that vary by platform version." External
projects backport some Java 9 features. 

While IntelliJ states that Android Studio supports all released Java versions, and Java 12, it's not
clear to what level Android Studio supports Java versions up to Java 12 (the documentation mentions partial
Java 8 support). At least some new language features up to Java 12 are usable in Android.

2.4 Software and Hardware requirements

Basic system requirements for Android Studio


Microsoft Windows Mac Linux
Microsoft 庐 Windows 庐 7/8/10
Mac 庐 OS X 庐 10.10 GNOME or KDE desktop
(32- or 64-bit)
Operating System (Yosemite) or higher,
Tested on gLinux based on
Version The Android Emulator only up to 10.14 (macOS
Debian (4.19.67-2rodete2).
supports 64-bit Windows. Mojave)

Random Access
4 GB RAM minimum; 8 GB RAM recommended.
Memory (RAM)
2 GB of available digital storage minimum, 4 GB Recommended (500 MB for IDE + 1.5 GB for
Free digital storage
聽 Android SDK 聽 and emulator system image).
Minimum required
Java Development Kit 聽 8
JDK version
Minimum screen
1280 x 800
resolution

Dept. Of CSE Page 6


Android To-Do List Project
CHAPTER 3

DESIGN

Data flow design is as shown below - covering the flow of the data in the system. It describes the
relation between user input and the system behavior.

Figure No. 3.1 Flow chart for Representation of To-Do List.

Dept. Of CSE Page 7


Android To-Do List Project

XML JAVA

Onclick
Button Creation Create List

On-click
Create Task Data Base
Save

Create Task

Save

End

Figure No. 3.2 Flow chart for Representation of Xml to Java.

Dept. Of CSE Page 8


Android To-Do List Project
CHAPTER 4

IMPLEMENTATION

To implement the Current system we have used different functions of our project
which are as follows:

package com.DataFlair.dataflairtodolist;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import com.DataFlair.dataflairtodolist.task_database.TaskContract;
import com.DataFlair.dataflairtodolist.task_database.TaskDatabaseHelper;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


private static final String TAG = "MainActivity";

Dept. Of CSE Page 9


Android To-Do List Project

private TaskDatabaseHelper taskHelper;

private ListView TaskList;


private ArrayAdapter<String> arrAdapter;

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

taskHelper = new TaskDatabaseHelper(this);


TaskList = (ListView) findViewById(R.id.list_todo);

updateUI();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add_task:
final EditText taskEdit = new EditText(this);
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Add a new task").setMessage("What do you want to do
next?").setView(taskEdit)
.setPositiveButton("Add", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

Dept. Of CSE Page 10


Android To-Do List Project
String task = String.valueOf(taskEdit.getText());
SQLiteDatabase db = taskHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(TaskContract.TaskEntry.COL_TASK_TITLE, task);
db.insertWithOnConflict(TaskContract.TaskEntry.TABLE, null, values,
SQLiteDatabase.CONFLICT_REPLACE);
db.close();
updateUI();
}
})
.setNegativeButton("Cancel", null).create();
dialog.show();
return true;

default:
return super.onOptionsItemSelected(item);
}
}

public void deleteTask(View view) {


View parent = (View) view.getParent();
TextView taskTextView = (TextView) parent.findViewById(R.id.title_task);
String task = String.valueOf(taskTextView.getText());
SQLiteDatabase db = taskHelper.getWritableDatabase();
db.delete(TaskContract.TaskEntry.TABLE, TaskContract.TaskEntry.COL_TASK_TITLE + "
= ?", new String[]{task});
db.close();
updateUI();
}

private void updateUI() {


ArrayList<String> taskList = new ArrayList<>();
SQLiteDatabase db = taskHelper.getReadableDatabase();

Dept. Of CSE Page 11


Android To-Do List Project
Cursor cursor = db.query(TaskContract.TaskEntry.TABLE,
new String[]{TaskContract.TaskEntry._ID,
TaskContract.TaskEntry.COL_TASK_TITLE},
null, null, null, null, null);
while (cursor.moveToNext()) {
int idx = cursor.getColumnIndex(TaskContract.TaskEntry.COL_TASK_TITLE);
taskList.add(cursor.getString(idx));
}

if (arrAdapter == null) {
arrAdapter = new ArrayAdapter<>(this, R.layout.todo_task, R.id.title_task, taskList);
TaskList.setAdapter(arrAdapter);
} else {
arrAdapter.clear();
arrAdapter.addAll(taskList);
arrAdapter.notifyDataSetChanged();
}

cursor.close();
db.close();
}
}

Dept. Of CSE Page 12


Android To-Do List Project

CHAPTER 5

TESTING

Testing has been conducted as tabulated below.

Functions with parameters Comment


No Expected result Actual result
under test s
When the run is executed. The Emulator should
The emulator
1 emulator should open with a pop-up on screen PASS
appeared.
certain application with in a min.
Text box should Text box
2 When we click on + icon. PASS
appear. appeared.
Appear in list with
TASK List with button
3 The written message. PASS
COMPLETED appeared.
button.
Message
The message should
4 When we click on button. disappeared(del PASS
disappear(deleted).
eted).

CHAPTER 6
Dept. Of CSE Page 13
Android To-Do List Project

SNAPSHOTS

6.1 Main Page

Figure 6.1: Main Page

Dept. Of CSE Page 14


Android To-Do List Project
6.2 Message page

Figure 6.2: Message page

Dept. Of CSE Page 15


Android To-Do List Project
6.3 List page

Figure 6.3: List page

Dept. Of CSE Page 16


Android To-Do List Project
6.4 Task completed page

Figure 6.4: Task completed page

CHAPTER 7

Dept. Of CSE Page 17


Android To-Do List Project

CONCLUSION

The development of the project is not an easy process as it involves lot of challenges in
different stages of software analysis, design, coding and testing.

Having understood the requirements properly and implementing the solutions as per the
expectation as brought to the closure of the project.

We have tried our best to make this project very realistic, so that the user does not face
any trouble when switching over from any real life android project to this highly useful one.

BIBLIOGRAPHY

Websites
 www.Data-Flair.Training.com
 www.Github.com
 www.wikipedia.com
 www.Youtube.com

Dept. Of CSE Page 18

You might also like