Remind My Schedule Android Application A

Transcript Of Remind My Schedule Android Application A
REMIND MY SCHEDULE – ANDROID APPLICATION
A Project
Presented to the faculty of the Department of Computer Science California State University, Sacramento
Submitted in partial satisfaction of the requirements for the degree of
MASTER OF SCIENCE in
Computer Science by
Vineeta Bhagbole FALL 2015
REMIND MY SCHEDULE – ANDROID APPLICATION A Project by
Vineeta Bhagbole
Approved by: __________________________________, Committee Chair Dr. Jinsong Ouyang __________________________________, Second Reader Dr. Jun Dai ____________________________ Date
ii
Student: Vineeta Bhagbole
I certify that this student has met the requirements for format contained in the University format manual, and that this project is suitable for shelving in the Library and credit is to be awarded for the Project.
__________________________, Graduate Coordinator Dr. Jinsong Ouyang
________________ Date
Department of Computer Science
iii
Abstract of
REMIND MY SCHEDULE – ANDROID APPLICATION by
Vineeta Bhagbole
In today’s fast paced life, keeping track of all the events which has travel schedules is a tedious task. Though there are number of event reminder and calendar applications available for android, none of them supports dynamic reminders based on user’s current location. All the current available applications give an event reminder before a fixed amount of time from the event start time.
Also, in the current available apps, a user has to separately feed information about all the events with travel plans for which he/she wants to get reminders. A user can set a fixed time for notifications to be sent before the event occurs. This requires estimation of the time required for travel to reach the destination location from a fixed start location and accordingly set the notification time to avoid delays reaching the destination. This estimation goes wrong if user starts travelling from different start location. This could lead to delays or even completely missing the event.
iv
With my “RemindMySchedule” android application I am proposing a solution to the above problem. This application will send dynamic notifications based on user’s current location, mode of travel, and importance of the schedule. App will automatically sync only those events which have travel information and send dynamic notifications. Notification will also include travel route information for users to start navigation. “RemindMySchedule” also provides the event specific location sharing among selected group of members to keep track of each other’s whereabouts. The application has been implemented using Android and its services for the front end. _______________________, Committee Chair Dr. Jinsong Ouyang _______________________ Date
v
ACKNOWLEDGEMENTS I would like to express my gratitude to Dr. Jinsong Ouyang, my project advisor for providing me an opportunity to work on this project, which gave me a great exposure to develop the skills towards Android Application Development. I thank him for his generous advice and encouragement which helped me to complete the project successfully. In addition, my gratitude is extended to Dr. Jun Dai for his willingness to serve on the committee. Lastly, I would like to thank the entire faculty and staff of the Department of Computer Science Engineering at California State University, Sacramento.
vi
TABLE OF CONTENTS Page
Acknowledgements............................................................................................................ vi List of Figures ......................................................................................................................x Chapter 1. INTRODUCTION .........................................................................................................1 2. PROJECT REQUIREMENTS.......................................................................................3
2.1 User Requirements...................................................................................................3 2.2 View Scheduled Events ...........................................................................................4 2.3 Event Profiling .........................................................................................................4 2.4 Settings.....................................................................................................................5 2.5 Notifying User .........................................................................................................6
2.5.1 Factors considered for notification time .........................................................6 2.6 Sharing Location with Others ..................................................................................7 2.7 System Requirements...............................................................................................8
2.7.1 Software requirements ....................................................................................8 2.7.2 Hardware requirements ...................................................................................8 3. ANDROID FRAMEWORK AND SOFTWARE ENVIRONMENT............................9 3.1 Components in Android Application .......................................................................9 3.1.1 Activities .......................................................................................................10 3.1.2 Fragments......................................................................................................13
vii
3.1.3 Services .........................................................................................................14 3.1.4 Broadcast Receivers......................................................................................17 3.2 Setup for Android Application Development ........................................................21 3.2.1 Prerequisite installations ...............................................................................21 3.3 Creating “Hello World” Sample Android Application ..........................................24 3.4 Running the App ....................................................................................................28 3.4.1 Installing and running an app on physical device .........................................28 3.4.2 Running an app on emulator .........................................................................28 4. FEATURES IMPLEMENTATION - REMINDMYSCHEDULE ..............................29 4.1 Application Installation..........................................................................................29 4.1.1 Login information .........................................................................................29 4.1.2 Choose an account ........................................................................................31 4.2 Application Home Page .........................................................................................33 4.3 Event Details ..........................................................................................................35 4.3.1 Event date and time.......................................................................................36 4.3.2 Travel route ...................................................................................................36 4.3.3 Check-in ........................................................................................................37 4.3.4 Setting policies for an event..........................................................................38 4.4 Reminder Settings ..................................................................................................41 4.5 Show Notifications.................................................................................................42 4.5.1 Time to send notification ..............................................................................45
viii
4.6 Check-In and Location Sharing .............................................................................48 4.6.1 Location sharing among group of friends .....................................................51
4.7 Application Testing................................................................................................56 4.7.1 Dynamic notification ....................................................................................56 4.7.2 Location sharing............................................................................................60
4.8 Future Work ...........................................................................................................64 5. CONCLUSION............................................................................................................65 References ..........................................................................................................................66
ix
LIST OF FIGURES
Figures
Page
Figure 2.1 RemindMySchedule Use Case Diagram ............................................................3
Figure 2.2 Display Scheduled Events ..................................................................................4
Figure 2.3 Profiling an Event...............................................................................................5
Figure 2.4 Location Sharing with Others.............................................................................7
Figure 3.1 Android Activity Life Cycle.............................................................................12
Figure 3.2 Android Service Life Cycle..............................................................................16
Figure 3.3 Steps to Make BroadcastReceiver ....................................................................17
Figure 3.4 Development Phases in an Android Application..............................................23
Figure 3.5 Starting New Android Project ..........................................................................24
Figure 3.6 Creating New Android Project .........................................................................25
Figure 3.7 “Hello World” Android Application ................................................................26
Figure 3.8 Default File Layout...........................................................................................27
Figure 4.1 Application Installation – Login Screen...........................................................29
Figure 4.2 Choose an Account...........................................................................................31
Figure 4.3 Application Home Page....................................................................................33
Figure 4.4 Event Details ....................................................................................................35
x
A Project
Presented to the faculty of the Department of Computer Science California State University, Sacramento
Submitted in partial satisfaction of the requirements for the degree of
MASTER OF SCIENCE in
Computer Science by
Vineeta Bhagbole FALL 2015
REMIND MY SCHEDULE – ANDROID APPLICATION A Project by
Vineeta Bhagbole
Approved by: __________________________________, Committee Chair Dr. Jinsong Ouyang __________________________________, Second Reader Dr. Jun Dai ____________________________ Date
ii
Student: Vineeta Bhagbole
I certify that this student has met the requirements for format contained in the University format manual, and that this project is suitable for shelving in the Library and credit is to be awarded for the Project.
__________________________, Graduate Coordinator Dr. Jinsong Ouyang
________________ Date
Department of Computer Science
iii
Abstract of
REMIND MY SCHEDULE – ANDROID APPLICATION by
Vineeta Bhagbole
In today’s fast paced life, keeping track of all the events which has travel schedules is a tedious task. Though there are number of event reminder and calendar applications available for android, none of them supports dynamic reminders based on user’s current location. All the current available applications give an event reminder before a fixed amount of time from the event start time.
Also, in the current available apps, a user has to separately feed information about all the events with travel plans for which he/she wants to get reminders. A user can set a fixed time for notifications to be sent before the event occurs. This requires estimation of the time required for travel to reach the destination location from a fixed start location and accordingly set the notification time to avoid delays reaching the destination. This estimation goes wrong if user starts travelling from different start location. This could lead to delays or even completely missing the event.
iv
With my “RemindMySchedule” android application I am proposing a solution to the above problem. This application will send dynamic notifications based on user’s current location, mode of travel, and importance of the schedule. App will automatically sync only those events which have travel information and send dynamic notifications. Notification will also include travel route information for users to start navigation. “RemindMySchedule” also provides the event specific location sharing among selected group of members to keep track of each other’s whereabouts. The application has been implemented using Android and its services for the front end. _______________________, Committee Chair Dr. Jinsong Ouyang _______________________ Date
v
ACKNOWLEDGEMENTS I would like to express my gratitude to Dr. Jinsong Ouyang, my project advisor for providing me an opportunity to work on this project, which gave me a great exposure to develop the skills towards Android Application Development. I thank him for his generous advice and encouragement which helped me to complete the project successfully. In addition, my gratitude is extended to Dr. Jun Dai for his willingness to serve on the committee. Lastly, I would like to thank the entire faculty and staff of the Department of Computer Science Engineering at California State University, Sacramento.
vi
TABLE OF CONTENTS Page
Acknowledgements............................................................................................................ vi List of Figures ......................................................................................................................x Chapter 1. INTRODUCTION .........................................................................................................1 2. PROJECT REQUIREMENTS.......................................................................................3
2.1 User Requirements...................................................................................................3 2.2 View Scheduled Events ...........................................................................................4 2.3 Event Profiling .........................................................................................................4 2.4 Settings.....................................................................................................................5 2.5 Notifying User .........................................................................................................6
2.5.1 Factors considered for notification time .........................................................6 2.6 Sharing Location with Others ..................................................................................7 2.7 System Requirements...............................................................................................8
2.7.1 Software requirements ....................................................................................8 2.7.2 Hardware requirements ...................................................................................8 3. ANDROID FRAMEWORK AND SOFTWARE ENVIRONMENT............................9 3.1 Components in Android Application .......................................................................9 3.1.1 Activities .......................................................................................................10 3.1.2 Fragments......................................................................................................13
vii
3.1.3 Services .........................................................................................................14 3.1.4 Broadcast Receivers......................................................................................17 3.2 Setup for Android Application Development ........................................................21 3.2.1 Prerequisite installations ...............................................................................21 3.3 Creating “Hello World” Sample Android Application ..........................................24 3.4 Running the App ....................................................................................................28 3.4.1 Installing and running an app on physical device .........................................28 3.4.2 Running an app on emulator .........................................................................28 4. FEATURES IMPLEMENTATION - REMINDMYSCHEDULE ..............................29 4.1 Application Installation..........................................................................................29 4.1.1 Login information .........................................................................................29 4.1.2 Choose an account ........................................................................................31 4.2 Application Home Page .........................................................................................33 4.3 Event Details ..........................................................................................................35 4.3.1 Event date and time.......................................................................................36 4.3.2 Travel route ...................................................................................................36 4.3.3 Check-in ........................................................................................................37 4.3.4 Setting policies for an event..........................................................................38 4.4 Reminder Settings ..................................................................................................41 4.5 Show Notifications.................................................................................................42 4.5.1 Time to send notification ..............................................................................45
viii
4.6 Check-In and Location Sharing .............................................................................48 4.6.1 Location sharing among group of friends .....................................................51
4.7 Application Testing................................................................................................56 4.7.1 Dynamic notification ....................................................................................56 4.7.2 Location sharing............................................................................................60
4.8 Future Work ...........................................................................................................64 5. CONCLUSION............................................................................................................65 References ..........................................................................................................................66
ix
LIST OF FIGURES
Figures
Page
Figure 2.1 RemindMySchedule Use Case Diagram ............................................................3
Figure 2.2 Display Scheduled Events ..................................................................................4
Figure 2.3 Profiling an Event...............................................................................................5
Figure 2.4 Location Sharing with Others.............................................................................7
Figure 3.1 Android Activity Life Cycle.............................................................................12
Figure 3.2 Android Service Life Cycle..............................................................................16
Figure 3.3 Steps to Make BroadcastReceiver ....................................................................17
Figure 3.4 Development Phases in an Android Application..............................................23
Figure 3.5 Starting New Android Project ..........................................................................24
Figure 3.6 Creating New Android Project .........................................................................25
Figure 3.7 “Hello World” Android Application ................................................................26
Figure 3.8 Default File Layout...........................................................................................27
Figure 4.1 Application Installation – Login Screen...........................................................29
Figure 4.2 Choose an Account...........................................................................................31
Figure 4.3 Application Home Page....................................................................................33
Figure 4.4 Event Details ....................................................................................................35
x