You are on page 1of 73

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 1 INTRODUCTION Mobile phones are one of the most ubiquitous electronic

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 today‟s Android Operating System based mobile phones has limited searching functionalities in messaging inbox.

When search is made based on contact number/a person‟s name the search will results with

all the occurrences of input like mobile number‟s 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.

Mobile Inbox Search Tool Chapter 1 INTRODUCTION Mobile phones are one of the most ubiquitous electronic

Mobile Inbox Search Tool

Mobile Inbox Search Tool Android devices are phones, allowing your software to initiate calls, send and

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

Mobile Inbox Search Tool Android devices are phones, allowing your software to initiate calls, send and

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 2 LITERATURE SURVEY Various researchers all over the world are involvedmanaged 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. Dr.SMCE/Dept of CSE/2011-12 3 " id="pdf-obj-2-4" src="pdf-obj-2-4.jpg">

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.

Mobile Inbox Search Tool Chapter 2 LITERATURE SURVEY Various researchers all over the world are involvedmanaged 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. Dr.SMCE/Dept of CSE/2011-12 3 " id="pdf-obj-2-46" src="pdf-obj-2-46.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool Figure 2.1 shows an Android running in the Android SDK Emulator <aCompany / developer Open Handset Alliance Programmed in [ 1] Working state Current Source model Free and open source software Initial release 21 October 2008; Latest stable release Tablets: 3.1(Honeycomb) Phones: 2.3.4 (Gingerbread) / 24 February 2011; 2 months ago Supported platforms ARM, MIPS, Power Architecture, x86 Kernel type Monolithic (modified Linux kernel) Default user interface Graphical License Apache 2.0 and GPLv 2 Official website android.com Dr.SMCE/Dept of CSE/2011-12 4 " id="pdf-obj-3-4" src="pdf-obj-3-4.jpg">
Mobile Inbox Search Tool Figure 2.1 shows an Android running in the Android SDK Emulator <aCompany / developer Open Handset Alliance Programmed in [ 1] Working state Current Source model Free and open source software Initial release 21 October 2008; Latest stable release Tablets: 3.1(Honeycomb) Phones: 2.3.4 (Gingerbread) / 24 February 2011; 2 months ago Supported platforms ARM, MIPS, Power Architecture, x86 Kernel type Monolithic (modified Linux kernel) Default user interface Graphical License Apache 2.0 and GPLv 2 Official website android.com Dr.SMCE/Dept of CSE/2011-12 4 " id="pdf-obj-3-6" src="pdf-obj-3-6.jpg">

Figure 2.1 shows an Android running in the Android SDK Emulator

Programmed in

C

[1]

Working state

 

Current

Source model

Initial release

21 October 2008;

 

Tablets:

3.1(Honeycomb) [2] Phones:

2.3.4 (Gingerbread) / 24 February 2011; 2 months ago [2]

Supported platforms

Kernel type

Default user interface

 

Apache 2.0 and GPLv2 [3]

Official website

Mobile Inbox Search Tool Figure 2.1 shows an Android running in the Android SDK Emulator <aCompany / developer Open Handset Alliance Programmed in [ 1] Working state Current Source model Free and open source software Initial release 21 October 2008; Latest stable release Tablets: 3.1(Honeycomb) Phones: 2.3.4 (Gingerbread) / 24 February 2011; 2 months ago Supported platforms ARM, MIPS, Power Architecture, x86 Kernel type Monolithic (modified Linux kernel) Default user interface Graphical License Apache 2.0 and GPLv 2 Official website android.com Dr.SMCE/Dept of CSE/2011-12 4 " id="pdf-obj-3-106" src="pdf-obj-3-106.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool 2.2 Survey of android <a href=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 of Danger) , Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile) , and Chris White (headed design and interface development at WebTV) . 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. Dr.SMCE/Dept of CSE/2011-12 5 " id="pdf-obj-4-4" src="pdf-obj-4-4.jpg">
  • 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 of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV). 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.

Mobile Inbox Search Tool 2.2 Survey of android <a href=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 of Danger) , Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile) , and Chris White (headed design and interface development at WebTV) . 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. Dr.SMCE/Dept of CSE/2011-12 5 " id="pdf-obj-4-30" src="pdf-obj-4-30.jpg">

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.

Mobile Inbox Search Tool 2.2 Survey of android <a href=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 of Danger) , Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile) , and Chris White (headed design and interface development at WebTV) . 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. Dr.SMCE/Dept of CSE/2011-12 5 " id="pdf-obj-4-52" src="pdf-obj-4-52.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool  Open Handset Alliance The <a href=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 Dr.SMCE/Dept of CSE/2011-12 6 " id="pdf-obj-5-4" src="pdf-obj-5-4.jpg">
  • 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

Mobile Inbox Search Tool  Open Handset Alliance The <a href=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 Dr.SMCE/Dept of CSE/2011-12 6 " id="pdf-obj-5-65" src="pdf-obj-5-65.jpg">

Figure 2.3 a cupcake was placed beside Android at Googleplex

