You are on page 1of 24

BCA Programme 1

CONTACT MANAGEMENT APPLICATION

B.L.D.E. Association’s
A.S. Patil College of Commerce Vijayapura
(Affiliated to Rani Chennamma University, Belgaum)
(Autonomous)

BACHELOR OF COMPUTER APPLICATIONS (BCA)

Department Of Computer Applications

Mini Project Report On


“CONTACT MANAGEMENT APPLICATION”
Submitted In Practical Fulfillment of the Equipment for the V Sem of
Bachelor of Computer Applications
2020-21

Under The Guidance Of


Prof. Mallikarjun G.M (MCA)

Submitted By
Mallikarjun Atanoor (BCA18048)

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 2
CONTACT MANAGEMENT APPLICATION

ACKNOWLEDGEMENT

The presented project is a result of our dedication and also support of other
members. We would not like to miss the chance of expressing our gratitude for all people
who made this work a fully fledged project. We are thankful to our guide “Prof.
Mallikarjun G.M” for his continues guidance and monitoring. We always be thankful to
precious time he has given beside of his busy schedule.
We are thankful to our HOD Prof. Praful V.H for giving such a wonderful
opportunity and also for encouragement. We show sincere gratitude to our respected
Principal Prof. S.G Rodagi Our process of showing gratitude is incomplete without thanking
all those members who have helped behind the mirror, without whom our project would not
be complete.

Thanking You,
Mallikarjun Atanoor.
BCA18048

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 3
CONTACT MANAGEMENT APPLICATION

ABSTRACT

This is an advanced contact management application where the user can save the
contact details of an individual, he wishes. This is an android based application using java
where the user can save the contact details such as Phone number, Name, E mail address,
Residential Address. Which is better than the traditional book keeping system where
everything is written in book.

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 4
CONTACT MANAGEMENT APPLICATION

CONTENTS

 Introduction
 Literature Survey
• Existing System
• Disadvantages of Existing System
• Proposed System
• Advantages of proposed System
 System Requirements
• Hardware requirements
• Software requirements
 Diagrams
 Technologies used in projects
• Introduction to Android
• Introduction to SQLite
 Screen Shots
 Future Enhancements
 Conclusion
 Bibliography

INTRODUCTION

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 5
CONTACT MANAGEMENT APPLICATION

This is an application to store the contact details of an individual such as


contact number, Email address, residential address, Name. Where the user stores the data
electronically rather than storing them in conventional ways such as writing them down in a
book or a piece of paper.

LITERATURE SURVEY

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 6
CONTACT MANAGEMENT APPLICATION

Existing system:
 The present conventional system store data in books and paper.
 Data can not be maintained for long time.
 Data can not be stored for long time.
 Data can be lost if the written books or paper stolen or lost.

Disadvantages of Existing System


 Hard to store the written data for long time.
 Loss of data if the written documents are lost and damaged.
 Paper could weather out with time.

PROPOSED SYSTEM:
 Data is stored electronically.
 Data can be stored for long time.

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 7
CONTACT MANAGEMENT APPLICATION

 Data can not be stolen or lost unless the device is lost.


 Easy to maintain the data.

ADVANTAGES:
 Easy to store the details for the longer time.
 Safer alternative to the traditional writing down system.
 User can save as much as contacts as he wishes.

REQUIREMENTS

 Hardware requirements

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 8
CONTACT MANAGEMENT APPLICATION

 Processer: I3, I5 , I7.


 Hard disk: 100GB.
 Memory: 4GB.

 Software requirements

 Android studio.

 Languages

 Java.
 Xml.

DFD DIAGRAMS

User

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 9
CONTACT MANAGEMENT APPLICATION

Save contact

View Update Delete Insert

TECHNOLOGIES USED IN PROJECT

Introduction to Android:

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 10
CONTACT MANAGEMENT APPLICATION

Android is a mobile operating system based on a modified version of the Linux kernel and
other open-source software, designed primarily for touchscreen mobile devices such as
smartphones and tablets. Android is developed by a consortium of developers known as the
Open Handset Alliance and commercially sponsored by Google. It was unveiled in
November 2007, with the first commercial Android device launched in September 2008. It is
free and open source software; its source code is known as Android Open Source Project
(AOSP), which is primarily licensed under the Apache License. However most Android
devices ship with additional proprietary software preinstalled,[10] most notably Google
Mobile Services (GMS)[11] which includes core apps such as Google Chrome, the digital
distribution platform Google Play and associated Google Play Services development
platform. About 70 percent of Android smartphones run Google's ecosystem;[12] competing
Android ecosystems and forks include Fire OS (developed by Amazon) or LineageOS.
However the "Android" name and logo are trademarks of Google which impose standards to
restrict "uncertified" devices outside their ecosystem to use Android branding.[13][14] The
source code has been used to develop variants of Android on a range of other electronics,
such as game consoles, digital cameras, portable media players, PCs and others, each with a
specialized user interface. Some well known derivatives include Android TV for televisions
and Wear OS for wearables, both developed by Google. Software packages on Android,
which use the APK format, are generally distributed through proprietary application stores
like Google Play Store, Samsung Galaxy Store, and Huawei AppGallery, or open source
platforms like Aptoide or F-Droid. Android has been the best-selling OS worldwide on
smartphones since 2011 and on tablets since 2013. As of May 2017, it has over two billion
monthly active users, the largest installed base of any operating system, and as of January
2021, the Google Play Store features over 3 million apps.[15] The current stable version is
Android 11, released on September 8, 2020.

