mist report final altered 2
TRANSCRIPT
-
7/31/2019 Mist Report Final Altered 2
1/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 1
Chapter 1
INTRODUCTION
Mobile phones are one of the most ubiquitous electronic devices. Mobile Devices are multi-
functional, portable, wireless connectivity, relatively limited resources and have longer power
back up. In India there are about 300 million phones available. Each phone will have many
features like calling, SMS, Bluetooth, internet, media players etc. Of all the modes of
communication SMS happens to be the most widely used because of cost and ease of
sending.SMS traffic in India is huge and considering an average user the SMS traffic will be
at least 50 messages.
1.1 Overview
There are many types of Mobile Devices and we can classify them based on the market
segment and device type. Mobile Devices based on Market Segments include devices for
Business use, Personal and consumer use, Multi-purpose. Mobile Devices based on Device
types include Smart phones, Table PC, Notebooks and single purpose devices such as mp3
players and navigation system.
1.2 Problem Statement
In todays Android Operating System based mobile phones has limited searching
functionalities in messaging inbox.
When search is made based on contact number/a persons name the search will results with
all the occurrences of input like mobile numbers or names in messages etc.. So in order to
over come the searching problems we are developing an efficient searching tool, which
searches the inbox based on Contact Name, Mobile Number etc..
1.3 Aim of the Project
MIST which stands for Mobile Inbox Search Tool is used to perform advanced searching
operations on the mobile inbox. This tool is being developed on ANDROID platform which
is an open source platform for mobile devices.
-
7/31/2019 Mist Report Final Altered 2
2/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 2
Android devices are phones, allowing your software to initiate calls, send and receive
SMS messages, and everything else you expect from a modern bit of telephony technology.
This tool allows searching for messages in which the user is interested and also allows
the user to search depending upon some special criteria.
Functional Supported:
Search by Sender.
Search by Number.
Search by Date.
Displaying all the unread messages.
1.4 Organizational Report
Chapter 2: Literature survey
Various researchers all over the world are involved themselves in finding out various
aspects related to android. A selected bunch of references are discussed hereunder.
Chapter 3: Software Requirement Specification
This chapter includes the system design details, is the process or art of defining the
architecture, components, modules, interfaces, and data for a system to satisfy specified
requirements.
Chapter 4: System Design
A software requirements specification (SRS) is a comprehensive description of the
intended purpose and environment for software under development
Chapter 5: Implementation
Implementation is the important aspect on software development life cycle. This
chapter includes the abstract implementation details of our software.
Chapter 6: Testing and Result
This chapter includes all testing which satisfies all the constraints to work as expected
in the real world environment.
Chapter 7: Conclusion and Future Enhancement
-
7/31/2019 Mist Report Final Altered 2
3/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 3
Chapter 2
LITERATURE SURVEY
Various researchers all over the world are involved themselves in finding out various aspects
related to android. A selected bunch of references are discussed hereunder.
2.1 Android(operating system)
Android is an operating system (or, more precisely, a software stack) for mobile devices that
includes middleware and key applications, and uses a modified version of the Linux Kernel.
It was initially developed by Android Inc., a firm later purchased by Google, and lately by the
Open Handset Alliance. It allows developers to write managed code in the Java language,controlling the device via Google-developed Java libraries.
The unveiling of the Android distribution on November 5, 2007 was announced with
the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and
telecom companies devoted to advancing open standards for mobile devices. Google released
most of the Android code under the Apache License, a free software and open source license.
On Feb 16, 2010 Google announced that 60,000 cell phones with Android are
shipping every day. According to a press estimate, the Android platform ranks as the fourth
most popular smart phone device-platform in the United States as of February 2010.
Google has also participated in the Android Market by offering several applications
for its services. These applications include Google Voice for the Google Voice service, Sky
Map for watching stars, Finance for their finance service, Maps Editor for their My Maps
service, Places Directory for their Local Search, Google Goggles that searches by image,
Google Translate, Listen for podcasts and My Tracks, a jogging application.
http://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Java_%28programming_language%29http://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Telecommunicationhttp://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/Free_software_licensehttp://en.wikipedia.org/wiki/Open_source_licensehttp://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Google_Voicehttp://en.wikipedia.org/wiki/Google_Goggleshttp://en.wikipedia.org/wiki/Google_Goggleshttp://en.wikipedia.org/wiki/Google_Voicehttp://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Open_source_licensehttp://en.wikipedia.org/wiki/Free_software_licensehttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/Telecommunicationhttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/Java_%28programming_language%29http://en.wikipedia.org/wiki/Managed_code -
7/31/2019 Mist Report Final Altered 2
4/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 4
Figure 2.1 shows an Android running in the Android SDK Emulator
Company/developer Open Handset Alliance
Programmed in C[1]
Working state Current
Source model Free and open source software
Initial release 21 October 2008;
Latest stable release Tablets:
3.1(Honeycomb)[2]
Phones:
2.3.4 (Gingerbread) / 24 February 2011; 2 months
ago[2]
Supported platforms ARM, MIPS, Power Architecture, x86
Kernel type Monolithic (modified Linux kernel)
Default user interface Graphical
License Apache 2.0 and GPLv2[3]
Official website android.com
http://en.wikipedia.org/wiki/Software_industryhttp://en.wikipedia.org/wiki/Software_developerhttp://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Software_release_life_cyclehttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/MIPS_architecturehttp://en.wikipedia.org/wiki/Power_Architecturehttp://en.wikipedia.org/wiki/X86http://en.wikipedia.org/wiki/Kernel_%28computing%29http://en.wikipedia.org/wiki/Monolithic_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Graphical_User_Interfacehttp://en.wikipedia.org/wiki/Software_licensehttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Android_%28operating_system%29#cite_note-Licenses-2http://en.wikipedia.org/wiki/Android_%28operating_system%29#cite_note-Licenses-2http://en.wikipedia.org/wiki/Websitehttp://www.android.com/http://www.android.com/http://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Android_%28operating_system%29#cite_note-Licenses-2http://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/Software_licensehttp://en.wikipedia.org/wiki/Graphical_User_Interfacehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Monolithic_kernelhttp://en.wikipedia.org/wiki/Kernel_%28computing%29http://en.wikipedia.org/wiki/X86http://en.wikipedia.org/wiki/Power_Architecturehttp://en.wikipedia.org/wiki/MIPS_architecturehttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Software_release_life_cyclehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/Software_developerhttp://en.wikipedia.org/wiki/Software_industry -
7/31/2019 Mist Report Final Altered 2
5/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 5
2.2 Survey of android
Google acquired Android, Inc., a small startup company based in Palo Alto, California,
USA. Android's co-founders who went to work at Google included Andy Rubin (co-founder
ofDanger), 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). At the
time, little was known about the functions of Android, Inc. other than that they made software
for mobile phones. This began rumors that Google was planning to enter the mobile phone
market.
Figure 2.2 shows an Android at Googolplex
At Google, the team led by Rubin developed a mobile device platform powered by the
Linux kernel which they marketed to handset makers and carriers on the premise of providing
a flexible, upgradeable system. It was reported that Google had already lined up a series of
hardware component and software partners and signaled to carriers that it was open to various
degrees of cooperation on their part. More speculation that Google would be entering the
mobile-phone market came in December 2006. Reports from the BBC and The Wall Street
Journal noted that Google wanted its search and applications on mobile phones and it was
working hard to deliver that. Print and online media outlets soon reported rumors that Google
was developing a Google-branded handset. More speculation followed reporting that as
Google was defining technical specifications, it was showing prototypes to cell phone
manufacturers and network operators.
InformationWeek covered an Evalueserve study reporting that Google had filed
several patent applications in the area of mobile telephony.
http://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/List_of_Google_acquisitionshttp://en.wikipedia.org/wiki/Startup_companyhttp://en.wikipedia.org/wiki/Palo_Alto,_CAhttp://en.wikipedia.org/wiki/Palo_Alto,_CAhttp://en.wikipedia.org/wiki/Andy_Rubinhttp://en.wikipedia.org/wiki/Danger_%28company%29http://en.wikipedia.org/wiki/Rich_Minerhttp://en.wikipedia.org/w/index.php?title=Nick_Sears&action=edit&redlink=1http://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/wiki/WebTVhttp://en.wikipedia.org/wiki/Mobile_phonehttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Mobile_network_operatorhttp://en.wikipedia.org/wiki/BBChttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/Handset#Telephonyhttp://en.wikipedia.org/wiki/InformationWeekhttp://en.wikipedia.org/wiki/Evalueservehttp://en.wikipedia.org/wiki/Patenthttp://en.wikipedia.org/wiki/Patenthttp://en.wikipedia.org/wiki/Evalueservehttp://en.wikipedia.org/wiki/InformationWeekhttp://en.wikipedia.org/wiki/Handset#Telephonyhttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/BBChttp://en.wikipedia.org/wiki/Mobile_network_operatorhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Mobile_phonehttp://en.wikipedia.org/wiki/WebTVhttp://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/w/index.php?title=Nick_Sears&action=edit&redlink=1http://en.wikipedia.org/wiki/Rich_Minerhttp://en.wikipedia.org/wiki/Danger_%28company%29http://en.wikipedia.org/wiki/Andy_Rubinhttp://en.wikipedia.org/wiki/Palo_Alto,_CAhttp://en.wikipedia.org/wiki/Palo_Alto,_CAhttp://en.wikipedia.org/wiki/Startup_companyhttp://en.wikipedia.org/wiki/List_of_Google_acquisitionshttp://en.wikipedia.org/wiki/Google -
7/31/2019 Mist Report Final Altered 2
6/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 6
Open Handset Alliance
The Open Handset Alliance, a consortium of several companies which include Texas
Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group,
Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel and T-Mobile was
unveiled with the goal to develop open standards for mobile devices. Along with the
formation of the Open Handset Alliance, the OHA also unveiled their first product, Android,
a mobile device platform built on the Linux kernel version 2.6.
it was announced that 14 new members would be joining the Android project,
including ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd,
Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.
Licensing
With the exception of brief update periods, Android has been available as open source since
21 October 2008. Google opened the entire source code (including network and telephony
stacks) under an Apache License.With the Apache License, vendors can add proprietary
extensions without submitting those back to the open source community.
Update history
Android has seen a number of updates since its original release. These updates to the base
Operating System typically fix bugs and add new features
Figure 2.3 a cupcake was placed beside Android at Googleplex
http://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/Consortiumhttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/High_Tech_Computer_Corporationhttp://en.wikipedia.org/wiki/Intel_Corporationhttp://en.wikipedia.org/wiki/LG_Grouphttp://en.wikipedia.org/wiki/Marvell_Technology_Grouphttp://en.wikipedia.org/wiki/Motorolahttp://en.wikipedia.org/wiki/Nvidiahttp://en.wikipedia.org/wiki/Qualcommhttp://en.wikipedia.org/wiki/Samsung_Electronicshttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/Platform_%28computing%29http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/ARM_Holdingshttp://en.wikipedia.org/wiki/Atheros_Communicationshttp://en.wikipedia.org/wiki/Asustekhttp://en.wikipedia.org/wiki/Garminhttp://en.wikipedia.org/wiki/Softbankhttp://en.wikipedia.org/wiki/Sony_Ericssonhttp://en.wikipedia.org/wiki/Toshibahttp://en.wikipedia.org/wiki/Vodafonehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/Googleplexhttp://en.wikipedia.org/wiki/File:Android_and_cupcake.jpghttp://en.wikipedia.org/wiki/Googleplexhttp://en.wikipedia.org/wiki/Apache_Licensehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Vodafonehttp://en.wikipedia.org/wiki/Toshibahttp://en.wikipedia.org/wiki/Sony_Ericssonhttp://en.wikipedia.org/wiki/Softbankhttp://en.wikipedia.org/wiki/Garminhttp://en.wikipedia.org/wiki/Asustekhttp://en.wikipedia.org/wiki/Atheros_Communicationshttp://en.wikipedia.org/wiki/ARM_Holdingshttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Platform_%28computing%29http://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/Samsung_Electronicshttp://en.wikipedia.org/wiki/Qualcommhttp://en.wikipedia.org/wiki/Nvidiahttp://en.wikipedia.org/wiki/Motorolahttp://en.wikipedia.org/wiki/Marvell_Technology_Grouphttp://en.wikipedia.org/wiki/LG_Grouphttp://en.wikipedia.org/wiki/Intel_Corporationhttp://en.wikipedia.org/wiki/High_Tech_Computer_Corporationhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Consortiumhttp://en.wikipedia.org/wiki/Open_Handset_Alliance -
7/31/2019 Mist Report Final Altered 2
7/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 7
2.3 Features
Current features and specifications
Handset layouts The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics
library based on OpenGL ES 2.0 specifications, and traditional
Smartphone layouts.
Storage The Database Software SQLite is used for data storage purposes
Connectivity Android supports connectivity technologies including GSM/EDGE,
IDEN,CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, and WiMAX.
Messaging SMS and MMS are available forms of messaging including threaded textmessaging.
Web browser The web browser available in Android is based on the open-source WebKit
application framework. The browser scores a 93/100 on the Acid3 Test.
Java support Software written in Java can be compiled to be executed in the Dalvik
virtual machine, which is a specialized VM implementation designed for
mobile device use, although not technically a standard Java Virtual
Machine. Android does not support J2ME, like some other mobile
operating systems.
Media support Android supports the following audio/video/still media formats: H.263,
H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP
container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg
Vorbis, WAV, JPEG, PNG, GIF, BMP.
Additional
hardware
Android can use video/still cameras, touch screens,GPS,accelerometers,
magnetometers, accelerated 2D bit blits (with hardware orientation,
http://en.wikipedia.org/wiki/Video_Graphics_Arrayhttp://en.wikipedia.org/wiki/2D_computer_graphicshttp://en.wikipedia.org/wiki/3D_computer_graphicshttp://en.wikipedia.org/wiki/OpenGL_EShttp://en.wikipedia.org/wiki/SQLitehttp://en.wikipedia.org/wiki/GSMhttp://en.wikipedia.org/wiki/Enhanced_Data_Rates_for_GSM_Evolutionhttp://en.wikipedia.org/wiki/Integrated_Digital_Enhanced_Networkhttp://en.wikipedia.org/wiki/Code_division_multiple_accesshttp://en.wikipedia.org/wiki/EV-DOhttp://en.wikipedia.org/wiki/Universal_Mobile_Telecommunications_Systemhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Wi-Fihttp://en.wikipedia.org/wiki/WiMAXhttp://en.wikipedia.org/wiki/SMShttp://en.wikipedia.org/wiki/Multimedia_Messaging_Servicehttp://en.wikipedia.org/wiki/Text_messaginghttp://en.wikipedia.org/wiki/Text_messaginghttp://en.wikipedia.org/wiki/WebKithttp://en.wikipedia.org/wiki/Application_frameworkhttp://en.wikipedia.org/wiki/Acid3http://en.wikipedia.org/wiki/Java_%28programming_language%29http://en.wikipedia.org/wiki/Dalvik_virtual_machinehttp://en.wikipedia.org/wiki/Dalvik_virtual_machinehttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/J2MEhttp://en.wikipedia.org/wiki/H.263http://en.wikipedia.org/wiki/H.264http://en.wikipedia.org/wiki/3GPhttp://en.wikipedia.org/wiki/MP4http://en.wikipedia.org/wiki/Container_format_%28digital%29http://en.wikipedia.org/wiki/MPEG-4_Part_2http://en.wikipedia.org/wiki/Adaptive_multi-rate_compressionhttp://en.wikipedia.org/wiki/AMR-WBhttp://en.wikipedia.org/wiki/Advanced_Audio_Codinghttp://en.wikipedia.org/wiki/HE-AAChttp://en.wikipedia.org/wiki/MP3http://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interfacehttp://en.wikipedia.org/wiki/Vorbishttp://en.wikipedia.org/wiki/Vorbishttp://en.wikipedia.org/wiki/WAVhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://en.wikipedia.org/wiki/Graphics_Interchange_Formathttp://en.wikipedia.org/wiki/BMPhttp://en.wikipedia.org/wiki/Touchscreenhttp://en.wikipedia.org/wiki/Global_Positioning_Systemhttp://en.wikipedia.org/wiki/Accelerometerhttp://en.wikipedia.org/wiki/Magnetometerhttp://en.wikipedia.org/wiki/Bit_blithttp://en.wikipedia.org/wiki/Bit_blithttp://en.wikipedia.org/wiki/Magnetometerhttp://en.wikipedia.org/wiki/Accelerometerhttp://en.wikipedia.org/wiki/Global_Positioning_Systemhttp://en.wikipedia.org/wiki/Touchscreenhttp://en.wikipedia.org/wiki/BMPhttp://en.wikipedia.org/wiki/Graphics_Interchange_Formathttp://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/WAVhttp://en.wikipedia.org/wiki/Vorbishttp://en.wikipedia.org/wiki/Vorbishttp://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interfacehttp://en.wikipedia.org/wiki/MP3http://en.wikipedia.org/wiki/HE-AAChttp://en.wikipedia.org/wiki/Advanced_Audio_Codinghttp://en.wikipedia.org/wiki/AMR-WBhttp://en.wikipedia.org/wiki/Adaptive_multi-rate_compressionhttp://en.wikipedia.org/wiki/MPEG-4_Part_2http://en.wikipedia.org/wiki/Container_format_%28digital%29http://en.wikipedia.org/wiki/MP4http://en.wikipedia.org/wiki/3GPhttp://en.wikipedia.org/wiki/H.264http://en.wikipedia.org/wiki/H.263http://en.wikipedia.org/wiki/J2MEhttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Dalvik_virtual_machinehttp://en.wikipedia.org/wiki/Dalvik_virtual_machinehttp://en.wikipedia.org/wiki/Java_%28programming_language%29http://en.wikipedia.org/wiki/Acid3http://en.wikipedia.org/wiki/Application_frameworkhttp://en.wikipedia.org/wiki/WebKithttp://en.wikipedia.org/wiki/Text_messaginghttp://en.wikipedia.org/wiki/Text_messaginghttp://en.wikipedia.org/wiki/Multimedia_Messaging_Servicehttp://en.wikipedia.org/wiki/SMShttp://en.wikipedia.org/wiki/WiMAXhttp://en.wikipedia.org/wiki/Wi-Fihttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Universal_Mobile_Telecommunications_Systemhttp://en.wikipedia.org/wiki/EV-DOhttp://en.wikipedia.org/wiki/Code_division_multiple_accesshttp://en.wikipedia.org/wiki/Integrated_Digital_Enhanced_Networkhttp://en.wikipedia.org/wiki/Enhanced_Data_Rates_for_GSM_Evolutionhttp://en.wikipedia.org/wiki/GSMhttp://en.wikipedia.org/wiki/SQLitehttp://en.wikipedia.org/wiki/OpenGL_EShttp://en.wikipedia.org/wiki/3D_computer_graphicshttp://en.wikipedia.org/wiki/2D_computer_graphicshttp://en.wikipedia.org/wiki/Video_Graphics_Array -
7/31/2019 Mist Report Final Altered 2
8/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 8
support scaling, pixel format conversion) and accelerated 3D graphics.
Development
environment
Includes a device emulator, tools for debugging, memory and performance
profiling, and a plug-in for the Eclipse IDE.
Market Like many phone-based application stores, the Android Market is a catalog
of applications that can be downloaded and installed to target hardware
over-the-air, without the use of a PC. Originally only free applications
were supported. Paid-for applications have been available on the Android
Market in the United States since 19 February 2009. The Android Market
has been expanding rapidly. As of April 30, 2010, it had over 50,000
Android applications for download.
Multi-touch Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero. The feature was initially
disabled at the kernel level (possibly to avoid infringing Apple's patents on
touch-screen technology). Google has since released an update for the
Nexus One and the Motorola Droid which enables multi-touch natively.
Bluetooth Support for sending files over Bluetooth was added in version 2.0.
Video calling Android does not support video calling. However, it is possible if thephone runs an additional UI. This is proved on the HTC Eva 4G, which
runs Sense and can support video calling.
2.4 Hardware running Android
The first phone to run the Android operating system was the HTC Dream, released on 22
October 2008.By the end of 2009 there will be at least 18 phone models using Android
worldwide, according to Google. In addition to the mobile devices that ship with Android,
some users have been able (with some amount of hacking, and with limited functionality) to
install it on mobile devices shipped with other operating systems.
2.5 Software development
The early feedback on developing applications for the Android platform was mixed. Issues
cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issue-
http://en.wikipedia.org/wiki/Debugginghttp://en.wikipedia.org/wiki/Software_performance_analysishttp://en.wikipedia.org/wiki/Software_performance_analysishttp://en.wikipedia.org/wiki/Pluginhttp://en.wikipedia.org/wiki/Eclipse_%28software%29http://en.wikipedia.org/wiki/Android_Markethttp://en.wikipedia.org/wiki/Multi-touchhttp://en.wikipedia.org/wiki/HTC_Herohttp://en.wikipedia.org/wiki/Nexus_Onehttp://en.wikipedia.org/wiki/Motorola_Droidhttp://en.wikipedia.org/wiki/HTC_Evo_4Ghttp://en.wikipedia.org/wiki/HTC_Dreamhttp://en.wikipedia.org/wiki/Hack_%28technology%29http://en.wikipedia.org/wiki/Hack_%28technology%29http://en.wikipedia.org/wiki/HTC_Dreamhttp://en.wikipedia.org/wiki/HTC_Evo_4Ghttp://en.wikipedia.org/wiki/Motorola_Droidhttp://en.wikipedia.org/wiki/Nexus_Onehttp://en.wikipedia.org/wiki/HTC_Herohttp://en.wikipedia.org/wiki/Multi-touchhttp://en.wikipedia.org/wiki/Android_Markethttp://en.wikipedia.org/wiki/Eclipse_%28software%29http://en.wikipedia.org/wiki/Pluginhttp://en.wikipedia.org/wiki/Software_performance_analysishttp://en.wikipedia.org/wiki/Software_performance_analysishttp://en.wikipedia.org/wiki/Debugging -
7/31/2019 Mist Report Final Altered 2
9/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 9
tracking system. (Google announced an issue tracker on 18 January 2008.) In December
2007, Merge Lab mobile startup founder Adam MacBeth stated, "Functionality is not there,
is poorly documented or just doesn't work... It's clearly not ready for prime time." Despite
this, Android-targeted applications began to appear the week after the platform was
announced. The first publicly available application was the Snake game. The Android Dev
Phone is a SIM-unlocked and hardware-unlocked device that is designed for advanced
developers.
Figure 2.4 shows the Early Android device
While developers can use regular consumer devices purchased at retail to test and use
their applications, some developers may choose not to use a retail device, preferring an
unlocked or no-contract device.
2.5.1 Software development kit
The Android SDK includes a comprehensive set of development tools. These include a
debugger, libraries, a handset emulator (based on QEMU), documentation, sample code, and
tutorials. Currently supported development platforms include x86-architecture computers
running Linux (any modern desktop Linux distribution), Mac OS X 10.4.8 or later, Windows
XP or Vista. Requirements also include Java Development Kit, Apache Ant, and Python 2.2
or later. The officially supported integrated development environment (IDE) is Eclipse (3.2 or
later) using the Android Development Tools (ADT) Plug-in, though developers may use any
text editor to edit Java and XML files then use command line tools to create, build and debug
http://en.wikipedia.org/wiki/Snake_%28video_game%29http://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Subscriber_Identity_Modulehttp://en.wikipedia.org/wiki/Debuggerhttp://en.wikipedia.org/wiki/Software_libraryhttp://en.wikipedia.org/wiki/Emulatorhttp://en.wikipedia.org/wiki/QEMUhttp://en.wikipedia.org/wiki/X86http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/List_of_Linux_distributionshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Apache_Anthttp://en.wikipedia.org/wiki/Python_%28programming_language%29http://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Eclipse_%28software%29http://en.wikipedia.org/wiki/Command_linehttp://en.wikipedia.org/wiki/File:Android_mobile_phone_platform_early_device.jpghttp://en.wikipedia.org/wiki/Command_linehttp://en.wikipedia.org/wiki/Eclipse_%28software%29http://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Python_%28programming_language%29http://en.wikipedia.org/wiki/Apache_Anthttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/List_of_Linux_distributionshttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/X86http://en.wikipedia.org/wiki/QEMUhttp://en.wikipedia.org/wiki/Emulatorhttp://en.wikipedia.org/wiki/Software_libraryhttp://en.wikipedia.org/wiki/Debuggerhttp://en.wikipedia.org/wiki/Subscriber_Identity_Modulehttp://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Snake_%28video_game%29 -
7/31/2019 Mist Report Final Altered 2
10/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 10
Android applications as well as control attached Android devices (e.g., triggering a reboot,
installing software package(s) remotely).
A preview release of the Android software development kit (SDK) was released on 12
November 2007. On 15 July 2008, the Android Developer Challenge Team accidentally sent
an email to all entrants in the Android Developer Challenge announcing that a new release of
the SDK was available in a "private" download area. The email was intended for winners of
the first round of the Android Developer Challenge. The revelation that Google was
supplying new SDK releases to some developers and not others (and keeping this
arrangement private) has led to widely reported frustration within the Android developer
community.
Android Applications are packaged in .apkformat and stored under /data/app folder
on the Android OS. The user can run the command adb root to access this folder as only the
root has permissions to access this folder.
2.5.2 Android Developer Challenge
The Android Developer Challenge was a competition for the most innovative application for
Android. Google offered prizes totaling 10 million US dollars, distributed between ADC I
and ADC II. ADC I accepted submissions from 2 January to 14 April 2008. The 50 mostpromising entries, announced on 12 May 2008, each received a $25,000 award to fund further
development. It ended in early September with the announcement of ten teams that received
$275,000 each, and ten teams that received $100,000 each. ADC II was announced on 27
May 2009. The first round of the ADC II closed on 6 October 2009. The first-round winners
of ADC II comprising the top 200 applications were announced on 5 November 2009.
2.5.3 Google applications
Google has also participated in the Android Market by offering several applications for its
services. These applications include Google Voice for the Google Voice service, Sky Map for
watching stars, Finance for their finance service, Maps Editor for their MyMaps service,
Places Directory for their Local Search, Google Goggles that searches by image, Google
Translate, Listen for podcasts and My Tracks, a jogging application.
http://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/APK_%28file_format%29http://en.wikipedia.org/wiki/Android_Developer_Challengehttp://en.wikipedia.org/wiki/US_dollarhttp://en.wikipedia.org/wiki/Google_Voicehttp://en.wikipedia.org/wiki/Google_Goggleshttp://en.wikipedia.org/wiki/Google_Goggleshttp://en.wikipedia.org/wiki/Google_Voicehttp://en.wikipedia.org/wiki/US_dollarhttp://en.wikipedia.org/wiki/Android_Developer_Challengehttp://en.wikipedia.org/wiki/APK_%28file_format%29http://en.wikipedia.org/wiki/Software_development_kit -
7/31/2019 Mist Report Final Altered 2
11/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 11
2.5.4 Third party applications
With the growing number of Android handsets, there has also been a growing interest by
third party developers to port their applications to the Android operating system.Famous
applications that have been converted to the Android operating system include Shazam,
Backgrounds, and Weather Bug.
The Android operating system has also been considered important enough by a lot of
the most popular internet sites and services to create native android applications. These
include MySpace and Face book.
The release of Mozilla Firefox browser for Android is planned for late 2010.
According to an interview with Mozilla's vice president of mobile, Jay Sullivan, conductedby TechRadar on February 17, 2010, part of the delay with the porting of Firefox over to
Android has been because Firefox Mobile is built on C and C++ code, but that the new
Native Development Kit makes it easier to port Firefox Mobile.
2.5.5 Native code
Libraries written in C and other languages can be compiled to ARM native code and installed
using the Android Native Development Kit. Native classes can be called from Java code
running under the Dalvik VM using the System.loadLibrary call, which is part of the standard
Android Java classes. Complete applications can be compiled and installed using traditional
development tools. The ADB debugger gives a root shell under the Android Emulator which
allows native ARM code to be uploaded and executed. ARM code can be compiled using
GCC on a standard PC. Running native code is complicated by the fact that Android uses a
non-standard C library (known as Bionic). The underlying graphics device is available as a
framebuffer at /dev/graphics/fb0. The graphics library that Android uses to arbitrate and
control access to this device is called the Skia Graphics Library (SGL), and it has been
released under an open source license. Skia has backends for both win32 and Cairo, allowing
the development of cross-platform applications, and it is the graphics engine underlying the
Google Chrome web browser.
2.5.6 Community-based firmware
There is a community of open-source enthusiasts that build and share Android-based
firmware with a number of customizations and additional features, such as FLAC lossless
http://en.wikipedia.org/wiki/Shazam_%28service%29http://en.wikipedia.org/wiki/WeatherBughttp://en.wikipedia.org/wiki/MySpacehttp://en.wikipedia.org/wiki/Facebookhttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/w/index.php?title=Jay_Sullivan&action=edit&redlink=1http://en.wikipedia.org/wiki/TechRadarhttp://en.wikipedia.org/wiki/Firefox_Mobilehttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Native_codehttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/Framebufferhttp://en.wikipedia.org/wiki/Skia_Graphics_Enginehttp://en.wikipedia.org/wiki/Win32http://en.wikipedia.org/wiki/Cairo_%28graphics%29http://en.wikipedia.org/wiki/Google_Chromehttp://en.wikipedia.org/wiki/FLAChttp://en.wikipedia.org/wiki/FLAChttp://en.wikipedia.org/wiki/Google_Chromehttp://en.wikipedia.org/wiki/Cairo_%28graphics%29http://en.wikipedia.org/wiki/Win32http://en.wikipedia.org/wiki/Skia_Graphics_Enginehttp://en.wikipedia.org/wiki/Framebufferhttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Native_codehttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C_%28programming_language%29http://en.wikipedia.org/wiki/Firefox_Mobilehttp://en.wikipedia.org/wiki/TechRadarhttp://en.wikipedia.org/w/index.php?title=Jay_Sullivan&action=edit&redlink=1http://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/Facebookhttp://en.wikipedia.org/wiki/MySpacehttp://en.wikipedia.org/wiki/WeatherBughttp://en.wikipedia.org/wiki/Shazam_%28service%29 -
7/31/2019 Mist Report Final Altered 2
12/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 12
audio support and the ability to store downloaded applications on the microSD card. This
usually involves rooting the device. Rooting lets users load modified firmwares allowing
users of older phones to use applications available only on newer releases.
Those firmware packages are updated frequently, incorporate elements of Android
functionality that haven't yet been officially released within a carrier-sanctioned firmware,
and tend to have fewer limitations. CyanogenMod is one such firmware.
On 24 September 2009, Google issued a cease and desist letter to the modder
Cyanogen, citing issues with the re-distribution of Google's closed-source applications within
the custom firmware. Even though Android OS is open source, phones come packaged with
closed-source Google applications for functionality such as the application store and GPS
navigation. Google has asserted that these applications can only be provided through
approved distribution channels by licensed distributors. Cyanogen has complied with
Google's wishes and is continuing to distribute this mod without the proprietary software. He
has provided a method to back up licensed Google applications during the mod's install
process and restore them when it is complete.
2.6 Marketing
2.6.1 Logos
Android uses the Droid font family made by Ascender Corporation. Fig 2.6 shows the logo.
Android Green is the color of the Android Robot that represents the Android operating
system.
Figure 2.5 Android robot logo and font style
The print color is PMS 376C and the online hex color is #A4C639, as specified by the
Android Brand Guidelines.
2.6.2 Market share
http://en.wikipedia.org/wiki/MicroSDhttp://en.wikipedia.org/wiki/Root_userhttp://en.wikipedia.org/wiki/CyanogenModhttp://en.wikipedia.org/wiki/Droid_%28font%29http://en.wikipedia.org/wiki/Ascender_Corporationhttp://en.wikipedia.org/wiki/Ascender_Corporationhttp://en.wikipedia.org/wiki/Droid_%28font%29http://en.wikipedia.org/wiki/CyanogenModhttp://en.wikipedia.org/wiki/Root_userhttp://en.wikipedia.org/wiki/MicroSD -
7/31/2019 Mist Report Final Altered 2
13/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 13
Research company Canalys estimated in Q2 2009 that Android had a 2.8% share of
worldwide smart phone shipments. By Q4 2010 this had grown to 33% of the market,
becoming the top-selling smart phone platform. This estimate includes the Tapas and OMS
variants of Android.
In February 2010 ComScore said the Android platform had 9.0% of the U.S.
smartphone market, as measured by current mobile subscribers. This figure was up from an
earlier estimate of 5.2% in November 2009. By the end of Q3 2010 Android's U.S. market
share had grown to 21.4 percent.
In May 2010, Android's first quarter U.S. sales surpassed that of the rival iPhone
platform. According to a report by the NPD group, Android achieved 25% smartphone sales
in the US market, up 8% from the December quarter. In the second quarter, Apple's iOS was
up by 11%, indicating that Android is taking market share mainly from RIM, and still has to
compete with heavy consumer demand for new competitor offerings. Furthermore, analysts
pointed to advantages that Android has as a multi-channel, multi-carrier OS, which allowed it
to duplicate the quick success of Microsoft's Windows Mobile.
In early October 2010, Google added 20 countries to its list of approved submitters.
By mid-October, purchasing apps will be available in a total of 32 countries. For a complete
list of countries that are allowed to sell apps and those able to buy them see Android Market.
As of December 2010 Google said over 300,000 Android phones were being activated
daily, up from 100,000 per day in May 2010.In February 2011, during the 2011 Mobile
World Congress, Eric Schmidt announced that Android has reached 350,000 activations per
day.At Google I/O, May 10, 2011, Google announced that 400,000 new Android devices are
activated every day and more than 100 million have been activate.
2.7 Restrictions and Issues
2.7.1 Kernel-related
Android uses a version ofLinux as its kernel (albeit tweaked by Google to fit Android
needs and separated from the main Linux kernel tree), but it is not a conventional Linux
distribution; it does not have a native X Window System, neither does it support the full
set of standard GNU libraries like its system libraries (GNU C Library). This makes it
difficult to reuse existing Linux applications or libraries on Android.
http://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/GNUhttp://en.wikipedia.org/wiki/GNU_C_Libraryhttp://en.wikipedia.org/wiki/GNU_C_Libraryhttp://en.wikipedia.org/wiki/GNUhttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Linux -
7/31/2019 Mist Report Final Altered 2
14/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 14
Google no longer maintains the Android code they previously contributed to the Linux
kernel, effectively branching kernel code in their own tree, separating their code from
Linux. The code which is no longer maintained was deleted in January 2010 from the
Linux codebase. However, Google announced in April 2010, that they will hire two
coders to work with kernel.org.
2.7.2 Issues concerning application development
Android does not use established Java standards, i.e. Java SE and ME. This prevents
compatibility among Java applications written for those platforms and those for the
Android platform. Android only reuses the Java language syntax, but does not provide the
full-class libraries and APIs bundled with Java SE or ME. However, Myriad's J2Android,launched on 19th March, 2010, allows seamless conversion of Java MIDlets into Android
applications.
Developers have reported that it is difficult to maintain applications working on different
versions of Android, because of various compatibility issues between versions 1.5 and
1.6, specifically concerning the different resolution ratios of the various Android phones.
Such problems were specifically encountered during the ADC2 contest.
Garbage collection will slow down programs that make too many memory allocations
allowing Dalvik to keep a pool of free memory. This may noticeably affect
responsiveness.
Android does not readily support Bluetooth file exchange, video call or native Java ME,
as do other mobile operating systems, such as Symbian OS and Windows Mobile,
however some of this is still possible: Bluetooth file exchange is possible on rooted
devices. Apps like Qik allow live broadcasting (but not receiving) and
KnockingLiveVideo for the iPhone is set to make an Android appearance. Third-party
XMPP clients such as BEEM could support the Jingle protocol soon. Java ME apps can
be converted with a MIDP runner that converts them to android apk's to be installed like
normal apps.
2.7.3 Issues for specific applications
Unlike other mobile closed platforms like Apple's phone OS, Google tracks issues and
feature requests at Google Code's site. The following outstanding issues have been highly
debated or voted for by the user community:
http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Branching_%28software%29http://en.wikipedia.org/wiki/Codebasehttp://en.wikipedia.org/wiki/Java_SEhttp://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29http://en.wikipedia.org/wiki/Dalvik_Virtual_Machinehttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Video_callhttp://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Symbian_OShttp://en.wikipedia.org/wiki/Windows_Mobilehttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/XMPPhttp://en.wikipedia.org/wiki/Jingle_%28protocol%29http://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Apple_Inc.http://en.wikipedia.org/wiki/IPhone_OShttp://en.wikipedia.org/wiki/Google_Codehttp://en.wikipedia.org/wiki/Google_Codehttp://en.wikipedia.org/wiki/IPhone_OShttp://en.wikipedia.org/wiki/Apple_Inc.http://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Jingle_%28protocol%29http://en.wikipedia.org/wiki/XMPPhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Windows_Mobilehttp://en.wikipedia.org/wiki/Symbian_OShttp://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Video_callhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Dalvik_Virtual_Machinehttp://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29http://en.wikipedia.org/wiki/Java_MEhttp://en.wikipedia.org/wiki/Java_SEhttp://en.wikipedia.org/wiki/Codebasehttp://en.wikipedia.org/wiki/Branching_%28software%29http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Linux_kernel -
7/31/2019 Mist Report Final Altered 2
15/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 15
A source of criticism has been the lack of standards-based iCalendar/CalDAV
functionality in the Android calendar client. Currently, the Android calendar is restricted
to synchronization with Google Calendar service.
As of January 2010, the most requested ("starred") feature is the support for Bi-
directional text (right-to-left) such as Arabic, Persian and Hebrew.
Bluetooth voice dialing is also not supported. This feature in particular has caused some
surprise; many older phones have had this feature for several years.
Android does not support animated GIF files. It only shows the first frame.
Android does not support encrypted sending (SMTP+TLS) and receiving (IMAP+SSL) of
e-mail over self-signed certificates.
Because of potential security issues, Android does not officially allow applications to be
installed on, nor run from, an SD card. Current Android products such as the HTC Dream
and Magic have limited onboard memory and many users feel restricted by this lack of
functionality. However, several unsupported modifications exist to give the user this
capability.
http://en.wikipedia.org/wiki/ICalendarhttp://en.wikipedia.org/wiki/CalDAVhttp://en.wikipedia.org/wiki/Google_Calendarhttp://en.wikipedia.org/wiki/Bi-directional_texthttp://en.wikipedia.org/wiki/Bi-directional_texthttp://en.wikipedia.org/wiki/Arabic_languagehttp://en.wikipedia.org/wiki/Persian_languagehttp://en.wikipedia.org/wiki/Hebrewhttp://en.wikipedia.org/wiki/GIFhttp://en.wikipedia.org/wiki/Self-signed_certificateshttp://en.wikipedia.org/wiki/SD_cardhttp://en.wikipedia.org/wiki/SD_cardhttp://en.wikipedia.org/wiki/Self-signed_certificateshttp://en.wikipedia.org/wiki/GIFhttp://en.wikipedia.org/wiki/Hebrewhttp://en.wikipedia.org/wiki/Persian_languagehttp://en.wikipedia.org/wiki/Arabic_languagehttp://en.wikipedia.org/wiki/Bi-directional_texthttp://en.wikipedia.org/wiki/Bi-directional_texthttp://en.wikipedia.org/wiki/Google_Calendarhttp://en.wikipedia.org/wiki/CalDAVhttp://en.wikipedia.org/wiki/ICalendar -
7/31/2019 Mist Report Final Altered 2
16/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 16
Chapter 3
SOFTWARE REQUIREMENTS SPECIFICATION
A software requirements specification (SRS) is a comprehensive description of the intended
purpose and environment for software under development i.e., listing the functional and non-
functional requirements and language requirements for the project.
3.1 Functionality of the software
The functional Requirements are organized by features. Separate functionalities are provided
for each stated feature.
Search by Sender
In this feature the tool filters out messages from a particular sender. Once the user inputs few
characters, a search is performed to filter out the messages from the senders whose name
starts with these characters. Each time a character is entered or cleared, the existing character
string is taken as input, the search is performed and the results are displayed immediately. To
display the results no specific button such as search has to be pressed separately, meaning
as the user changes the input character string, the results displayed also change automatically
based on current input.
For example, if the user types letters Ab, the messages from senders whose name
starts with letters Ab such as Abhay, Abhi etc. gets filtered and are displayed.
Search by Number
In this feature searching is performed on the basis of senders number. The input to the search
application will be a integer. After the search is performed, the messages sent by that
particular number get displayed.
For example, if we search for 9449762999, then all the messages sent by
9449762999will get displayed.
-
7/31/2019 Mist Report Final Altered 2
17/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 17
Search by Date
This feature allows us to search and display messages which have arrived on a particular day
or until a particular time. When Search by date is chosen, the user is allowed to enter a date
and all the messages that have arrived on that day are displayed.
Unread Messages
This feature will display all the unread messages.
3.2 Software Requirements
The software requirements such as operating system, type of language and front end to usefor designing of graphical user interface are described here.
Eclipse 3.2 or higher versions
JDK 5 or JDK 6
Android Development Tools plug-in
Android SDK for windows is 2.2 Windows operating system.
3.3 Hardware Requirements
A minimum of 512MB RAM .
For the base SDK package, at least 600MB of available disk space.
For each platform downloaded into the SDK, an additional 100MB is needed.
Parameter Values
Operating System Android OS
Language Java
-
7/31/2019 Mist Report Final Altered 2
18/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 18
The Android SDK requires disk storage for all of the components that you
choose to install. The table below provides a rough idea of the disk-space
requirements to expect, based on the components that you plan to use.
Component type Approximate size
SDK Tools 35 MB
SDK Platform-tools 6 MB
Android platform (each) 150 MB
SDK Add-on (each) 100 MB
USB Driver for Windows 10 MB
Samples (per platform) 10M
Offline documentation 250 MB
-
7/31/2019 Mist Report Final Altered 2
19/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 19
Chapter 4
SYSTEM ANALYSIS
After exploring existing mobile city guides and scenarios, I list the functionalities in different
priorities. The priorities are given according to the importance of functions for a city guide.
For example, the function of showing map is very important for a city guide. The priorities
are divided into three different levels: High (H), Medium (M), and Low (L). H is considered
the most important for a city guide and implemented firstly, M is less important and
implemented after H, L is the least important and considered to implement after the high and
medium. Normally, city guide should have basic functions: showing map and showing points
of interest (POIs) on map, providing some information about sights or events (e.g. when the
museum is open). In addition to them, we can add telephone function, the function of adding
review, the function of making tour plan, the function of event reminder and so on. As well, I
explore implementation of functionalities as many as possible based on the features of
powerful Android platform since investigating realization of a tailorable City Guide
application on the Android platform is the main purpose in the project.
4.1 Functional Requirements
MAP
ID Requirement Priority
1 The city guide canshow map of a city.
H
2 The map can bezoomed in and out
H
3 Users can movearound the map
H
4 The city guide canshow users current
position on the map
H
5 The city guide canshow the routebetween differentlocations on the map
M
6 The city guide can seeother users positions
in the same group onthe map
L
7 The map can showpoints of interest(POIs)
H
8 The map only shows M
-
7/31/2019 Mist Report Final Altered 2
20/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 20
the points of interestusers are interested in
Information Retrieval
ID Requirement Priority9 The city guide can
retrieve informationof points of interest
H
10 The city guide canretrieve informationof events, which willhappen right now.
M
11 The city guide canretrieve information
about reviews ofpoints of interest
M
12 Users can select whatkind of POIs to showon map (i.e. differentclassifications. e.g.hotels, museums,restaurants events,and so on).
M
Communication
ID Requirement Priority
13 The city guide cansupportcommunicationbetween users in thesame group throughtelephone or shortmessage.
M
Review
ID Requirement Priority
14 Users can add reviewabout points ofinterest.
M
ID Requirement Priority
15 The city guide cansupport eventreminder like lunchtime
H
Fig 4.1 Functional requirements
-
7/31/2019 Mist Report Final Altered 2
21/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 21
4.2 Non-Functional Requirements
Speed of access: Messaging and many app in the android device provides us to accessfaster.
Performance on most machines: The application created can be used in any of theandroid based mobiles with particular version.
Ease of use: The application can be created so that it will be easy to work by thenormal user also. And also Android applications are written in java, developers willbe familiar with many of the packages provided as part of the Android SDK, such as
java.net.developers will be pleased to find that the learning curve for android is quitereasonable.
Its free if it is to be published in India.
-
7/31/2019 Mist Report Final Altered 2
22/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 22
Chapter 5
SYSTEM DESIGN
5.1 Development Methods
1. The development method that we are using for the development of our application is the
Evolutionary Development Model also known as Iterative Development Model.
2. This approach interleaves the activities of specification, development and validation. An
initial system is rapidly developed from the abstract specifications. This is then refined
with customer input to produce the system that satisfies the customers needs.
3. We chose this method to develop our application because this is a utility based
application .In this we have a initial set of requirements which is going to aid the user.
4. Once each of these utilities are developed it is going to be validated to see if it is fulfilling
the customer requirements and in case it is not it is modified to work as intended.
5.2 Architectural Strategies
This section contains any design decisions and/or strategies that affect the overall
organization of the system and its higher-level structures. These strategies provide insight
into the key abstractions and mechanisms used in the system architecture.
It also contains the reasoning employed for each decision and/or strategy (possibly
referring to previously stated design goals and principles) and how any design goals or
priorities were balanced or traded-off.
Few of the decisions are as follows
Use of a particular type of product
We are making use of Android Development framework because its open source, it provides
excellent development environment to develop the user interface and applications. It also
provides several native libraries like surface manager,SQLite,media framework etc.
-
7/31/2019 Mist Report Final Altered 2
23/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 23
Future plans for extending or enhancing the software
We are currently developing this as an independent application and hope to integrate it
into the default message inbox provided by android. We are developing this on Android
and in future hope to extend this to other platforms like Symbian (used by Nokia).
User interface paradigms
In Android user interfaces can be designed using one of the two methods Procedural and
Declarative.Procedural involves writing code in java to create and manipulate user interface
objects.Declarative design doesnt involve any code. This makes use of Markup language
based on XML. In our project we make use of both of the methods as and when required.
Hardware and/or software interface paradigms
Eclipse with ADT Plug-in and android SDK provides us with the emulators and interfaces
required for development.
Management of resources
Android uses Linux for its Memory management, networking, process management and
other operating system services.
External databases and/or data storage management and persistence
Android framework provides SQLite libraries for data storage management.
Communication mechanisms
Intents are system messages, running around the inside of the device, notifying applications
of various events, from hardware state changes (e.g., an SD card was inserted), to incoming
data (e.g., an SMS message arrived), to application events (e.g., your activity was launched
from the devices main menu).
5.3 System Architecture
The system architecture provides a high level overview of how the functionalities and
responsibilities of the system were distributed or assigned to various subsystems or
components.
The main purpose here is to gain a general understanding of how and why the system
was decomposed and how the individual parts work together to provide the desired
functionality.
-
7/31/2019 Mist Report Final Altered 2
24/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 24
Figure 5.1 Android System Architecture
Android system architecture consists of four layers and their functionalities are as
follows:
1. Linux Kernel
Linux provides the hardware abstraction layer for Android, allowing Android to be ported
to a wide variety of platforms in future. And it is also responsible for memory
management,process management and other operating system services.
2. Native Libraries
These libraries are all written in C or C++,compiled for particular hardware architecture
used by phones, and preinstalled by the phone vendor. Some of the most important native
libraries are surface manager, SQL database, browser engine etc.
3. Application Framework
This layer provides the high-level building blocks we use to create our applications. Most
important parts of framework are activity manager, content providers, resource manager,location manager etc.
4. Applications And Widgets
Applications are programs that can take over the whole screen and interact with the user.
On the other hand, Widgets also called gadgets only operate in a small rectangle of the
Home screen application. Some of the standard system applications which come
prepackaged with the android phone arePhone dialer,email,contacts,web browser,android
market etc.
-
7/31/2019 Mist Report Final Altered 2
25/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 25
5.4 Data flow diagrams
DFD Level 0
Level 0 DFD includes the basic data flow included in overall process. The level 0 DFD is as
shown in the figure.
Figure 5.2 Basic data flow
Level 0, broadly explains the main entities involved. The user provides the type of the search
and data to be searched .The search operation is performed and the results are displayed to
the user.
DFD Level 1
Level 1 DFD represents elaboration of the single process in Level 0 into sub processes. Level
1 DFD is as shown in the figure.The entities of the MIST tool are represented in above
diagram.
Figure 5.3 Expansion of MIST Tool
Search
criteria
& data Result
Search
criteria
& dataUser
1.0
Mobile Inbox
search ToolUser
USERUSER
1.0.1
InputProcessing
1.0.3
View
Management
Result
1.0.2
Database
-
7/31/2019 Mist Report Final Altered 2
26/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 26
DFD level 2
Level 2 DFD as shown in below figure. Level 2 elaborates Level 1 DFD in more detail.
Figure 5.4 Expansion of DFD1
Input processing unit allows the user to select the type of search to be performed. The
user may select any of the four types namely Search By Number , Search By Sender, Search
By date. The database unit is responsible for taking search data from the user and performing
1.0.2.2
SQLite Database
USER
1.0.1.1
Search By
Sender
1.0.1.2
Search By
1.0.1.3
Search By
Date
1.0.1.4
Display
unread
messa es
1.0.2.1
Query
handler
1.0.2.3
Cursor
management
1.0.3.1
Cursor
1.0.3.2
Accessing
cursor data
1.0.3.3
Array
adapter
1.0.3.4
List View
USER
-
7/31/2019 Mist Report Final Altered 2
27/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 27
the search .It comprises of 3 units namely Query Handler, SQLite database and Cursor
Management.
The query handler converts the search criteria into a SQLite query to perform the
search.The query generated is run on the database to obtain the results and these results are
managed by a Cursor Object.The cursor manager helps us to access the data within a cursor
like moving to next row etc. The View Management is responsible taking the search results
and displaying it to the user in the required format.The various components which help us do
this are shown in the figure below.
Finally the Cursor containing the search results is obtained and the data in it is
accessed and the required data is put into an array adapter and this data is displayed into theListView view.In this section, we have identified the individual modules that comprise the
building blocks of our system and have presented a complete design for them. The details of
the design process for each module contains of the following elements:
The purpose of the module:
A description of its functionality using an algorithm.
A description of the types and number of inputs it accepts.
A description of the types and number of outputs it generates.
A discussion of the relationship it shares with any other components.
An overall view of the structure of the system is presented below it shows the interactions
between each file, and at what level each file runs at.
5.5 Classification
In section 3.3.1, a Data flow diagram shows the various processes involved in identifying the
type of request and responding to that particular type of request. In this section certain
modules are described to carry out the implementation of those various processes. There are
four main modules and each module have sub components. The main modules are:
1. Search by Sender module.
2. Search by Number module.3. Search by Date module.
-
7/31/2019 Mist Report Final Altered 2
28/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 28
4. Display Unread messages modules
Flow Chart
Populate List
Figure 5.5 Module of Search by Sender.
5.5.1 Subsystem 1 - Search by Sender module
Definition
This subsystem filters out messages from a particular sender.
Responsibilities
Once the user inputs few characters, a search is performed to filter out the messages from the
senders whose name starts with these characters.
Constraints
i/p Query
i/p Module
Query Contacts
Databases
Query SMS Database
Display Sub-Module
Array Adapter
Delete Module
-
7/31/2019 Mist Report Final Altered 2
29/73
-
7/31/2019 Mist Report Final Altered 2
30/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 30
1. Input Query
2. Query SMS database
3. Display sub-module
4. Interface/Exports
Interface/ExportsThis module is called by the TextWatcher callback. It is also called when we wish to
populate or refresh the list.
3. Delete module
Classification
This is a module present in the Search by Sender subsystem.
Definitions
This module handles the deletion of selected messages when invoked.
Responsibilities
This module is invoked when the delete button is selected through menu options. The
module checks for the messages which have been checked by the user and deletes those
messages by finding out their unique IDs. Also this module returns the number of
messages deleted.
Uses/Interactions
This module is used by the Search by Sender subsystem whenever the user wants to
delete a message or messages by a particular Sender.
Resources
This module uses Hash Table as a resource for retrieving the unique IDs of user selected
messages for deletion.
4. Array Adapter
Classification
This is a class used by the Search by Sender subsystem.
Definition
This class is responsible for providing a customized View for displaying the results.
-
7/31/2019 Mist Report Final Altered 2
31/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 31
Responsibilities
It generates a customized View for displaying the results obtained by Search by Sender
subsystem.
Uses/Interactions
It is a custom view used by populate list to display the results in a ListView.
Resources
Contacts cursor which contains all the contacts present in the phonebook which satisfy
the user mentioned criteria. SMS cursor containing all the messages present in the
database.
5.5.2 Subsystem 2 - Search by Number module
Definition
This subsystem is responsible for filtering out the messages on the basis of the input number.
Responsibilities
This subsystem allows the user to search messages sent from unknown numbers as well as
known numbers.
Constraints
The input to the tool must be a phone number and not the name.
Composition
The various modules of this subsystem are described below:
1. Input module
Classification
This is a module of the subsystem Search by Number.
Definition
It is responsible for taking input from the user.
ResponsibilitiesThis module provides a edit text box with TextWatcherlistener attached to it which calls a
callback whenever the input in the edit text box changes.
-
7/31/2019 Mist Report Final Altered 2
32/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 32
Constraints
The input to the search tool must be number.
Uses/Interactions
Android by default provides a virtual QWERTY key board which the user can use to
enter the input.
2. Populate list
Classification
This is a module of the subsystem Search by Number.
DefinitionIt is responsible for processing the user input and displaying the results in ListView.
ResponsibilitiesExtracts the user input entered in the edit text box and generates a suitable query, queries
the database and displays the result.
CompositionThis consists of four sub-modules which are as follows1. Input Query
2. Query SMS database
3. Display sub-module
4. Interface/Exports
3. Delete Module
ClassificationThis is a module present in the Search By Number subsystem.
Definition
This module handles the deletion of selected messages when invoked.
Responsibilities
This module is invoked when the delete button is selected through menu options.
Themodulechecks for the messages which have been checked by the user and deletes
-
7/31/2019 Mist Report Final Altered 2
33/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 33
those messages by finding out their unique IDs. Also this module returns the numberof
messages deleted.
Uses/Interactions
This module is used by the Search by Number subsystem whenever the user wants to
delete a message or messages by a particular Number.
Resources
This module uses HashTable as a resource for retrieving the unique IDs of user selected
messages for deletion.
4. ArrayAdapter
Classification
This is a class used by the Search by Number subsystem.
Definition
This class is responsible for providing a customized View for displaying the results.
Responsibilities
It generates a customized View for displaying the results obtained by Search by Sender
subsystem.
Constraints
Accepts only Strings. Data other than String type data must be converted into String type.
Uses/Interactions
It is a custom view used by populate list to display the results in a ListView.
Resources
SMS cursor containing all the messages present in the database.
5.5.3 Subsystem 3 - Search by Date
Definition
This subsystem is responsible for searching the messages on the basis of date of the messages
sent by the different senders.
Responsibilities
-
7/31/2019 Mist Report Final Altered 2
34/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 34
This subsystem allows the user to search messages sent on a particular day or on a particular
day and until particular time. i.e. the user can just input the date and perform searching or he
can even input time along with the date and perform searching.
Constraints
This subsystem will not allow the user to perform searching based only on the Date
Composition
The various modules of this subsystem are described below:
1. Input module
ClassificationThis is a module of the subsystem Search by Date.
Definition
It is responsible for taking input from the user.
ResponsibilitiesThis module allows the user to set the date by providing the DatePicker dialog . The user
can clear the already set date by using the Reset button provided by the input module.
Uses/InteractionsAndroid by default provides a DatePicker dialog to set the date which are the callbacks
called when the user selects those dialogs to set the date
2. Populate list
ClassificationThis is a module of the subsystem Search by Date.
Definition
It is responsible for processing the user input and displaying the results in ListView.
ResponsibilitiesExtracts the user input entered through DatePicker dialog. If the user sets only the date,
the query is generated to extract the messages sent only on that particular date by default
is taken as the interval between 00:00 to 23:59. If the user sets date. After extracting the
input this module queries the database and displays the result.
-
7/31/2019 Mist Report Final Altered 2
35/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 35
CompositionThis consists of four sub-modules which are as follows
1. Input Query
2. Query SMS database
3. Display sub-module
4. Interface/Exports
3. Delete Module
Classification
This is a module present in the Search By Date subsystem.
DefinitionThis module handles the deletion of selected messages when invoked.
Responsibilities
This module is invoked when the delete button is selected through menu options. The
module checks for the messages which have been checked by the user and deletes those
messages by finding out their unique IDs. Also this module returns the number of
messages deleted.
Uses/Interactions
This module is used by the Search by Date subsystem whenever the user wants to delete a
message or messages by different senders.
Resources
This module uses HashTable as a resource for retrieving the unique IDs of user selected
messages for deletion.
4. ArrayAdapter
Classification
This is a class used by the Search by Date subsystem.
Definition
This class is responsible for providing a customized View for displaying the results.
Responsibilities
-
7/31/2019 Mist Report Final Altered 2
36/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 36
It generates a customized View for displaying the results obtained by Search by Date
subsystem.
Constraints
Accepts only Strings. Data other than String type data must be converted into String type.
Uses/Interactions
It is a custom view used by populate list to display the results in a ListView.
Resources
Contacts cursor which contains all the contacts present in the phonebook which satisfy
the user mentioned criteria. SMS cursor containing all the messages present in the
database.
5.5.4 Subsystem-4 Display Unread messages subsystem
Definition
This subsystem is responsible for displaying all the unread messages which are present in
message Inbox.
Responsibilities
This subsystem checks for the message status to find out whether the message is Read or
Unread.
Composition
The various modules of this subsystem are described below.
1. Populate list
ClassificationThis is a module of the subsystem Display Unread messages.
DefinitionIt is responsible for displaying all the Unread messages in a customized ListView.
ResponsibilitiesThis module displays allthe Unread messages with the sender name and a part of the message
content in a customized ListView.
-
7/31/2019 Mist Report Final Altered 2
37/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 37
CompositionThis consists of four sub-modules which are as follows
1. Input Query
2. Query SMS database
3. Display sub-module
4. Interface/Exports
2. Delete module
Classification
This is a module present in the Display Unread messages subsystem.
Definition
This module handles the deletion of selected messages when invoked.
Responsibilities
This module is invoked when the delete button is selected through menu options. The module
checks for the messages which have been checked by the user and deletes those messages by
finding out their unique IDs. Also this module returns the number of messages deleted.
Uses/Interactions
This module is used by the Display Unread messages subsystem whenever the user wants to
delete a message or messages by different senders.
Resources
This module uses HashTable as a resource for retrieving the unique IDs of user selected
messages for deletion.
3. ArrayAdapter
Classification
This is a class used by the Display Unread messages subsystem.
Definition
This class is responsible for providing a customized View for displaying the results.
Responsibilities
-
7/31/2019 Mist Report Final Altered 2
38/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 38
It generates a customized View for displaying the results obtained by Display Unread
messages subsystem.
Constraints
Accepts only Strings. Data other than String type data must be converted into String type.
Uses/Interactions
It is a custom view used by populate list to display the results in a ListView.
Resources
Contacts cursor which contains all the contacts present in the phonebook which satisfy the
user mentioned criteria. SMS cursor containing all the messages present in the database.
-
7/31/2019 Mist Report Final Altered 2
39/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 39
5.6 UML diagrams
5.6.1 Use case diagram
The use case diagram for mobile inbox search tool is as shown below:
Figure 5.6 Use case diagram
-
7/31/2019 Mist Report Final Altered 2
40/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 40
5.6.2 Sequence diagrams
Figure 5.7 Main Sequence diagram
-
7/31/2019 Mist Report Final Altered 2
41/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 41
Fig 5.8 Sequence diagram for searching
-
7/31/2019 Mist Report Final Altered 2
42/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 42
5.6.3 Activity diagram
Figure 5.9 Activity diagram
-
7/31/2019 Mist Report Final Altered 2
43/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 43
Chapter 6
IMPLEMENTATION
The project we have undertaken involves searching mechanism which is used to solve
searching problems in Message Inbox. It involves search by sender, search by number, search
by date and time, display unread messages.
6.1 Details of language used
We have used JAVA language in our project, and Android uses standard JAVA compiler to
compile the source code.
You get a commonly-used programming language (Java) with some commonly used
libraries (e.g., some Apache Commons APIs) along with support for tools you may
beused to (Eclipse).
Android programs are written in JAVA languages and they use JAVA STANDARD
EDITION(SE) libraries APIs.
Android uses a standard Java compiler to compile your source code into regular byte-
codes and then translates those byte-codes into Dalvik instructions.Therefore, the entire
JAVA language is supported, not just the subset.
Compare this to the Google Web Toolkit (GWT), which has its own Java to JavaScript
translator. By using the stock compiler and byte-codes, you dont even need to have the
source code for libraries that you want to use in your applications.
Android supports a relatively large subset of the Java Standard Edition 5.0 library. Some
things were left out because they simply didnt make sense (such as printing), and others
were omitted because better APIs are available that are specific to Android (such as user
interfaces).
Supported Packages
The following standard packages are supported in Android. Consult the Java 2 Platform
Standard Edition 5.0 API documentation for information on how to use them:
java.awt.font: A few constants for Unicode and fonts
-
7/31/2019 Mist Report Final Altered 2
44/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 44
java.beans: A few classes and interfaces for JavaBeans property changes
java.io: File and stream I/O and etc.
Not Supported PackagesThese packages, normally part of the Java 2 Platform Standard Edition,are not supported by
Android:
java.applet
java.awt
java.lang.management
java.rmiand etc.
Additional Packages
In addition to the standard libraries listed earlier, the Android SDKcomes with a number of
third-party libraries for your convenience:
org.apache.http: HTTP authentication, cookies, methods, andprotocol
org.json: JavaScript Object Notation
org.xml.sax: XML parsing
org.xmlpull.v1: XML parsing
6.2 Details of platform used
Android is the first free, open source, and fully customizable mobile platform. Android offers
a full stack: an operating system, middleware, and key mobile applications. It also contains a
rich set of APIs that allows third-party developers to develop great applications.
Android is a new open source software toolkit for mobile phones thatwas created by Google
and the Open Handset Alliance.
Android is the first environment that combines the following:
A truly open, free development platform based on Linux and open source:
Handset makers like it because they can use and customizethe platform without paying a
royalty.Developers like itbecause they know that the platform has legs and is not locked
into any one vendor that may go under or be acquired.
-
7/31/2019 Mist Report Final Altered 2
45/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 45
A component-based architecture inspired by Internet mashups:
Parts of one application can be used in another in ways not originally envisioned by the
developer. You can even replace built-in components with your own improved versions.
This will unleash new round of creativity in the mobile space.
Tons of built-in services out of the box:
Location-based services useGPS or cell tower triangulation to let you customize the user
experience depending on where you are. A full-powered SQL database lets you harness
the power of local storage for occasionally connected computing and synchronization.
Automatic management of the application life cycle:
Programs are isolated from each other by multiple layers of security, which willprovide a
level of system stability not seen before in smart phones.The end user will no longer have
to worry about what applicationsare active or close some programs so that others can run.
Androidis optimized for low-power, low-memory devices in a fundamentalway that no
previous platform has attempted.
High-quality graphics and sound:
Smooth, antialiased 2D vectorgraphics and animation inspired by Flash are melded with
3Daccelerated OpenGL graphics to enable new kinds of games andbusiness applications.
Codecs for the most common industrystandard audio and video formats are built right in,
includingH.264 (AVC), MP3, and AAC.
Portability across a wide range of current and future hardware:
All your programs are written in Java and executed by Androids Dalvik virtual machine,so your code will be portable acrossARM, x86, and other architectures. Support for a
variety of inputmethods is included such as keyboard, touch, and trackball.User interfaces
can be customized for any screen resolution and orientation.
Android offers a fresh take on the way mobile applications interact withusers, along with the
technical underpinnings to make it possible.
-
7/31/2019 Mist Report Final Altered 2
46/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 46
6.3 Details of the Interface
We have implemented the user interface using Activities.
An activity is a user interface screen. Applications can define one or more activities to
handle different phases of the program. each activity is responsible for saving its own
state so that it can be restored later as part of theapplication life cycle
The building block of the user interface is the activity. While it is possible for activities
to not have a user interface, most likely your headless code will be packaged in the
form of content providers or services
Your projects src/directory contains the standard Java-style tree of directories based
uponthe Java package you used when you created the project. Inside the innermost
directory you should find a pre-generated source file named Now.java, which is where
your first activity will go.
-
7/31/2019 Mist Report Final Altered 2
47/73
Mobile Inbox Search Tool
Dr.SMCE/Dept of CSE/2011-12 47
Chapter 7
TESTING AND RESULTS
The purpose of this section is to ensure that the resulting system meets the system
requirements and there is a seamless transition of data flowing through each of the systems as
well as in between one another.
In our application there are mainly 4 modules which provide the 4 promised features. Each
module has its own user interface. There is an interface which brings together all the 4
features.
We perform three types of testing namely
1. Unit testing
2. Integration testing
3. User Interface testing
7.1 Unit Testing
The first level of testing is called unit testing. Unit testing focuses verification effort on the
smallest unit of software design- the module. In this, different modules are tested against the
specifications produced during design for the modules. Unit testing is essentially for
verification of the code produced during the coding phase and hence the goal is to test the
internal logic of the modules. It is typically done by the programmer of the module. A
module is considered for integration only after it has been unit tested satisfactorily. Due to its
close association with coding, the coding phase is frequently called coding and unit testing.
The unit test can be conducted in parallel for multiple modules.
Features to be tested
Filtering
Deleting
Opening message
Mapping between sender number and