Mobile Inbox Search Tool  Open Handset Alliance The <a href=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 Dr.SMCE/Dept of CSE/2011-12 6 " id="pdf-obj-5-70" src="pdf-obj-5-70.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool 2.3 Features Current features and specifications Handset layouts The platform is adaptableVGA, 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 text messaging. 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 Android can use video/still cameras, touch screens, GPS, accelerometers, hardware magnetometers, accelerated 2D bit blits (with hardware orientation, Dr.SMCE/Dept of CSE/2011-12 7 " id="pdf-obj-6-4" src="pdf-obj-6-4.jpg">

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 text messaging.

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

Android can use video/still cameras, touch screens, GPS, accelerometers,

hardware

magnetometers, accelerated 2D bit blits (with hardware orientation,

Mobile Inbox Search Tool 2.3 Features Current features and specifications Handset layouts The platform is adaptableVGA, 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 text messaging. 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 Android can use video/still cameras, touch screens, GPS, accelerometers, hardware magnetometers, accelerated 2D bit blits (with hardware orientation, Dr.SMCE/Dept of CSE/2011-12 7 " id="pdf-obj-6-131" src="pdf-obj-6-131.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool support scaling, pixel format conversion) and accelerated 3D graphics. Development Includes adebugging, memory and performance environment 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 the phone 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- Dr.SMCE/Dept of CSE/2011-12 8 " id="pdf-obj-7-4" src="pdf-obj-7-4.jpg">

support

scaling, pixel format conversion) and accelerated 3D graphics.

Development

Includes a device emulator, tools for debugging, memory and performance

environment

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 the phone 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-

Mobile Inbox Search Tool support scaling, pixel format conversion) and accelerated 3D graphics. Development Includes adebugging, memory and performance environment 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 the phone 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- Dr.SMCE/Dept of CSE/2011-12 8 " id="pdf-obj-7-79" src="pdf-obj-7-79.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool tracking system. (Google announced an issue tracker on 18 January 2008.) InSnake 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 Dr.SMCE/Dept of CSE/2011-12 9 " id="pdf-obj-8-4" src="pdf-obj-8-4.jpg">

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.

Mobile Inbox Search Tool tracking system. (Google announced an issue tracker on 18 January 2008.) InSnake 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 Dr.SMCE/Dept of CSE/2011-12 9 " id="pdf-obj-8-24" src="pdf-obj-8-24.jpg">

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

