38
Project Report On “REFLECTION’AR-A Diary Mobile Application” A report submitted in the partial fulfillment of the requirements for the degree of Bachelor of Technology In Computer Science & Engineering SUBMITTED BY: Adishree Pandita University Roll no.:1244577 Batch:2012-2016 SUBMITTED TO: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING GIANI ZAIL SINGH PUNJAB TECHNICAL UNIVERSITY CAMPUS BATHINDA,PUNJAB-151001 1

Diary Project Report

Embed Size (px)

DESCRIPTION

It is a minor project report n diary application based on android

Citation preview

Page 1: Diary Project Report

Project Report

On

“REFLECTION’AR-A Diary Mobile Application”

A report submitted in the partial fulfillment of the requirements for the degree ofBachelor of Technology

InComputer Science & Engineering

SUBMITTED BY:

Adishree Pandita

University Roll no.:1244577

Batch:2012-2016

SUBMITTED TO:

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

GIANI ZAIL SINGH PUNJAB TECHNICAL UNIVERSITY CAMPUS

BATHINDA,PUNJAB-151001

1

Page 2: Diary Project Report

CERTIFICATE

 

This is to certify that the Report entitled Refletion’ar which is

submitted by _____________ in partial fulfillment of the requirement

for the award of degree B.Tech in CS/IT to Rajasthan Technical

University, Kota, Rajasthan is a record of the candidate’s own

work carried out by him/her under my supervision. The matter

embodied in this thesis is original and has not been submitted for

the award of any other degree.

Date:________________ Supervisor-

:__________________

2

Page 3: Diary Project Report

ACKNOWLEDGEMENT

The satisfaction and euphoria that accompanies the successful

completion of the task, would be incomplete without mention of the people who made it

possible, because after all success is an epitome of hard work, severance, undeterred

missionary zeal, stead fast determination and most of all the encouraging guidance. So

with immense gratitude, I acknowledge all those whose guidance and encouragement

served as a beacon light and crowned my efforts with success.

I express my sincere thanks to Mr. Sahil Sharma for guiding me through the project.

His relentless encouragement and invaluable advice helped me immensely in

accomplishing my objectives.

It is my pleasure to express my gratitude to all the faculty members of PTU GZS

Campus, Bathinda, who encouraged me to carry on with this work.

I express my sincere thanks to all our friends who have either directly or indirectly

helped me in my project.

3

Page 4: Diary Project Report

ABSTRACT

This project entitled “REFLECTION’AR” is an android application developed in

Java using Eclipse IDE.

The central concept of the application is to allow the user to connect to his soul

by encouraging daily journal writing using this application. This is a diary application that

helps the user record his feelings and thoughts on certain events in his life. It acts as a

therapeutic both in good and bad days alike.

The main aim of this application is to provides the user an easy convenient

diary writing experience at the tips of his fingers. Also it provides the user with certain

additional features like application security to avoid any intrusion into his thoughts and a

‘Remind Me’ service that empowers the user to be reminded of when he has to write his

journal on a daily basis.

4

Page 5: Diary Project Report

List Of Figures

Name Of Figure Page No.Fig.1.2.1: Android Versions 9

Fig.2: Android Architecture 11

Fig.3:Activity Life cycle 12

Fig.4:Services 14

Fig.5:DVM 17

Fig.6:Data Flow 20

Fig.9:Customizing fonts 23

Fig.10:Choose font style 24

Fig.11:Choose app background 25

Fig.12:App Security 26

5

Page 6: Diary Project Report

List Of Contents

CHAPTE

R NO. TITLE

PAG

E

NO.

i.

ACKNOWLEDGEMEN

T 3

ii. ABSTRACT 4

iii. LIST OF FIGURES 5

1. INTRODUCTION 8

1.1 Android Overview 7-8

1.2 Android Versions 9

1.3 Android Architecture 9-11

1.4

Android core building

blocks 11-17

2.

Diary Application-

Overview 18

2.1Design principles and

description19

6

Page 7: Diary Project Report

2.2 Project Dictionary 19-20

2.2.1 Data Flow Diagrams 19-20

2.2.2 Data Dictionary 19-20

2.3 Output Screenshots 20-26

2.4 Scope of Project 27

3. Conclusion 28