Introduction to SQLite

SQLite Database: Android also supports inbuilt database which is Android SQLite to develop
any small applications and perform any CRUD (Create, Update, and Delete) operations. As it
A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A
PROGRAMME
BCA Programme 11
CONTACT MANAGEMENT APPLICATION

is not flexible enough to support substantial number of data, for complex applications we are
using other external databases. 23 4.1.3 Eclipse IDE Android applications could be developed
in Eclipse IDE in which we can compile, run, debug and deploy using ADT (Android
Development Tools). In this project, I have used Eclipse IDE to create Java SOAP Web
Services for connecting the database and used Android Studio to develop the application. The
Android SQLite Database requires very little memory (around 250kb), which is available on
all android devices. Every device has an inbuilt support for SQLite database, which is
automatically managed on android right from its creation, execution to querying up process.
SQLite is an open source database, available on every android database. It supports standard
relations database features, like SQL syntax, transactions & SQL statements. SQLite is
considerably, the lighter version of SQL database, where most of the SQL commands don’t
run on SQLite database. Once SQLite is in place, it is important to ensure that a feature or
command is available in SQLite; only then can it be executed. The Basic Advantages of
SQLite:  It’s a light weight database  Requires very little memory  An Automatically
managed database The SQLite supports only 3 Datatypes:  Text (like string) – for storing
data type store  Integer (like int) – for storing integer primary key  Real (like double)- for
storing long values Basically SQLite does not validate datatypes by itself. In other words,
whatever datatypes are used, they are termed as valid

Introduction to Android Framework

1) Activity Manager

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 12
CONTACT MANAGEMENT APPLICATION

Applications use the Android activity component for presenting an entry point to the
app. Android Activities are the components that house the user interface that app
users interact with. As end-users interact with the Android device, they start, stop, and
jump back and forth across many applications. Each navigation event triggers
activation and deactivation of many activities in respective applications.
The Android ActivityManager is responsible for predictable and consistent behavior
during application transitions. The ActivityManager provides a slot for app creators to
have their apps react when the Android OS performs global actions. Applications can
listen to events such as device rotation, app destruction due to memory shortage, an
app being shifted out of focus, and so on.
Some examples of the way applications can react to these transitions include pausing
activity in a game, stopping music playing during a phone call.
2) Window Manager
Android can determine screen information to determine the requirements needed to
create windows for applications. Windows are the slots where we can view our app
user interface. Android uses the Window manager to provide this information to the
apps and the system as they run so that they can adapt to the mode the device is
running on.

The Window Manager helps in delivering a customized app experience. Apps can fill
the complete screen for an immersive experience or share the screen with other apps.
Android enables this by allowing multi-windows for each app.
3) Location Manager Most Android devices are equipped with GPS devices that can
get user location using satellite information to which can go all the way to meters
precision. Programmers can prompt for location permission from the users, deliver
location, and aware experiences. Android is also able to utilize wireless technologies
to further enrich location details and increase coverage when devices are enclosed
spaces. Android provides these features under the umbrella of the Location-Manager.

4) Telephony Manager Most Android devices serve a primary role in telephony.


Android uses TelephoneManager to combine hardware and software components to
deliver telephony features. The hardware components include external parts such as

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 13
CONTACT MANAGEMENT APPLICATION

the sim card, and device parts such as the microphone, camera, and speakers. The
software components include native components such as dial pad, phone book,
ringtone profiles. Using the TelephoneManager, a developer can extend or fine-tune
the default calling functionality.

5) Resource Manager Android app usually come with more than just code. They
also have other resources such as icons, audio and video files, animations, text files,
and the like. Android helps in making sure that there is efficient, responsive access to
these resources. It also ensures that the right resources are delivered to the end-users.
For example, the proper language text files are used when populating fields in the
apps.

6) Notification Manager The Notification Manager is responsible for informing


Android users of application events. It does this by giving users visual, audio or
vibration signals or a combination of them when an event occurs. These events have
external and internal triggers. Some examples of internal triggers are low-battery
status events that trigger a notification to show low battery. Another example is user-
specified events like an alarm. Some examples of external triggers include new
messages or new Wi-Fi networks detected.

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 14
CONTACT MANAGEMENT APPLICATION

Code:

Any three Source Code (Java pages) of your project

package com.example.mycontacts;

import android.app.LoaderManager;
import android.content.ContentUris;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
import android.database.Cursor;
import android.net.Uri;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity implements


LoaderManager.LoaderCallbacks<Cursor> {

public Adapter mAdapter;


public static final int CONTACTLOADER = 0;

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

FloatingActionButton fab = findViewById(R.id.fab);


fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,
EditorActivity.class);
startActivity(intent);
}
});