Mobile Inbox Search Tool tracking system. (Google announced an issue tracker on 18 January 2008.) InSnake 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 Dr.SMCE/Dept of CSE/2011-12 9 " id="pdf-obj-8-64" src="pdf-obj-8-64.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool Android applications as well as control attached Android devices (e.g., triggering asoftware 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 .apk format 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 most promising 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. Dr.SMCE/Dept of CSE/2011-12 10 " id="pdf-obj-9-4" src="pdf-obj-9-4.jpg">

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 .apk format 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 most promising 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.

Mobile Inbox Search Tool Android applications as well as control attached Android devices (e.g., triggering asoftware 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 .apk format 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 most promising 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. Dr.SMCE/Dept of CSE/2011-12 10 " id="pdf-obj-9-32" src="pdf-obj-9-32.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool 2.5.4 Third party applications With the growing number of Android handsets, thereShazam, 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, conducted by 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 Dr.SMCE/Dept of CSE/2011-12 11 " id="pdf-obj-10-4" src="pdf-obj-10-4.jpg">
  • 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, conducted by 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

Mobile Inbox Search Tool 2.5.4 Third party applications With the growing number of Android handsets, thereShazam, 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, conducted by 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 Dr.SMCE/Dept of CSE/2011-12 11 " id="pdf-obj-10-65" src="pdf-obj-10-65.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool audio support and the ability to store downloaded applications on the <amicroSD 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 Dr.SMCE/Dept of CSE/2011-12 12 " id="pdf-obj-11-4" src="pdf-obj-11-4.jpg">

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.

Mobile Inbox Search Tool audio support and the ability to store downloaded applications on the <amicroSD 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 Dr.SMCE/Dept of CSE/2011-12 12 " id="pdf-obj-11-30" src="pdf-obj-11-30.jpg">

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

Mobile Inbox Search Tool audio support and the ability to store downloaded applications on the <amicroSD 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 Dr.SMCE/Dept of CSE/2011-12 12 " id="pdf-obj-11-38" src="pdf-obj-11-38.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool Research company Canalys estimated in Q2 2009 that Android had a 2.8%Linux 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. Dr.SMCE/Dept of CSE/2011-12 13 " id="pdf-obj-12-4" src="pdf-obj-12-4.jpg">

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 of Linux 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.

Mobile Inbox Search Tool Research company Canalys estimated in Q2 2009 that Android had a 2.8%Linux 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. Dr.SMCE/Dept of CSE/2011-12 13 " id="pdf-obj-12-33" src="pdf-obj-12-33.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool  Google no longer maintains the Android code they previously contributed toLinux 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: Dr.SMCE/Dept of CSE/2011-12 14 " id="pdf-obj-13-4" src="pdf-obj-13-4.jpg">
  • 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:

Mobile Inbox Search Tool  Google no longer maintains the Android code they previously contributed toLinux 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: Dr.SMCE/Dept of CSE/2011-12 14 " id="pdf-obj-13-63" src="pdf-obj-13-63.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool  A source of criticism has been the lack of standards-based <aiCalendar /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. Dr.SMCE/Dept of CSE/2011-12 15 " id="pdf-obj-14-4" src="pdf-obj-14-4.jpg">
  • 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.

Mobile Inbox Search Tool  A source of criticism has been the lack of standards-based <aiCalendar /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. Dr.SMCE/Dept of CSE/2011-12 15 " id="pdf-obj-14-40" src="pdf-obj-14-40.jpg">

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 3 SOFTWARE REQUIREMENTS SPECIFICATION A software requirements specification (SRS) is a

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 sender‟s 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

„9449762999‟will get displayed.

Mobile Inbox Search Tool Chapter 3 SOFTWARE REQUIREMENTS SPECIFICATION A software requirements specification (SRS) is a

Mobile Inbox Search Tool

Mobile Inbox Search Tool Search by Date This feature allows us to search and display messages

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 use for designing of graphical user interface are described here.

Parameter

Values

Operating System

Android OS

Language

Java

  • Eclipse 3.2 or higher version‟s

  • 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.

Mobile Inbox Search Tool Search by Date This feature allows us to search and display messages

Mobile Inbox Search Tool

Mobile Inbox Search Tool  The Android SDK requires disk storage for all of the components
  • 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

Mobile Inbox Search Tool  The Android SDK requires disk storage for all of the components

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 4 SYSTEM ANALYSIS After exploring existing mobile city guides and scenarios,

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

can

H

show map of a city.

2

The map

can

be

H

zoomed in and out

3

Users

can around the map

move

H

4

The

city

guide

can

H

show user‟s current

position on the map

5

The

city

guide

can

M

show

the

route

between

 

different

locations on the map

6

The city guide can see

L

other users‟ positions

in the same group on the map

7

The

map

can

show

H

points

of

interest

(POIs)

8

The map only shows

M

Mobile Inbox Search Tool Chapter 4 SYSTEM ANALYSIS After exploring existing mobile city guides and scenarios,

Mobile Inbox Search Tool

the points of interest users are interested in
the points of interest
users are interested in

Information Retrieval

ID

Requirement

 

Priority

 

9

The city guide

can

H

 

retrieve information of points of interest

10

The city guide

can

M

 

retrieve information of events, which will happen right now.

11

The

city

guide

can

M

 

retrieve

information

about

reviews

of

points of interest

12

Users can select what kind of POIs to show on map (i.e. different classifications. e.g. hotels, museums, restaurants events, and so on).

M

 

Communication

ID

Requirement

 

Priority

 

13

The

city

guide

can

M

 

support communication between users in the

same

group

through

telephone

or

short

message.

 

Review

ID

Requirement

 

Priority

 

14

Users can add review

M

 

about

points

of

interest.

 
 

ID

Requirement

 

Priority

 

15

The

city

guide

can

H

 

support

event

reminder

like

lunch

time

Fig 4.1 Functional requirements

Mobile Inbox Search Tool the points of interest users are interested in Information Retrieval ID Requirement

Mobile Inbox Search Tool

Mobile Inbox Search Tool 4.2 Non-Functional Requirements  Speed of access: Messaging and many app in
  • 4.2 Non-Functional Requirements

    • Speed of access: Messaging and many app in the android device provides us to access faster.

    • Performance on most machines: The application created can be used in any of the android based mobiles with particular version.

    • Ease of use: The application can be created so that it will be easy to work by the normal user also. And also Android applications are written in java, developers will be 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 quite reasonable.

    • Its free if it is to be published in India.

Mobile Inbox Search Tool 4.2 Non-Functional Requirements  Speed of access: Messaging and many app in

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 5 SYSTEM DESIGN 5.1 Development Methods 1. The development method that

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 customer‟s 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.

Mobile Inbox Search Tool Chapter 5 SYSTEM DESIGN 5.1 Development Methods 1. The development method that

Mobile Inbox Search Tool

Mobile Inbox Search Tool  Future plans for extending or enhancing the software We are currently
  • 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 doesn‟t 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 device‟s 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.

Mobile Inbox Search Tool  Future plans for extending or enhancing the software We are currently

Mobile Inbox Search Tool

Mobile Inbox Search Tool Figure 5.1 Android System Architecture Android system architecture consists of four layers
Mobile Inbox Search Tool Figure 5.1 Android System Architecture Android system architecture consists of four layers

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.

Mobile Inbox Search Tool Figure 5.1 Android System Architecture Android system architecture consists of four layers

Mobile Inbox Search Tool

Mobile Inbox Search Tool 5.4 Data flow diagrams DFD Level 0 Level 0 DFD includes the

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.

1.0 Search Result criteria Mobile Inbox & data search Tool
1.0
Search
Result
criteria
Mobile Inbox
& data
search Tool
User
User
User
User

Figure 5.2 Basic data flow

Mobile Inbox Search Tool 5.4 Data flow diagrams DFD Level 0 Level 0 DFD includes the

Level 0, broadly explains the main entities involved. The user provides the type of the search

Mobile Inbox Search Tool 5.4 Data flow diagrams DFD Level 0 Level 0 DFD includes the

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

1.0.1 Input Result Processing 1.0.2 Database 1.0.3 View Management
1.0.1
Input
Result
Processing
1.0.2
Database
1.0.3
View
Management

diagram.

Search

criteria

& data

Mobile Inbox Search Tool 5.4 Data flow diagrams DFD Level 0 Level 0 DFD includes the
USER
USER
USER
USER

Figure 5.3 Expansion of MIST Tool

Mobile Inbox Search Tool 5.4 Data flow diagrams DFD Level 0 Level 0 DFD includes the

Mobile Inbox Search Tool

Mobile Inbox Search Tool DFD level 2 Level 2 DFD as shown in below figure. Level

DFD level 2

Level 2 DFD as shown in below figure. Level 2 elaborates Level 1 DFD in more detail.

Sender Search By 1.0.1.2 1.0.1.1
Sender
Search By
1.0.1.2
1.0.1.1
Number Search By
Number
Search By
1.0.1.4 1.0.1.3 Search By Date
1.0.1.4
1.0.1.3
Search By
Date
unread messages Display
unread
messages
Display
1.0.2.3 1.0.2.2 1.0.2.1 handler Query SQLite Database management Cursor
1.0.2.3
1.0.2.2
1.0.2.1
handler
Query
SQLite Database
management
Cursor
Mobile Inbox Search Tool DFD level 2 Level 2 DFD as shown in below figure. Level
USER
USER
USER
USER
Mobile Inbox Search Tool DFD level 2 Level 2 DFD as shown in below figure. Level
Mobile Inbox Search Tool DFD level 2 Level 2 DFD as shown in below figure. Level

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

Mobile Inbox Search Tool DFD level 2 Level 2 DFD as shown in below figure. Level

Mobile Inbox Search Tool

Mobile Inbox Search Tool the search .It comprises of 3 units namely Query Handler, SQLite database

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 the ListView 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.

Mobile Inbox Search Tool the search .It comprises of 3 units namely Query Handler, SQLite database

Mobile Inbox Search Tool

Mobile Inbox Search Tool 4. Display Unread messages modules Flow Chart i/p Module i/p Query Populate
  • 4. Display Unread messages modules Flow Chart

i/p Module i/p Query Populate List Query Contacts Databases Query SMS Database Display Sub-Module Delete Module
i/p Module
i/p Query
Populate List
Query Contacts
Databases
Query SMS Database
Display Sub-Module
Delete Module
Array Adapter

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

Mobile Inbox Search Tool 4. Display Unread messages modules Flow Chart i/p Module i/p Query Populate

Mobile Inbox Search Tool

Mobile Inbox Search Tool The name of the sender must be present in the phone book

The name of the sender must be present in the phone book i.e. messages from unknown numbers cannot be filtered.

Composition

The various modules of this subsystem are described below:

  • 1. Input module Classification This is a module of the subsystem Search by Sender. Definition It is responsible for taking input from the user. Responsibilities This module provides a edit text box with TextWatcherlistener attached to it which calls a callback whenever the input in the edit text box changes. Constraints Valid input must be given. 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 Sender. Definition It is responsible for processing the user input and displaying the results in ListView. Responsibilities Extracts the user input entered in the edit text box and generates a suitable query, queries the SMS database and displays the result. Composition This consists of four sub-modules which are as follows

Mobile Inbox Search Tool The name of the sender must be present in the phone book

Mobile Inbox Search Tool

Mobile Inbox Search Tool 1. Input Query 2. Query SMS database 3. Display sub-module 4. Interface/Exports
  • 1. Input Query

  • 2. Query SMS database

  • 3. Display sub-module

  • 4. Interface/Exports

Interface/Exports

This 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.

Mobile Inbox Search Tool 1. Input Query 2. Query SMS database 3. Display sub-module 4. Interface/Exports

Mobile Inbox Search Tool

Mobile Inbox Search Tool Responsibilities It generates a customized View for displaying the results obtained by

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. Responsibilities This module provides a edit text box with TextWatcherlistener attached to it which calls a callback whenever the input in the edit text box changes.

Mobile Inbox Search Tool Responsibilities It generates a customized View for displaying the results obtained by

Mobile Inbox Search Tool

Mobile Inbox Search Tool Constraints The input to the search tool must be number . Uses/Interactions

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. Definition It is responsible for processing the user input and displaying the results in ListView. Responsibilities Extracts the user input entered in the edit text box and generates a suitable query, queries the database and displays the result.

Composition

This 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 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

Mobile Inbox Search Tool Constraints The input to the search tool must be number . Uses/Interactions

Mobile Inbox Search Tool

Mobile Inbox Search Tool those messages by finding out their unique IDs. Also this module returns

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

Mobile Inbox Search Tool those messages by finding out their unique IDs. Also this module returns

Mobile Inbox Search Tool

Mobile Inbox Search Tool This subsystem allows the user to search messages sent on a particular

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 Classification This is a module of the subsystem Search by Date. Definition It is responsible for taking input from the user. Responsibilities This 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/Interactions Android 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 Classification This is a module of the subsystem Search by Date. Definition It is responsible for processing the user input and displaying the results in ListView. Responsibilities Extracts 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.

Mobile Inbox Search Tool This subsystem allows the user to search messages sent on a particular

Mobile Inbox Search Tool

Mobile Inbox Search Tool Composition This consists of four sub-modules which are as follows 1. Input

Composition

This 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. 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 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

Mobile Inbox Search Tool Composition This consists of four sub-modules which are as follows 1. Input

Mobile Inbox Search Tool

Mobile Inbox Search Tool It generates a customized View for displaying the results obtained by Search

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

Classification

This is a module of the subsystem Display Unread messages.

Definition

It is responsible for displaying all the Unread messages in a customized ListView.

Responsibilities

This module displays allthe Unread messages with the sender name and a part of the message

content in a customized ListView.

Mobile Inbox Search Tool It generates a customized View for displaying the results obtained by Search

Mobile Inbox Search Tool

Mobile Inbox Search Tool Composition This consists of four sub-modules which are as follows 1. Input

Composition

This 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

Mobile Inbox Search Tool Composition This consists of four sub-modules which are as follows 1. Input

Mobile Inbox Search Tool

Mobile Inbox Search Tool It generates a customized View for displaying the results obtained by Display

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.

Mobile Inbox Search Tool It generates a customized View for displaying the results obtained by Display

Mobile Inbox Search Tool

Mobile Inbox Search Tool 5.6 UML diagrams 5.6.1 Use case diagram The use case diagram for

5.6 UML diagrams 5.6.1 Use case diagram

The use case diagram for mobile inbox search tool is as shown below:

Mobile Inbox Search Tool 5.6 UML diagrams 5.6.1 Use case diagram The use case diagram for

Figure 5.6 Use case diagram

Mobile Inbox Search Tool 5.6 UML diagrams 5.6.1 Use case diagram The use case diagram for

Mobile Inbox Search Tool

Mobile Inbox Search Tool 5.6 .2 Sequence diagrams Figure 5.7 Main Sequence diagram Dr.SMCE/Dept of CSE/2011-12

5.6 .2 Sequence diagrams

Mobile Inbox Search Tool 5.6 .2 Sequence diagrams Figure 5.7 Main Sequence diagram Dr.SMCE/Dept of CSE/2011-12

Figure 5.7 Main Sequence diagram

Mobile Inbox Search Tool 5.6 .2 Sequence diagrams Figure 5.7 Main Sequence diagram Dr.SMCE/Dept of CSE/2011-12

Mobile Inbox Search Tool

Mobile Inbox Search Tool Fig 5.8 Sequence diagram for searching Dr.SMCE/Dept of CSE/2011-12 41
Mobile Inbox Search Tool Fig 5.8 Sequence diagram for searching Dr.SMCE/Dept of CSE/2011-12 41

Fig 5.8 Sequence diagram for searching

Mobile Inbox Search Tool Fig 5.8 Sequence diagram for searching Dr.SMCE/Dept of CSE/2011-12 41

Mobile Inbox Search Tool

Mobile Inbox Search Tool 5.6.3 Activity diagram Figure 5.9 Activity diagram Dr.SMCE/Dept of CSE/2011-12 42

5.6.3 Activity diagram

Mobile Inbox Search Tool 5.6.3 Activity diagram Figure 5.9 Activity diagram Dr.SMCE/Dept of CSE/2011-12 42

Figure 5.9 Activity diagram

Mobile Inbox Search Tool 5.6.3 Activity diagram Figure 5.9 Activity diagram Dr.SMCE/Dept of CSE/2011-12 42

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 6 IMPLEMENTATION The project we have undertaken involves searching mechanism which

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 API‟s.

  • 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 don‟t 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 didn‟t 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

Mobile Inbox Search Tool Chapter 6 IMPLEMENTATION The project we have undertaken involves searching mechanism which

Mobile Inbox Search Tool

Mobile Inbox Search Tool  java.beans: A few classes and interfaces for JavaBeans property changes 
  • java.beans: A few classes and interfaces for JavaBeans property changes

  • java.io: File and stream I/O and etc.

Not Supported Packages

These 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.

Mobile Inbox Search Tool  java.beans: A few classes and interfaces for JavaBeans property changes 

Mobile Inbox Search Tool

Mobile Inbox Search Tool  A component-based architecture inspired by Internet mashups: Parts of one application
  • 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 Android‟s 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.

Mobile Inbox Search Tool  A component-based architecture inspired by Internet mashups: Parts of one application

Mobile Inbox Search Tool

Mobile Inbox Search Tool 6.3 Details of the Interface We have implemented the user interface using
  • 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 project‟s 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.

Mobile Inbox Search Tool 6.3 Details of the Interface We have implemented the user interface using

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 7 TESTING AND RESULTS The purpose of this section is to

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 name.

Items to be tested

Mobile Inbox Search Tool Chapter 7 TESTING AND RESULTS The purpose of this section is to

Mobile Inbox Search Tool

Mobile Inbox Search Tool  Algorithm performing filtering  Algorithm performing deleting  Algorithm for opening
  • Algorithm performing filtering

  • Algorithm performing deleting

  • Algorithm for opening message

  • Algorithm performing mapping between sender number and name.

Purpose of Testing

  • To check for the proper functionality of filtering algorithm.

  • To check for the proper functionality of deleting algorithm.

  • To check for the proper functionality of message opening algorithm.

  • To check for the mapping between sender number and name.

Pass / Fail Criteria The messages in the inbox should be filtered out depending on the criteria in which the user is interested. If the user selects the delete option from the menu, the checked messages should be deleted from the displayed result. Once the user selects a message the corresponding conversation should be opened by the default SMS manager.

The test cases listed below contain the details of our considerations while testing the working of the module.

Mobile Inbox Search Tool  Algorithm performing filtering  Algorithm performing deleting  Algorithm for opening

Mobile Inbox Search Tool

Mobile Inbox Search Tool Sl No. of Name of Item / Sample Expected Actual output Result

Sl No. of

Name of

Item /

Sample

Expected

Actual output

Result

test case

test

Feature

Input

output

being tested

 
  • 1 Filtering

SBS

 

Complete

All messages

All messages

passed

filtering 1

algorithm

sender

from the

from the

name

corresponding

corresponding

sender

sender

 
  • 2 Filtering

SBS

 

Partial

All messages

All the

passed

filtering 2

algorithm

sender

from senders

messages

name

whose names begin with the character sequence entered by user

from senders whose names begin with the character sequence entered by user

 
  • 3 Deleting

SBS

 

Checking

The selected

The selected

 

deleting

algorithm

the

messages

messages

messages to

have to be

have been

be deleted

deleted from the list as well as the database

deleted from the list as well as the database

passed

 
  • 4 Opening

SBS

 

Clicking on

The

The

passed

opening

algorithm

the

conversation

conversation

message to

containing the

containing the

be opened

messages

messages

corresponding

corresponding

to the

to the

particular

particular

sender should

sender should

be opened

be opened

 
  • 5 Mapping

SBS

 

List

of

Numbers

Numbers

passed

Mapping

algorithm

Numbers

mapped to the

mapped to the

from

the

corresponding

corresponding

SMS

names.

names.

database

 
  • 6 Mapping

SBS

 

A sender

All numbers

Only primary

Failed

Mobile Inbox Search Tool Sl No. of Name of Item / Sample Expected Actual output Result

Mobile Inbox Search Tool

Mobile Inbox Search Tool Mapping. algorithm having mapped to the number is multiple mapped to the
 

Mapping.

algorithm

having

mapped to the

number is

 

multiple

mapped to the

numbers

corresponding name

sender name and rest of the numbers were ignored. There by the messages from those numbers were not displayed.

TEST RESULT: It happened because of wrong URI and was replaced by proper URI

Sl No. of

Name of

Item /

Sample

Expected

 

Actual output

Result

test case

test

Feature

Input

output

being tested

  • 1 SBN

 

Filtering

Partial

All

messages

All

messages

Passed

filtering 1

algorithm

number

from

the

from

the

corresponding

corresponding

number

number

  • 2 SBN

 

Filtering

Partial

All messages

All the

Passed

filtering 2

algorithm

number

from senders whose numbers begin with the number sequence entered by user

messages from senders whose number begin with the number sequence entered by user

  • 3 SBN

 

Deleting

Checking

The

selected

The selected

passed

deleting

algorithm

the

messages

messages

 

messages have been

to be

have

to

be

deleted from

deleted

deleted

from

the list as well

the list as well the

as

as the database

database

 
  • 4 SBN

 

Opening

Clicking on

The

The

passed

opening

algorithm

the

conversation

conversation

message to

containing the

containing the

Mobile Inbox Search Tool Mapping. algorithm having mapped to the number is multiple mapped to the

Mobile Inbox Search Tool

Mobile Inbox Search Tool be opened messages messages corresponding corresponding to the to the particular particular
     

be opened

messages

messages

 

corresponding

corresponding

to the

to the

particular

particular

number

number

should be

should be

opened

opened

TEST RESULT : To solve this, a constraint that only one activity of the type can be launched in a tab was introduced. Launching an already launched activity will launch it as a separate activity occupying the whole screen and will function independently will all respects compared to the one placed under a tab.

  • 7.2 Integration Testing

The second level of testing is called integration testing. In this, many unit tested modules are combined into subsystems, which are then tested. The goal here is to see if all the modules can be integrated properly.

Features to be tested

  • Index

  • Launching of different activities in different tabs.

Items to be tested

  • Algorithm for starting different activities in different tabs.

Purpose of Testing The main purpose of this testing is to see how seamlessly the different activities are called and placed within tabs.

  • 7.3 Interface Testing

In this type of testing, we wish to test the user interfaces associated with each module and also the application as a whole.

Mobile Inbox Search Tool be opened messages messages corresponding corresponding to the to the particular particular

Mobile Inbox Search Tool

Mobile Inbox Search Tool The test cases listed below contain the details of our considerations while

The test cases listed below contain the details of our considerations while testing the working of the user interface of the system.

Sl No

Name of

Item/features

Sample

Expected Output

Actual

Resul

of test

the text

Being test

Input

Output

t

case

  • 1 UI 1

 

User Interfaces

Pressing

Change in the

Changes

Passe

Menu

layout of the list

as

d

Button and

View to allow user

mentione

Selecting

to check mark

d above

Delete

multiple messages

occurs

Option

properly

in all

modules

  • 2 UI 2

 

User Interfaces of

Click on

1.DatePicker been

set to “Set the date”

Changed

Passe

search by date

1.Set the

shown allowing the

as

d

date button

user to set the date .

mention

2.Reset

After the date is set,

above

button

the text of the

original buttons changes to the set date 2.Previously set date should be cleared and the text of the buttons gets

Mobile Inbox Search Tool The test cases listed below contain the details of our considerations while

Mobile Inbox Search Tool

Mobile Inbox Search Tool Chapter 8 CONCLUSION & FUTURE ENHANCEMENTS This application was developed as a

Chapter 8

CONCLUSION & FUTURE ENHANCEMENTS

This application was developed as a utility application to aid the searching and deletion operation. The application promised 4 features namely : Search By Sender , Search By Number , Search By Date and Time and Display Unread . All the features were successfully implemented.

This application was developed for the Android Platform. The reasons for choosing the android platform were :

  • Open Source

  • Android doesn‟t differentiate between native applications and third party applications, thus giving the developer ability to realize the full power of the platform.

  • Data from other applications can be easily accessed and modified thus we were able to access the contacts and sms from the default application present on the phone.

  • Other applications on the phone can easily be called from current application.

  • XML to develop the User Interface.

To develop the application we followed the prototype based development, where each feature was individually developed in phases and in each phase functionality was added, upgraded or unnecessary ones were removed. After the individual features were ready they were integrated to form the final application. Using prototype development made application development easy for us to accomplish changes.

The individual features are placed in tabs for easy user navigation. Also appropriate menus and buttons are provided for the user to use the application easily.

  • 8.1 Future Enhancements

    • The application currently searches only the inbox of the mobile and with very few changes it can be extended to search through the outbox, drafts, sent items as well.

    • The application currently is a standalone application and if integrated into the messaging application will make it a very effective tool for the user to use.

Mobile Inbox Search Tool Chapter 8 CONCLUSION & FUTURE ENHANCEMENTS This application was developed as a

Mobile Inbox Search Tool

Mobile Inbox Search Tool  The application is developed specifically for android and in future can
  • The application is developed specifically for android and in future can be developed for other platforms like symbian, iPhone , blackberry etc as well.

Mobile Inbox Search Tool  The application is developed specifically for android and in future can

Mobile Inbox Search Tool

Mobile Inbox Search Tool APPENDIX-A SOURCE CODE SECTION The code for android-sdk-windows platform 1.5 is written

APPENDIX-A SOURCE CODE SECTION

The code for android-sdk-windows platform 1.5 is written below:

1.DisplayUnread.java

//This program is responsible for listing unread messages.

package com.ist.activity;

import java.util.List;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnLongClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

import com.ist.pojo.Message;

import com.ist.util.MessageAdapter;

import com.ist.util.MessageUtil;

/**

*

* @author Sumit Anvekar

Mobile Inbox Search Tool APPENDIX-A SOURCE CODE SECTION The code for android-sdk-windows platform 1.5 is written

Mobile Inbox Search Tool

Mobile Inbox Search Tool * IST * com.ist.activity.UnreadMessageListActivity */ public class UnreadMessageListActivity extends Activity { List<Message>

* IST

* com.ist.activity.UnreadMessageListActivity

*/

public class UnreadMessageListActivity extends Activity {

List<Message> unreadMessages = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

unreadMessages = MessageUtil.GetSMSList(getContentResolver(), getApplicationContext(), "read=0");

setContentView(R.layout.unreadmessagelist);

ListView lv = (ListView) findViewById(R.id.msgList);

lv.setAdapter(new MessageAdapter(getApplicationContext(), unreadMessages));

lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int

position, long id) {

Intent msgIntent = new Intent(Intent.ACTION_VIEW);

msgIntent.setData(Uri.parse("content://mms-

sms/conversations/" + id));

});

}

startActivity(msgIntent);

lv.setOnLongClickListener(new OnLongClickListener() {

Mobile Inbox Search Tool * IST * com.ist.activity.UnreadMessageListActivity */ public class UnreadMessageListActivity extends Activity { List<Message>

Mobile Inbox Search Tool

Mobile Inbox Search Tool public boolean onLongClick(View arg0) { // TODO Create Context Menu to OPEN,

public boolean onLongClick(View arg0) {

// TODO Create Context Menu to OPEN, MARK READ,

DELETE

 

return false;

 

}

 

});

}

}

2. SearchByNumber.java

//This program is responsible for filtering out the messages based on sender number.

package com.ist.activity;

import java.util.HashMap;

import java.util.List;

import com.ist.pojo.Message;

import com.ist.util.MessageAdapter;

import com.ist.util.MessageUtil;

import com.ist.util.literals.IApplicationLiterals;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.text.Editable;

import android.text.TextWatcher;

import android.view.View;

import android.view.View.OnLongClickListener;

import android.widget.AdapterView;

Mobile Inbox Search Tool public boolean onLongClick(View arg0) { // TODO Create Context Menu to OPEN,

Mobile Inbox Search Tool

Mobile Inbox Search Tool import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; /** * * @author Sumit Anvekar

import android.widget.ListView;

import android.widget.TextView;

import android.widget.AdapterView.OnItemClickListener;

/**

*

* @author Sumit Anvekar

* IST

* com.ist.activity.ByNumberListActivity

*/

public class ByNumberListActivity extends Activity implements IApplicationLiterals{

private HashMap<String, Message> goldMap;

List<Message> messages;

@SuppressWarnings("unchecked")

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Intent intent = getIntent();

goldMap = (HashMap<String, Message>) intent.getSerializableExtra("goldMap");

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_NUMBER, null);

setContentView(R.layout.searchbynumber);

updateList();

TextView tv = (TextView) findViewById(R.id.keyWord_txt);

Mobile Inbox Search Tool import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; /** * * @author Sumit Anvekar

Mobile Inbox Search Tool

Mobile Inbox Search Tool tv.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int

tv.addTextChangedListener(new TextWatcher() {

public void onTextChanged(CharSequence s, int start, int before, int

count) {

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_NUMBER, s.toString());

updateList();

}

public void afterTextChanged(Editable s) {

//TODO: Do Nothing

}

public void beforeTextChanged(CharSequence s, int start, int count,

}

int after) {

//TODO: Do Nothing

});

}

private void updateList(){

ListView lv = (ListView) findViewById(R.id.msgList);

lv.setAdapter(new MessageAdapter(getApplicationContext(), messages));

lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int

position, long id) {

Intent msgIntent = new Intent(Intent.ACTION_VIEW);

Mobile Inbox Search Tool tv.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int

Mobile Inbox Search Tool

Mobile Inbox Search Tool msgIntent.setData(Uri.parse("content://mms- sms/conversations/" + id)); }); } startActivity(msgIntent); lv.setOnLongClickListener(new OnLongClickListener() { public boolean

msgIntent.setData(Uri.parse("content://mms-

sms/conversations/" + id));

});

}

startActivity(msgIntent);

lv.setOnLongClickListener(new OnLongClickListener() {

public boolean onLongClick(View arg0) {

// TODO Create Context Menu to OPEN, MARK READ,

DELETE

 

return false;

 

}

 

});

}

}

3.SearchBySender.java

//This program is responsible for filtering out the messages based on sender name.

package com.ist.activity;

import java.util.HashMap;

import java.util.List;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.text.Editable;

Mobile Inbox Search Tool msgIntent.setData(Uri.parse("content://mms- sms/conversations/" + id)); }); } startActivity(msgIntent); lv.setOnLongClickListener(new OnLongClickListener() { public boolean

Mobile Inbox Search Tool

Mobile Inbox Search Tool import android.text.TextWatcher; import android.view.View; import android.view.View.OnLongClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView;

import android.text.TextWatcher;

import android.view.View;

import android.view.View.OnLongClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

import android.widget.TextView;

import com.ist.pojo.Message;

import com.ist.util.MessageAdapter;

import com.ist.util.MessageUtil;

import com.ist.util.literals.IApplicationLiterals;

/**

*

* @author Sumit Anvekar

* IST

* com.ist.activity.ByNameListActivity

*/

public class ByNameListActivity extends Activity implements IApplicationLiterals{

private HashMap<String, Message> goldMap;

List<Message> messages;

Long selectedId;

AlertDialog alert;

@SuppressWarnings("unchecked")

Mobile Inbox Search Tool import android.text.TextWatcher; import android.view.View; import android.view.View.OnLongClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView;

Mobile Inbox Search Tool

Mobile Inbox Search Tool @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); goldMap

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Intent intent = getIntent();

goldMap = (HashMap<String, Message>) intent.getSerializableExtra("goldMap");

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_NAME, null);

setContentView(R.layout.searchbyname);

updateList();

createDialog();

TextView tv = (TextView) findViewById(R.id.keyWord_txt);

tv.addTextChangedListener(new TextWatcher() {

public void onTextChanged(CharSequence s, int start, int before, int

count) {

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_NAME, s.toString());

updateList();

}

public void afterTextChanged(Editable s) {

//TODO: Do Nothing

}

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

Mobile Inbox Search Tool @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); goldMap

Mobile Inbox Search Tool

Mobile Inbox Search Tool } //TODO: Do Nothing }); } private void createDialog() { AlertDialog.Builder builder

}

//TODO: Do Nothing

});

}

