Android Based Appointment Scheduler and Location Helper using file operation



Similar documents
IceWarp to IceWarp Server Migration

Bluetooth Messenger: an Android Messenger app based on Bluetooth Connectivity

Grant Management System Training Guide Module 9 Notification Center Home Dashboard Ver 6.1 Updated:

Introduction to Python

Faculty & Staff Guide for Outlook Web App (OWA) Prepared by Information Technology Division Lehman College July 11, 2013

Remote Android Assistant with Global Positioning System Tracking

LICENSE4J FLOATING LICENSE SERVER USER GUIDE

ITG Software Engineering

Using Outlook Outlook Screen

Generate Android App

Despatch Manager Online

An in-building multi-server cloud system based on shortest Path algorithm depending on the distance and measured Signal strength

Outlook Web Access (OWA) Cheat Sheet

Microsoft Office 365 Outlook Web App (OWA)

CITY OF BURLINGTON PUBLIC SCHOOLS MICROSOFT EXCHANGE 2010 OUTLOOK WEB APP USERS GUIDE

RESCO MOBILE CRM USER GUIDE. Access your CRM data on any mobile platform ipad, iphone, Android, Windows Phone or Win XP/Vista/7/8

Produced by: Flinders University Centre for Educational ICT

Appointment Schedule and Online Messaging Help Guide

Microsoft Outlook Web App (OWA)

ViewPower. User s Manual. Management Software for Uninterruptible Power Supply Systems

SA-9600 Surface Area Software Manual

Law School Computing Services User Memo

CS420: Operating Systems OS Services & System Calls

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Microsoft Office 365 Outlook Web App (OWA)

Exercise 1: Python Language Basics

A Survey on Mobile Forensic for Android Smartphones

Microsoft Outlook 2003 Basic Guide

Outlook basics. Identify user interface elements that you can use to accomplish basic tasks.

Instructions for Configuring Your Browser Settings and Online Security FAQ s. ios8 Settings for iphone and ipad app

Microsoft Outlook 2013 Part 1: Introduction to Outlook

LIBRARY ACCESS SYSTEM SMARTPHONE APPLICATION USING ANDROID

Lotus Notes 8.5 to Office 365 for business

DLP Quick Start

Microsoft Outlook And- Outlook Web App (OWA) Using Office 365

Android Mobile App Building Tutorial

Outlook 2010 Essentials

Orientation Course - Lab Manual

Core Essentials. Outlook Module 1. Diocese of St. Petersburg Office of Training

Lotus Notes Client Version 8.5 Reference Guide

Kaseya 2. User Guide. Version 7.0. English

PolyU Service. MS Outlook User Manual

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

Practical Android Projects Lucas Jordan Pieter Greyling

Microsoft Outlook 2011 The Essentials

SAP Business One mobile app for Android

Analysis of advanced issues in mobile security in android operating system

Implementing SAAS: Cloud Computing and Android Based Application Framework for C Programming

Module One: Getting Started Opening Outlook Setting Up Outlook for the First Time Understanding the Interface...

National Fire Incident Reporting System (NFIRS 5.0) NFIRS Data Entry/Validation Tool Users Guide

Using RAID Admin and Disk Utility

Introduction. POP and IMAP Servers. MAC1028 June 2007

Outlook . User Guide IS TRAINING CENTER. 833 Chestnut St, Suite 600. Philadelphia, PA

Amazon WorkMail. User Guide Version 1.0

Office of History. Using Code ZH Document Management System

Student Attendance Through Mobile Devices

HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App

Microsoft Outlook Tips & Tricks

Henrico County Public Schools

Hands-on Exercise 1: VBA Coding Basics

WatchDox Administrator's Guide. Application Version 3.7.5

Student Attendance Tracker System in Android

CLC Server Command Line Tools USER MANUAL

Outlook Web App McKinney ISD 5/27/2011

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

If you encounter difficulty or need further assistance the Archdiocesan help desk can be reached at (410) , option 1. Access Methods:

Generating Automated Test Scripts for AltioLive using QF Test

Class Objectives. Introduction. Intermediate Outlook Features. Setting up Outlook

SeeTec ExpansionPackage

Test Automation Integration with Test Management QAComplete

Net 2. NetApp Electronic Library. User Guide for Net 2 Client Version 6.0a

