Sie sind auf Seite 1von 31

Project Report

On
REFLECTIONAR-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

CERTIFICATE

This is to certify that the Report entitled Refletionar 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 candidates 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-

:__________________

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.

ABSTRACT
This project entitled REFLECTIONAR 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.

List Of Figures
Name Of Figure

Page No.

Fig.1.2.1: Android Versions

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

List Of Contents

PAG
CHAPTE
R NO.

E
TITLE

NO.

ACKNOWLEDGEMEN

1.

i. T

ii. ABSTRACT

iii. LIST OF FIGURES

INTRODUCTION

1.1

Android Overview

7-8

1.2

Android Versions

1.3

Android Architecture

9-11

Android core building


1.4

blocks

11-17

Diary Application2.

Overview

18

Design principles and


2.1

description

19

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

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

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 (cofounder 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

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
libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library
10

(libc) 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
Virtual 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
performance.
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
Interface), telephony, resources, locations, Content Providers (data) and package
managers. It provides a lot of classes and interfaces for android application
development.
5. Applications : On the top of android framework, there are applications. All
applications 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

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.
Activity, Receiver, Service etc.
The core building blocks or fundamental components of android are activities, views,
intents, 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
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
12

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


activity 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.
Intent
Intent is used to invoke components. It is mainly used to:
13

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
component 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.
1. Started
14

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
itself 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

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
information 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


providing 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
directory.

16

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
management. 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
devices. 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

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

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, its 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 dont 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

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

Figure 6-Data Flow

2.3 OUTPUT SCREEN-SHOTS

21

Splash Screen

Figure 7-Splash Screen

22

Diary Entry

Figure 8-Diary Entry

23

Customizing Font Size

Figure 9-Customizing Fonts

24

Customizing Fonts

Figure 10-Choose Font styl

25

Customizing Background

Figure 11-Choose App Background

26

App Security

Figure 12-App security

27

2.4 Scope of the project


This 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 ones 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

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

REFERENCES

www.google.com(Google)
www.javatpoint.com (Javatpoint)
www.tutorialspoint.com (TutorialsPoint)

www.wikipedia.org (Wikipedia)
Vogella(www.vogella.com)

30

31

Das könnte Ihnen auch gefallen