ListView listView = findViewById(R.id.list);


mAdapter = new Adapter(this, null);
listView.setAdapter(mAdapter);

// listview updating
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
Intent intent = new Intent(MainActivity.this,
EditorActivity.class);

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 15
CONTACT MANAGEMENT APPLICATION

Uri newUri =
ContentUris.withAppendedId(Contract.ContactEntry.CONTENT_URI, id);
intent.setData(newUri);
startActivity(intent);

}
});

// loader running
getLoaderManager().initLoader(CONTACTLOADER, null, this);
}

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {

String[] projection = {Contract.ContactEntry._ID,


Contract.ContactEntry.COLUMN_NAME,
Contract.ContactEntry.COLUMN_EMAIL,
Contract.ContactEntry.COLUMN_PICTURE,
Contract.ContactEntry.COLUMN_PHONENUMBER,
Contract.ContactEntry.COLUMN_TYPEOFCONTACT
};

return new CursorLoader(this, Contract.ContactEntry.CONTENT_URI,


projection, null,
null,
null);
}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {

mAdapter.swapCursor(data);
}

@Override
public void onLoaderReset(Loader<Cursor> loader) {

mAdapter.swapCursor(null);

}
}

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 16
CONTACT MANAGEMENT APPLICATION

Dbhelper.java

package com.example.mycontacts;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.annotation.Nullable;
import com.example.mycontacts.Contract.ContactEntry;

public class Dbhelper extends SQLiteOpenHelper {

public static final String DATABASE_NAME = "todaycontact.db";


public static final int DATABASE_VERSION = 1;

public Dbhelper(Context context) {


super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
String SQL_TABLE = "CREATE TABLE " + ContactEntry.TABLE_NAME + " ("
+ ContactEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ContactEntry.COLUMN_NAME + " TEXT NOT NULL, "
+ ContactEntry.COLUMN_EMAIL + " TEXT NOT NULL, "
+ ContactEntry.COLUMN_PHONENUMBER + " TEXT NOT NULL, "
+ ContactEntry.COLUMN_TYPEOFCONTACT + " TEXT NOT NULL, "
+ ContactEntry.COLUMN_PICTURE + " TEXT);";

db.execSQL(SQL_TABLE);

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 17
CONTACT MANAGEMENT APPLICATION

EditorActivity.java
* Prompt the user to confirm that they want to delete this product.
*/
private void showDeleteConfirmationDialog() {
// Create an AlertDialog.Builder and set the message, and click listeners
// for the positive and negative buttons on the dialog.
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.delete_dialog_msg);
builder.setPositiveButton(R.string.delete, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked the "Delete" button, so delete the product.
deleteProduct();
}
});
builder.setNegativeButton(R.string.cancel, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked the "Cancel" button, so dismiss the dialog
// and continue editing the product.
if (dialog != null) {
dialog.dismiss();
}
}
});

// Create and show the AlertDialog


AlertDialog alertDialog = builder.create();
alertDialog.show();
}

/**
* Perform the deletion of the product in the database.
*/
private void deleteProduct() {
// Only perform the delete if this is an existing product.
if (mCurrentContactUri != null) {
// Call the ContentResolver to delete the product at the given content
URI.
// Pass in null for the selection and selection args because the
mCurrentProductUri
// content URI already identifies the product that we want.
int rowsDeleted = getContentResolver().delete(mCurrentContactUri, null,
null);

// Show a toast message depending on whether or not the delete was


successful.
if (rowsDeleted == 0) {
// If no rows were deleted, then there was an error with the delete.
Toast.makeText(this, getString(R.string.editor_delete_product_failed),
Toast.LENGTH_SHORT).show();
} else {
// Otherwise, the delete was successful and we can display a toast.
Toast.makeText(this,
getString(R.string.editor_delete_product_successful),

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 18
CONTACT MANAGEMENT APPLICATION

Toast.LENGTH_SHORT).show();
}
}

// Close the activity


finish();
}

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 19
CONTACT MANAGEMENT APPLICATION

SCREEN SHOTS

Home page

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 20
CONTACT MANAGEMENT APPLICATION

Save Contact

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 21
CONTACT MANAGEMENT APPLICATION

View contacts

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 22
CONTACT MANAGEMENT APPLICATION

FUTURE ENHANCEMENTS:

 Improved user experience.


 Dark mode implementation.
 More user credentials.
 Voice based search.

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 23
CONTACT MANAGEMENT APPLICATION

CONCLUSION

The conclusion of this project is the basic contact managing application which can
save the Name, Number, E-mail, Residential address and a display picture to identify the
saved contact at a glance.

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME
BCA Programme 24
CONTACT MANAGEMENT APPLICATION

BIBILIOGRAPHY
 https://www.github.com
 https://www.code.org
 https://codeacademy.com

A.S. PATIL COLLEGE OF COMMERCE(Autonomous)B.C.A


PROGRAMME

You might also like