private void createDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Select an Action:");

builder.setItems(items, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int item) {

Long itemId = null;

Long threadId = null;

switch (item) {

case 0:

Intent msgIntent = new Intent(Intent.ACTION_VIEW);

sms/conversations/" + threadId));

msgIntent.setData(Uri.parse("content://mms-

startActivity(msgIntent);

break;

case 1:

getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadId), "_id = ?", new String[]{"" + itemId});

break;

case 2:

Mobile Inbox Search Tool } //TODO: Do Nothing }); } private void createDialog() { AlertDialog.Builder builder

Mobile Inbox Search Tool

Mobile Inbox Search Tool } }); } break; } private void updateList(){ ListView lv = (ListView)

}

});

}

 

break;

}

private void updateList(){

ListView lv = (ListView) findViewById(R.id.msgList);

lv.setAdapter(new MessageAdapter(getApplicationContext(), messages));

lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int

position, long id) {

Intent msgIntent = new Intent(Intent.ACTION_VIEW);

msgIntent.setData(Uri.parse("content://mms-

sms/conversations/" + id));

});

}

startActivity(msgIntent);

lv.setOnLongClickListener(new OnLongClickListener() {

public boolean onLongClick(View arg0) {

// TODO Create Context Menu to OPEN, MARK READ,

DELETE

alert.show();

return false;

Mobile Inbox Search Tool } }); } break; } private void updateList(){ ListView lv = (ListView)

Mobile Inbox Search Tool

Mobile Inbox Search Tool }); } registerForContextMenu(lv); } } 4.SearchByDate.java //This program is responsible for filtering

});

}