Microsoft Outlook 2013 Part 2: Intermediate Outlook

Operational Decision Manager Worklight Integration

Module 5. Control Panel Utilities

This handout, along with additional supporting Outlook handouts, and other information can be found at

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

Magento Integration Manual (Version /24/2014)

Stores copies of items you sent to others, by default. Stores items created offline that you want to send the next time you are online

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Python for Series 60 Platform

Virtual Office Module. View Calendar. Add Personal Event. Add Global Event. View All. View Personal

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS

Troubleshooting / FAQ

[Jet-Magento Integration]

at Bradford - Outlook

OUTLOOK 2010 BCC AND FROM FIELDS SETTINGS

Customization & Enhancement Guide. Table of Contents. Index Page. Using This Document

Kerio Connect. Kerio Connect Client. Kerio Technologies

Smart Shopping- An Android Based Shopping Application

Getting started 7. Designing interfaces 27

Windows Scheduled Task and PowerShell Scheduled Job Management Pack Guide for Operations Manager 2012

Homework 9 Android App for Weather Forecast

Installing the Android SDK

IRDA TRAINEE User Manual

Handle Tool. User Manual

Changes to Skillnet Group s. Outlook and Outlook Express Users

IBM Emptoris Contract Management. Release Notes. Version GI

Setting up Sudoku example on Android Studio

Transcription:

IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 2, Ver. XI (Mar-Apr. 2014), PP 71-75 Android Based Appointment Scheduler and Location Helper using file operation Kujur Preeti Nancy, Pooja ESL, Chandannagar Lab, West Bengal, India Abstract: With the development of Android OS, an open source operating system has created an android world and enhance the software development skills, where developers are creating new application for Android devices. Application are typically developed using Java programming language using the Android Software Development Kit but another languages such as Python being dynamically typed is more preferable nowadays compared to Java. Here we created an Offline Android Application-Appointment Scheduler and Location Helper using File operation. Moreover in this application user can schedule his appointment and the user can get to know the path and direction of any nearby places by Location Helper. I. Introduction: Python: Python is a dynamic typed,multi-paradigm programing language created by Guido Van Rossum. It almost run on every operating system such as Win, Linux/Unix, Mac, OS/2 etc. Python has a large standard Library which is one of the greatest strength of this high-level language as it provide tools for achieving various task in a flexible manner. Python over Java: Python is easy to learn, use and read compared to Java. Significantly, Python programs are shorter compared to Java. Due to the dictionary feature and list s flexibility of python it has been easy to achieve task with less complicacy. Python also allows run-time typing. Android Operating System: Android is open source based Linux kernel operating system mostly designed for touchscreen for mobile devices such as mobile phones and tablet computers. Android is known to be the best operating system and the fastest emerging one, with user-friendly GUI, open to all with lots of application and amazing features. Scripting Layer for Android: Scripting Layer for Android (sl4a) is a library, designed for developers, for creating and running of scripts written in various scripting languages directly on Android devices. Scripts can access Application Programming Interface (API) which is library, usually a set of classes with set of function assigned for performing different works, also specifying the interaction between software components. Motivation: As the development of Android is at rapid pace with various online application which uses database for storing relevant information of users and comes with a problem that once in a while user may not have an internet access which makes an application idle with no use and henceforth android users search for Offline applications. Taking this problem into consideration, we intent to design an Android Offline Application- Appointment Scheduler and Location using File Operation instead of database. Moreover, we have work in various features on the application using files to store users relevant information and we have used our algorithm for fetching information from a file using various types of file operation. II. Methodology: Appointment Request: This will send a message asking for an appointment to the sender. Step1: Create an Alert dialog asking Do you want to have an appointment. Step2: If user press positive button then 2.1: Ask for the number with whom he want to have an appointment and the time of appointment. 2.2: Send the message to the number with text in the format of firstname lastname time. Step3: No work is performed when user press negative button. Step4: End of Algorithm 71 Page

