The Implementation Of The Pedotrac Android Application Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Pedotrac is a health and fitness application for android based phones, which has elegant features and also a fun way of maintaining fitness right through the android phones. This application lets the user to track his daily weight loss, calories burnt; distance covered by the user and also tracks the path or route of his/her walk.

Pedotrac is an application that as said counts the number of steps, calories burnt and distance covered. This is different from other stand alone applications since this can be installed on modern mobile devices that have sensors and GPS capabilities and offer platforms for such applications. This pedotrac keeps track of the users' distance and alert them during the half-way point in their path. This implementation is done by using Google Android SDK, java and Google APIs that are designed especially for android devices.

Agile development is a way of breaking large and complex tasks into smaller modules with minimal planning and avoids long term planning. The modules are iterations of short time frames that range between one to four weeks. Though it is short term planning, the iteration includes all the software development cycle methods starting from planning to requirements, analysis, design, coding, unit testing and also acceptance testing to ensure that a working product is finally delivered after integration. This agile development method minimizes the risk involved in the project, makes it easier to adapt changes quickly thereby reducing the problem of changing the entire project and developing from the scratch if a large project is taken up as it is.

The agile methods involve face to face communication with a smaller group of people working on smaller modules there by contacting each other through emails, voice etc. Since the present project is developed by a single person, there are no teams but the whole task is divided into 5 smaller modules each of which is a separate story and is discussed in the coming sections.

The Android platform:

Developers have been using four versions of Android namely:

Android 1.5 (Cupcake)

Android 1.6 (Donut)

Android 2.1 (Eclair)

Android 2.2 (FroYo)

3.1 History of Android:

Android is an operating system designed especially for mobile devices, initially developed by android inc., that which later was purchased by Google in the year 2005. Android is a modified version of Linux kernel. The members of Open Handset alliance and Google collaborated to release and develop the Android. Android is further tasked for maintenance and development by an open source project called Android open source project (AOSP). The unit sales for Android based smart phones ranked first among all smart phone OS handsets sold in the US in the 2nd and 3rd quarters of 2010 with market share of 43.6 %.

The currently available 100,000 apps or application programs are developed by a large community of developers to extend the functionality of the devices. These apps are written in Java language by the developers and control the device via Google-developed Java libraries. The unveiling of android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 78 hardware, software and telecom companies that devoted to advancing open standards for mobile devices. The android code was released by Google under free software and an open source license called the Apache license.

This Android operating system software is a set of Java applications that run on a Java based object oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. This Android operating system consists of 12 million lines of code in which 3 million are XML, 2.8 million of C, 2.1 million of Java and 1.75 million lines C++ code.

Features of Android:

Android is not just operating system software but also includes middleware and key applications. For developing applications on Android platform, the Android SDK provides the tools and APIs and allows the usage of Java programming language. The main features include:

Application framework enabling reuse and replacement of components

Dalvik virtual machine optimized for mobile devices

Integrated browser based on the open source WebKit engine

Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

SQLite for structured data storage

Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony (hardware dependent)

Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

Camera, GPS, compass, and accelerometer (hardware dependent)

Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android architecture:


Android includes a set of applications such as e-mail client, SMS program, calendar, browser, maps and contacts that which are written using Java programming language.

Application framework:

Android gives the developers to build extremely rich and innovative applications on a open development platform where the developers are free to take advantage of hardware, location information, set alarms, run background services, add notifications to the status bars. The application architecture is designed to encourage the reuse of components and applications. Below are the applications that are a ste of services and systems including:

A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser

Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data

A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files

A Notification Manager that enables all applications to display custom alerts in the status bar

An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack


A set of C or C++ libraries are used by the components of the Android systems. Some of the core libraries are

System C Library

Media Libraries

Surface Manager



3D Libraries

Free Type


Android Runtime:

Every Android application runs on its own process with Dalvik virtual machine. This Dalvik is written such that a device can run multiple VMs. VM executes files in the .dex format (Dalvik Executables) by the "dx" tool. This VM relies on Linux kernel for threading and low level memory management.

Linux kernel:

Linux 2.6 version id used by Android to support system services like security, memory and process management, network stack and driver model. This kernel forms the abstraction layer between the hardware and software stack.