registerForContextMenu(lv);

}

}

4.SearchByDate.java

//This program is responsible for filtering out the messages based on Date and Time or Only Date.

package com.ist.activity;

import java.util.Calendar;

import java.util.HashMap;

import java.util.List;

import com.ist.pojo.Message;

import com.ist.util.MessageAdapter;

import com.ist.util.MessageUtil;

import com.ist.util.literals.IApplicationLiterals;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.Dialog;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnLongClickListener;

import android.widget.AdapterView;

import android.widget.DatePicker;

import android.widget.ListView;

Mobile Inbox Search Tool }); } registerForContextMenu(lv); } } 4.SearchByDate.java //This program is responsible for filtering

Mobile Inbox Search Tool

Mobile Inbox Search Tool import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; /** * * @author Sumit Anvekar * IST

import android.widget.TextView;

import android.widget.AdapterView.OnItemClickListener;

/**

*

* @author Sumit Anvekar

* IST

* com.ist.activity.ByDateListActivity

*/

public class ByDateListActivity extends Activity implements IApplicationLiterals{

private TextView fromDate;

private TextView toDate;

private int mYear;

private int mMonth;

private int mDay;

private boolean isToDate;

private HashMap<String, Message> goldMap;

List<Message> messages;

@SuppressWarnings("unchecked")

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.searchbydate);