Deleting Appointment: After the appointment time is over, this algorithm will automatically delete the appointment fetching data from file. Step 1: Open a file (appo.txt) in a read mode and fetch the file as a dictionary say app= {}. Step2: Fetching the system time and split on the basis of blank spaces ( ) and present time is selected. Step3: Check for each keys in app dictionary- If ending time is smaller than present time then delete that key from the dictionary. Step 4: Again open a file (appo.txt) in a write mode and write the altered dictionary (app) into the same file. Step5: End of Algorithm. III. Appointment Scheduler: One of the most important feature, where the user will reject or accept the appointment request depending upon the time schedule and priority assigned to people by user. Step 1: Using smsgetmessage() function, fetch the unread request(messages) from inbox. Step 2: Copy the body of message to text. And split it on the basis of blank spaces ( ) and is stroed as List, tem=[]. Step 3: Append the temp item in the another list, name=[] such as name[0] is firstname, name[1] is lastname and name[2] is the starting time of appointment. Fetch name[2] and store as tm_start. Step4: Pop a dialog to get an input- how long you want to have appointmnet and store the result as tm_span. Step 5: Add the tm_start to tm_span to get tm_end.(tm_end=tm_start+tm_span). Step 6: Open a file (appo.txt) in read mode where the approved appointment is stored (as phone no : [ firstname, lastname, tm_start, tm_end ]) and retrieve the data as a dictionary, temp= {}. Step 7: For each keys i in dictionary (temp.keys ()) 7.1: If the tm_start and tm_end lies within a single approved appointment Increament the the count and set the flag. Store the value of i,i.e. key in x variable. Step 8: Check if flag is set AND (&-operator) count is equal to 1 8.1: Create dictionary, priority={}. 8.2: Open a file (cntct.txt) in a read mode where contact details along with priority of approved appointment is stored (as firstname \t lastame \t phone no \t priority \n ). 8.3: Split on the basis of new line( \n ) and store it in list, s=[] 8.4: for each item i in length of list s[] i. Split item, s[i] depending on tab space ( \t ) and is stored as list,p=[] ii. Store the phone no. as Keys and priority as value of key in a priority= {}. 8.5: If the appointment requester is not present in priority.keys() i.append as "\n"+firstname+"\t"+lastname+"\t"+phone no+"\t"+"1" where 1=Default priority to previously read file of contact details. ii. Open a file (cntct.txt) in a write mode and write the altered file. 8.6: If the value of x (phone no of the already approved appointment) is equal to the appointment requester (x=a) (here a is appointment requester) i.update an appointment(temp[a]=[name[0],name[1],tm_start,tm_end]) ii.send a message to requester- Appointment has been Updated. Else if priority of a (requester) is greater than priority of x (approved) i.update an appointment for recent requester (temp[a]=[name[0],name[1],tm_start,tm_end]) ii. Send a message to recent requester- Appointmnet Approved. iii. Call the function timeslots(). Go to step 9. iii.fetch the return value of function and Send a message to previously approved- Appointment Cancelled and empty time slots. Else: //recent requester not approved. i.call the function timeslots() Go to step 9. ii. Fetch the return value of function and Send a message to previously approved- Appointment Cancelled and empty time slots. 72 Page

Step 9: timeslots() //function 9.1:For each key i in dictionary temp (temp is dictionary stores approved appointment) i.store the tm_start,tm_end of eah key in an list, arr=[] 9.2: For each item k in list, arr=[] i.split arr[k][0] (starting time) on basis of (. ) and is stored in an list, m=[] where m[0] is hours and m[1] is minutes. ii.convert the tm_start into minutes.(d1=m[0]*60+m[1] ) iii. Split arr[k-1][1] (ending time of previous) on the basis of (. ) and is stored in list,n=[] iv. Convert the tm_end into minutes.(d2=n[0]*60+n[1] ) v.difference between the starting time of k and ending time of previous (k-1) will give the time of empty time slots. vi. If the difference is greater than equal to 30min then: return difference,arr[k][0],arr[k-1][1] //string conversion of these time slots. Step 10: If flag is not set Then Check if a ( appointment requester ) is not present in dictionary,temp. Make a new entry to the dictionary as temp[a]=[name[0],name[1],tm_start,tm_end] Send the message to requester Appointmnet Approved. Else if a is present in dictionary, temp Update an appointment as temp[a]=[name[0],name[1],tm_start,tm_end] Send the message- Appointmnet Upadated.. Step 11: Open a file (appo.txt) in a write mode and write the altered file into the same file. Step 12: End of Algorithm. Alarm: Here. User will be alarm few minutes before the starting time of appointment.and user also has Snooze option. Step1: Get an input from user to Enter the time for snooze, say threshold. Step2: Open a file (appo.txt) in a read mode and storing it as a dictionary, say temp= {}. 73 Page