4. References 29

7

Page 8: Diary Project Report

1. INTRODUCTION OF THE VARIOUS CONCEPTS IMPLEMENTED IN THE PROJECT

This project aims at developing a diary android application .Various concepts illustrated in

the project are :-

• Overview of Android

• Activity

• Intent

• Shared Preference

• Notification Manager

• SQLite Open Helper Class

• Services

8

Page 9: Diary Project Report

1.1 ANDROID-OVERVIEW

Android is a mobile operating system (OS) currently developed by Google, based on

the Linux kernel and designed primarily for touch screen mobile devices such as smart

phones and tablets. Android's user interface is mainly based on direct manipulation, using

touch gestures that loosely correspond to real-world actions, such as swiping, tapping and

pinching, to manipulate on-screen objects, along with a virtual keyboard for text input.

Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-

founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears

(once VP at T-Mobile), and Chris White (headed design and interface development

at WebTV) to develop, in Rubin's words, "smarter mobile devices that are more aware of its

owner's location and preferences".

Initially developed by Android, Inc., which Google bought in 2005, Android was unveiled in

2007, along with the founding of the Open Handset Alliance – a consortium of hardware,

software, and telecommunication companies devoted to advancing open standards for mobile

devices. The first commercially available smart phone running Android was the HTC Dream,

released on October 22, 2008

Android's source code is released by Google under open source licenses, although most

Android devices ultimately ship with a combination of open source and proprietary software,

including proprietary software required for accessing Google services. Android is popular

with technology companies that require a ready-made, low-cost and customizable operating

system for high-tech devices.

1.2 ANDROID VERSIONS

9

Page 10: Diary Project Report

Figure 1.2.1-Android Versions

1.3 ANDROID-ARCHITECTURE

Android architecture or Android software stack is categorized into five parts:

1. Linux kernel : It is the heart of android architecture that exists at the root of android

architecture. Linux kernel is responsible for device drivers, power management,

memory management, device management and resource access.

2. Native libraries (middleware), : On the top of linux kernel, there are Native li-

braries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc)

10

Page 11: Diary Project Report

etc.The WebKit library is responsible for browser support, SQLite is for database,

FreeType for font support, Media for playing and recording audio and video formats.

3. Android Runtime : In android runtime, there are core libraries and DVM (Dalvik Vir-

tual Machine) which is responsible to run android application. DVM is like JVM but

it is optimized for mobile devices. It consumes less memory and provides fast perfor-

mance.

4. Application Framework : On the top of Native libraries and android runtime, there is

android framework. Android framework includes Android API's such as UI (User In-

terface), telephony, resources, locations, Content Providers (data) and package man-

agers. It provides a lot of classes and interfaces for android application development.

5. Applications : On the top of android framework, there are applications. All applica-

tions such as home, contact, settings, games, browsers are using android framework

that uses android runtime and libraries. Android runtime and native libraries are using

linux kernel.

11

Page 12: Diary Project Report

Figure 2-Android Architecture

1.4 ANDROID-CORE BUILDING BLOCKS

An android component is simply a piece of code that has a well defined life cycle e.g. Activ-

ity, Receiver, Service etc.

The core building blocks or fundamental components of android are activities, views, in-

tents, services, content providers, fragments and AndroidManifest.xml.

Activity

The android Activity is the subclass of ContextThemeWrapper class.An activity is the single

screen in android. It is like window or frame of Java.An activity is a class that represents a

12

Page 13: Diary Project Report

single screen. It is like a Frame in AWT. By the help of activity, you can place all your UI

components or widgets in a single screen. Android Activity Lifecycle is controlled by 7

methods of android.app.Activity class. The 7 lifecycle method of Activity describes how ac-

tivity will behave at different states.

Figure 3-Activity Life Cycle

View

A view is the UI element such as button, label, text field etc. Anything that you see is a view.

13

Page 14: Diary Project Report

Intent

Intent is used to invoke components. It is mainly used to:

Start the service

Launch an activity

Display a web page

Display a list of contacts

Broadcast a message

Dial a phone call etc.

Intent is of two types-explicit and implicit intent. Android Explicit intent specifies the com-

ponent to be invoked from activity. In other words, we can call another activity in android by

explicit intent.

Service