fromDate = (TextView) findViewById(R.id.fromDate);

toDate = (TextView) findViewById(R.id.toDate);

Mobile Inbox Search Tool import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; /** * * @author Sumit Anvekar * IST

Mobile Inbox Search Tool

Mobile Inbox Search Tool // add a click listener to the button fromDate.setOnClickListener(new View.OnClickListener() { public

// add a click listener to the button

fromDate.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

isToDate = false;

showDialog(DATE_DIALOG_ID);

});

}

toDate.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

isToDate = true;

showDialog(DATE_DIALOG_ID);

});

}

// get the current date

final Calendar c = Calendar.getInstance();

mYear = c.get(Calendar.YEAR);

mMonth = c.get(Calendar.MONTH);

mDay = c.get(Calendar.DAY_OF_MONTH);

Intent intent = getIntent();

goldMap = (HashMap<String, Message>) intent.getSerializableExtra("goldMap");

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_DATE, fromDate.getText() + "~" + toDate.getText());

updateList();

}

Mobile Inbox Search Tool // add a click listener to the button fromDate.setOnClickListener(new View.OnClickListener() { public

Mobile Inbox Search Tool

Mobile Inbox Search Tool private void updateList(){ ListView lv = (ListView) findViewById(R.id.msgList); lv.setAdapter(new MessageAdapter(getApplicationContext(), messages)); lv.setTextFilterEnabled(true);

private void updateList(){

ListView lv = (ListView) findViewById(R.id.msgList);

lv.setAdapter(new MessageAdapter(getApplicationContext(), messages));

lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int

position, long id) {

Intent msgIntent = new Intent(Intent.ACTION_VIEW);

msgIntent.setData(Uri.parse("content://mms-

sms/conversations/" + id));

});

}

startActivity(msgIntent);

lv.setOnLongClickListener(new OnLongClickListener() {

public boolean onLongClick(View arg0) {

// TODO Create Context Menu to OPEN, MARK READ,

DELETE

});

}

return false;

registerForContextMenu(lv);

}

// updates the date in the TextView

private void updateDisplay() {

String textDate = new StringBuilder()

Mobile Inbox Search Tool private void updateList(){ ListView lv = (ListView) findViewById(R.id.msgList); lv.setAdapter(new MessageAdapter(getApplicationContext(), messages)); lv.setTextFilterEnabled(true);

Mobile Inbox Search Tool

Mobile Inbox Search Tool // Month is 0 based so add 1 .append(mMonth + 1).append("-") .append(mDay).append("-")

// Month is 0 based so add 1

.append(mMonth + 1).append("-")

.append(mDay).append("-")

.append(mYear).append(" ").toString();

if(isToDate){

toDate.setText(textDate);

}else{

fromDate.setText(textDate);

}

messages = MessageUtil.getMessageList(goldMap, FORMAT_TYPE_DATE, fromDate.getText() + "~" + toDate.getText());

updateList();

}

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

mYear = year;

mMonth = monthOfYear;

mDay = dayOfMonth;

};

}

updateDisplay();

protected Dialog onCreateDialog(int id) {

switch (id) {

case DATE_DIALOG_ID:

Mobile Inbox Search Tool // Month is 0 based so add 1 .append(mMonth + 1).append("-") .append(mDay).append("-")

Mobile Inbox Search Tool

Mobile Inbox Search Tool return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); } } return null; }

return new DatePickerDialog(this, mDateSetListener, mYear,

mMonth, mDay);

}

}

return null;

}