Step3: Start an infinite loop 3.1: Fetch the system time and store it as a list after splitting it on the basis of blank spaces ( ). 3.2: Convert the time into minutes (hours*60+minutes) and store as say, present time 3.3: for each keys in dictionary (temp) 3.3.1: Fetch the starting time of the key whose values is stored in the form of a list. 3.3.2: Splitting the time depending on (. ) and storing it in list. 3.3.3: Converting the splitted time into minutes by fetching each item from list and converting in an integer and applying Hours*60+remaining minutes. Store as app time. 3.3.4: Calculate the difference between the present time and app time, say diff. 3.3.5: If threshold is equal to diff Then Pop-up a dialog box as an alert asking for Snoozing (Positive button) and Dismissing (Negative Button). If user press Snooze button then o Ask for entering the time of snooze. o Change the minutes into seconds (sec=min*60). o Calling sleep () function of time module which has the snooze seconds as argument. Else Display- Alarm over. Call a break keyword to exit from all the loops. Step4: End of Algorithm. Admin Part: This is feature each appointment is displayed to user asking for whether he want to accept or drop the appointment.according to the user desire file is altered. Step1: Open a file where appointment is stored in read mode and store it as dictionary, say ap= {} Step2: For each keys in dictionary (ap) 2.1: Create an alert dialog asking for Final Approvement of Appointment stored in a file with positive (ACCEPT) and negative buttons (DECLINE). 2.2: If user response to Negative Button then 2.2.1: Send a message- Appointment is cancelled to that key. 2.2.2: Delete that key from the Dictionary. 2.3: Else response to Positive Button then 2.3.1: Display Confirmed. Step3: Open a file (appo.txt) in write mode and write the final dictionary (ap) to the file. Step4: End of Algorithm. Path & Location Helper: This features helps the user to track all the nearby places after entering the source point and the destination (place) he want to search.in this the places along with their distance is stored in an file as to avoid complexity of database. Step 1: Get Input for Source point (where you are?) Step 2: Get Input for Destination point (Enter the place you want to find?) Step3: Take empty list t4= []. Step 4: Open a file (loc.txt) in read mode where all the location with the distance between to places is stored in.csv (comma separated values) format. Step 5: Splitting the file depending on new line (split ( \n )) in the file and is stored as the list, say temp= []. Step 6: for each item in list (temp= []) 6.1: Splitting the item depending on comma (, ) and storing it again in a temporary list, say s= []. 6.2: Check If source is present in the list(s= []) 6.2.1: If destination is present Display the distance of Source from destination to the user. Else: 1. If source is store at position s [0] (list) then: 1.1: Consider hop equal to s [1] and call the function by passing value of hop as argument say, check (hop) 1.2: Go to step7. 1.3: For each value k in list say, t4= [] 1.3.1: Cal distance= s [4] + t4 [k] [4] 74 Page

1.3.2: Display the distance from source to destination taking one hop 2: Else if source is store at s [1] position in a list (s) then: 2.1: Consider hop equal to s [0] and call the same function by passing value of hop as argument say, check (hop). 2.2: Go to step 7. 2.3: For each value in list say, t4= [] 2.3.1: Cal. distance= s [4] + t4 [k] [4] 2.3.2: Display the distance from source to destination taking one hop. Step 7: Compute function for each hop, check (hop) 7.1: for each item ( i ) in the splitted list temp= [] (on the basis of ( \n )) 7.1.1: Splitting the item depending on comma (, ) and storing it again in a temporary list, say top= []. 7.1.2: Check if the hop present in list, top AND (& operator) destination point present in list, top (for same i) 1. Append top to t4. 2. Return t4. Go to step 6. Step 8: End of Algorithm. IV. Conclusion: This Application is designed in order to show the advantages of file operation over database. The algorithm show the flexibility of using file for different operation and also to avoid the complexity of the database as storing a database requires physical memory. I would like to show my sincere gratitude to Sir Avranil Tah, who have motivated and directed me throughout the project. V. Future Work: We will work more on the File operation over database to make it more efficient and will include various features to the application to make it more interactive among user. 75 Page