Android service is a component that is used to perform operations on the background such

as playing music, handle network transactions, interacting content providers etc. It doesn't has

any UI (user interface).

The service runs in the background indefinitely even if application is destroyed.

Moreover, service can be bounded by a component to perform interactivity and inter process

communication (IPC).

The android.app.Service is subclass of ContextWrapper class.

There are two types of services local and remote. Local service is accessed from within the

application whereas remote service is accessed remotely from other applications running on

the same device.

There can be two forms of a service.The lifecycle of service can follow two different paths:

started or bound.

14

Page 15: Diary Project Report

1. Started

2. Bound

1) Started Service

A service is started when component (like activity) calls startService() method, now it runs

in the background indefinitely. It is stopped by stopService() method. The service can stop it-

self by calling the stopSelf() method.

2) Bound Service

A service is bound when another component (e.g. client) calls bindService() method. The

client can unbind the service by calling the unbindService() method.

The service cannot be stopped until all clients unbind the service.

Figure 4-Services

15

Page 16: Diary Project Report

Understanding Started and Bound Service by background music example

Suppose, I want to play music in the background, so call startService() method. But I want to

get information of the current song being played, I will bind the service that provides infor-

mation about the current song.

Content Provider

Content Providers are used to share data between the applications.

Fragment

Fragments are like parts of activity. An activity can display one or more fragments on the

screen at the same time.

AndroidManifest.xml

The AndroidManifest.xml file contains information of your package, including components

of the application such as activities, services, broadcast receivers, content providers etc. It is

like the web.xml file in Java EE

It performs some other tasks also:

It is responsible to protect the application to access any protected parts by provid-

ing the permissions.

It also declares the android API that the application is going to use.

It lists the instrumentation classes. The instrumentation classes provides profiling

and other information. These information are removed just before the application is

published etc.

This is the required xml file for all the android application and located inside the root direc-

tory.

16

Page 17: Diary Project Report

Android Virtual Device (AVD)

It is used to test the android application without the need for mobile or tablet etc. It can be

created in different configurations to emulate different types of real devices.

It uses an open source processor emulator technology called QEMU.

The emulator tool enables you to start the emulator from the command line. You need to

write:

emulator -avd <AVD NAME>

As we know the modern JVM is high performance and provides excellent memory manage-

ment. But it needs to be optimized for low-powered handheld devices as well.

The Dalvik Virtual Machine (DVM) is an android virtual machine optimized for mobile de-

vices. It optimizes the virtual machine for memory, battery life and performance. Dalvik is a

name of a town in Iceland. The Dalvik VM was written by Dan Bornstein. The Dex compiler

converts the class files into the .dex file that run on the Dalvik VM. Multiple class files are

converted into one dex file. Let's see the compiling and packaging process from the source

file:

17

Page 18: Diary Project Report

Fig 5- DVM

The javac tool compiles the java source file into the class file.

The dx tool takes all the class files of your application and generates a single .dex file. It is a

platform-specific tool.

The Android Assets Packaging Tool (aapt) handles the packaging process.

18

Page 19: Diary Project Report

2. DIARY APPLICATION-OVERVIEW

Socrates said, "Know thyself."   Keeping a daily diary helps one know oneself and express

himself more clearly. It also enables one to record special events. People take photos so they

can remember days out, parties etc. A diary is like a completely personal, written photo,

recording the things only you saw in as much or as little detail as you like. You can record

your thoughts and feelings. You remember how things made you feel on certain days or in

certain places, so your memory is more detailed. It also acts as a kind of therapy after bad

days. Getting your feelings written down on paper feels much better than keeping them to

yourself. It can also help you think about things more clearly, and maybe even help decide

how you feel about things if you are unsure. In fact, it’s therapeutic even on good days! Make

a hot drink, snuggle into a comfy chair, and take half an hour just for you and your diary. It

feels great! One can also improve their writing skills. Sometimes, we don’t appreciate what

we achieve – writing down a challenge you overcame and how you did it makes you realise

this! On the other hand, you can understand things you could have done better, if you have to

write something down and consider it.

19

Page 20: Diary Project Report

2.1 DESIGN PRINCIPLES & EXPLANATION

This helps us to analyze the different functions that are to be performed.

