Upload
komal-salwan
View
41
Download
2
Embed Size (px)
DESCRIPTION
It is a minor project report n diary application based on android
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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, 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
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 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
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