MAD Project Report
MAD Project Report
MAD Project Report
BACHELOR OF ENGINNERING
IN
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.
EXTERNAL EXAMINATION
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.
You can add the tasks that are to be done in a descriptive way.
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
CHAPTER 1
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
XML JAVA
Onclick
Button Creation Create List
On-click
Create Task Data Base
Save
Create Task
Save
End
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
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) {
default:
return super.onOptionsItemSelected(item);
}
}
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();
}
}
CHAPTER 5
TESTING
CHAPTER 6
Dept. Of CSE Page 13
Android To-Do List Project
SNAPSHOTS
CHAPTER 7
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