An android based diary application makes it easier for users to record their thoughts and

feelings in one place to recollect their memories of events in the near future. Universality

of android device motivates to make better use of this technology.

The main objective is maintenance of diary in a mobile device. In this application the user

is able to create the diary entries according to the specific dates. The user can update an

existing entry. The user can view a previous entry of the selected date. The user may

select the diary entry as by selecting the date from the date picker. The user is also being

given the feature of securing their diary application by setting a password to their

application.

The user may customize their diary entry using different backgrounds .

The user can also increase or decrease the font size. The user may also change the font

style of the diary entry text to make it more appealing as per the user requirement. The

user may also delete the diary entry by clicking the delete icon. The user also has a

feature of setting a notification for writing the daily diary entry.

2.2 PROJECT DICTIONARY

2.2.1 Data Flow

20

Page 21: Diary Project Report

Figure 6-Data Flow

2.3 OUTPUT SCREEN-SHOTS

21

Page 22: Diary Project Report

Splash Screen

Figure 7-Splash Screen

22

Page 23: Diary Project Report

Diary Entry

Figure 8-Diary Entry

23

Page 24: Diary Project Report

Customizing Font Size

Figure 9-Customizing Fonts

24

Page 25: Diary Project Report

Customizing Fonts

Figure 10-Choose Font styl

25

Page 26: Diary Project Report

Customizing Background

Figure 11-Choose App Background

26

Page 27: Diary Project Report

App Security

Figure 12-App security

27

Page 28: Diary Project Report

2.4 Scope of the projectThis project mainly deals with the daily capture of the thoughts , feelings and moods of a

person all in one place in a very convenient way. This project allows the user to write his/her

diary in a very convenient way at just a few clicks of his fingertips. It also allows the users to

keep his/her thoughts se

cure in one place away from prying eyes by providing a safe secure password method. It also

in a way makes daily diary writing a habit with the feature of setting an alarm for the same to

remind the user.

EXISTING SYSTEM:

Paper diaries have been used since ages for penning down one’s thoughts on paper, hence

developing a better relationship with oneself. These are not as convenient as a mobile diary

application. One needs to carry it to every place one may go. Moreover it has the possibility

of being torn or damaged and hence losing out on some precious memories of past moments.

Paper diaries usually have no way of being secure in some way. They are always open to

prying eyes which may act as an intrusion to our lives and thoughts. Removal of diary entries

is not that convenient for the user. Editing or modifying a record required way is not possible.

PROPOSED SYSTEM: In the proposed system it overcomes the disadvantages of the existing system. The system is

totally online, that is we need not move the diary from one place to other to record our

thoughts, it is not a time taking process. It has no possibility of being torn. It is also secure as

it has a password protection feature enabled. Moreover one can also be reminded of to update

the daily diary hence making it a good habit in the individual. Removal of any entries is very

easy and can be done at a single click of fingertips. Editing and modifying an existing diary

entry is as easy as ABC. Hence diary writing is no longer a tough feat!

28

Page 29: Diary Project Report

3. CONCLUSION

The central concept of this application is to provide the user with a convenient diary writing

experience. They can write diary in a much more convenient way as compared to the

conventional paper diary writing. The entries are stored and are maintained in an efficient

way away from prying eyes in a secure manner.

Data entry into the application can be done by selecting a particular date and writing the diary

entry corresponding to the date. Diary writing becomes a habit as one is reminded of updating

a daily entry by a reminder set. One can customize the diary entry by specifying different font

sizes, different font styles, different font colors etc. One can easily delete the previous diary

entries that one no longer wants. Updating or editing a previous entry is also easier than the

usual diary writing just a few clicks away.

The concept of an android based diary application has changed the way we record memoirs.

Like every coin has two faces, it is bound to have some demerits along with the merits. It can

lead to greater dependency on the gadgets for diary writing and on reminders for reminding

things instead of the human memory but as advancements in technology are going on, more

number of people would be going for diary writing the ‘e-way’.

29

Page 30: Diary Project Report

REFERENCES

www.google.com(Google)

www.javatpoint.com (Javatpoint)

www.tutorialspoint.com (TutorialsPoint)

www.wikipedia.org (Wikipedia)

Vogella(www.vogella.com)

30

Page 31: Diary Project Report

31