Transcript
Page 1: ANDROID OPERATING SYSTEM project

1

A

PROJECT REPORT

ON

ANDROID OPERATING SYSTEM

AT

MOBILE BASED SEARCH ENGINE

(2007-2011)

Chapter-1

1.1 Introduction

Android is an software platform and operating system for mobile devices. It is based on

the Linux kernel. It was developed by Google and later the Open Handset Alliance

(OHA). It allows writing managed code in the Java language. Due to Android here is

the possibility to write applications in other languages and compiling it to ARM native

code. Unveiling of the Android platform was announced on 5 November 2007 with the

founding of OHA.

It's a consortium of several companies

St.Mary’s college of engg&Tech

Page 2: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

1.1.1 Introduction to Project Environment

OPERATING SYSTEM:

An operating system (OS) is software consisting of programs and data that runs

on computers and manages computer hardware resources and provides common

services for efficient execution of various application software.

For hardware functions such as input and output and memory allocation, the

operating system acts as an intermediary between application programs and the

computer hardware, although the application code is usually executed directly by the

hardware and will frequently call the OS or be interrupted by it.

Common Features:

Process management

Interrupts

Memory management

File system

Device drivers

Networking (TCP/IP, UDP)

Security (Process/Memory protection)

2ST.MARY’S COLLEGE OF ENGG&TECH

Operating systems

Page 3: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

I/o

Types of Operating Systems:

Real-time Operating System:

It is a multitasking operating system that aims at executing real-time

applications. Real-time operating systems often use specialized scheduling algorithms

so that they can achieve a deterministic nature ofbehaviour. The main object of real-

time operating systems is their quick and predictable response to events. They either

have an event-driven or a time-sharing design. An event-driven system switches

between tasks based on their priorities while time-sharing operating systems switch

tasks based on clock interrupts.

Multi-user and Single-user Operating Systems:

The operating systems of this type allow a multiple users to access a computer

system concurrently. Time-sharing system can be classified as multi-user systems as

they enable a multiple user access to a computer through the sharing of time. Single-

user operating systems, as opposed to a multi-user operating system, are usable by a

single user at a time. Being able to have multiple accounts on a Windows operating

system does not make it a multi-user system. Rather, only the network administrator is

the real user. But for a Unix-like operatingsystem, it is possible for two users to login at

a time and this capability of the OS makes it a multi-user operating system.

Multi-tasking and Single-tasking Operating Systems:

When a single program is allowed to run at a time, the system is grouped under

a single-tasking system, while in case the operating system allows the execution of

multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-

tasking can be of two types namely, pre-emptive or co-operative. In pre-emptive

multitasking, the operating system slices the CPU time and dedicates one slot to each of

the programs. Unix-like operating systems such as Solaris and Linux support pre-

3ST.MARY’S COLLEGE OF ENGG&TECH

Page 4: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

emptive multitasking. Cooperative multitasking is achieved by relying on each process

to give time to the other processes in a defined manner. MS Windows prior to Windows

95 used to support cooperative multitasking.

Distributed Operating System:

An operating system that manages a group of independent computers and makes

them appear to be a single computer is known as a distributed operating system. The

development of networked computers that could be linked and communicate with each

other, gave rise to distributed computing. Distributed computations are carried out on

more than one machine. When computers in a group work in cooperation, they make a

distributed system.

Embedded System:

The operating systems designed for being used in embedded computer systems

are known as embedded operating systems. They are designed to operate on small

machines like PDAs with less autonomy. They are able to operate with a limited

number of resources. They are very compact and extremely efficient by design.

Windows CE and Minix 3 are some examples of embedded operating systems.

Batch Processing Operating System:

In a batch processing operating system interaction between the user and processor is

limited or there is no interaction at all during the execution of work. Data and programs

that need to be processed are bundled and collected as a ‘batch’ and executed together.

Batch processing operating systems are ideal in situations where:

- There are large amounts of data to be processed.

- Similar data needs to be processed.

4ST.MARY’S COLLEGE OF ENGG&TECH

Page 5: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

- Similar processing is involved when executing the data.

The system is capable of identifying times when the processor is idle at which time

‘batches’

Maybe processed. Processing is all performed automatically without any user

intervention.

History:

In the early 1950s, a computer could execute only one program at a time. Each

user had sole use of the computer and would arrive at a scheduled time with program

and data on punched paper cards and tape. The program would be loaded into the

machine, and the machine would be set to work until the program completed or crashed.

Programs could generally be debugged via a front panel using toggle switches and panel

lights. It is said thatAlan Turing was a master of this on the early Manchester Mark 1

machine, and he was already deriving the primitive conception of an operating system

from the principles of the Universal Turing machine.

Mainframes:

Through the 1950s, many major features were pioneered in the field of operating

systems, including batch processing, multitasking,spooling, runtime libraries, link-

loading, and programs for sorting records in files. These features were included or not

included in application software at the option of application programmers, rather than in

a separate operating system used by all applications. In 1959 the SHARE Operating

5ST.MARY’S COLLEGE OF ENGG&TECH

Page 6: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

System was released as an integrated utility for the IBM 704, and later in

the 709 and 7090 mainframes.

During the 1960s, IBM's OS/360 introduced the concept of a single OS spanning

an entire product line, which was crucial for the success of the System/360

machines. IBM's current mainframe operating systems are distant descendants of this

original system and applications written for OS/360 can still be run on modern

machines. In the mid-'70s, MVS, a descendant of OS/360, offered the first

implementation of using RAM as a transparent cache for data.

In the late 1960s through the late 1970s, several hardware capabilities evolved

that allowed similar or ported software to run on more than one system. Early systems

had utilized microprogramming to implement features on their systems in order to

permit different underlying architecture to appear to be the same as others in a series. In

fact most 360's after the 360/40 (except the 360/165 and 360/168) were micro

programmed implementations. But soon other means of achieving application

compatibility were proven to be more significant.

The enormous investment in software for these systems made since 1960s

caused most of the original computer manufacturers to continue to develop compatible

operating systems along with the hardware. The notable supported mainframe operating

systems include:

Burroughs MCP – B5000, 1961 to Unisys Clear path/MCP, present.

IBM OS/360 – IBM System/360, 1966 to IBM z/OS, present.

IBM CP-67 – IBM System/360, 1967 to IBM z/VM, present.

UNIVAC EXEC 8 – UNIVAC 1108, 1967, to OS 2200 Unisys Clear path Dorado,

present.

Microcomputers:

6ST.MARY’S COLLEGE OF ENGG&TECH

Page 7: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

PC-DOS was an early personal computer OS that featured a command line interface.

The first microcomputers did not have the capacity or need for the elaborate

operating systems that had been developed for mainframes and minis; minimalistic

operating systems were developed, often loaded from ROM and known as Monitors.

One notable early disk-based operating system was CP/M, which was supported on

many early microcomputers and was closely imitated in MS-DOS, which became

wildly popular as the operating system chosen for the IBM PC (IBM's version of it was

called IBM DOS or PC DOS), its successors making Microsoft.

Examples of operating systems:

Microsoft Windows

7ST.MARY’S COLLEGE OF ENGG&TECH

Page 8: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Windows 7, shown here, is the newest release of Windows.

Microsoft Windows is a family of proprietary operating systems most commonly used

on personal computers. It is the most common family of operating systems for the

personal computer, with about 90% of the market share. Currently, the most widely

used version of the Windows family is Windows XP, released on October 25, 2001.

The newest version is Windows 7 for personal computers and Windows Server 2008

R2 for servers.

Windows is also used on servers, supporting applications such as web

servers and database servers. In recent years, Microsoft has spent significant marketing

and research & development money to demonstrate that Windows is capable of running

any enterprise application, which has resulted in consistent price/performance records

(see the TPC) and significant acceptance in the enterprise market.

Android:

8ST.MARY’S COLLEGE OF ENGG&TECH

Page 9: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Android uses Linux for its device drivers, memory management, process management,

and networking.

The next level up contains the Android native libraries. They are all written in C/C++

internally, but you’ll be calling them through Java interfaces. In this layer you can find

the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite),

and a native web browser engine (WebKit).

Dalvik Virtual Machine.Dalvik runs dex files, which are coverted at compile time from

standard class and jar files.

Advantages :  

There are a host of advantages that Google’s Android will derive from being an open

Source software:

Some of the advantages include:

The ability for anyone to customize the Google Android platform

The consumer will benefit from having a wide range of mobile applications to

choose from since the monopoly will be broken by Google Android

Men will be able to customize a mobile phones using Google Android platform

like never before

Features like weather details, opening screen, live RSS feeds and even the icons on the

opening screen will be able to be customized

As a result of many mobile phones carrying Google Android, companies will

come up with such innovative products like the location

In addition the entertainment functionalities will be taken a notch higher by

Google Android being able to offer online real time multiplayer games

1.1.2Introduction to Databases

Database

9ST.MARY’S COLLEGE OF ENGG&TECH

Page 10: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

A database is a system intended to organize, store, and retrieve large amounts

of data easily. It consists of an organized collection of data for one or more uses,

typically in digital form. One way of classifying databases involves the type of their

contents, for example: bibliographic, document-text, statistical. Digital databases are

managed using database management systems, which store database contents, allowing

data creation and maintenance, and search and other access.

Architecture:

Database architecture consists of three levels, external, conceptual and internal.

Clearly separating the three levels was a major feature of the relational database

model that dominates 21st century databases.

The external level defines how users understand the organization of the data. A

single database can have any number of views at the external level. The internal level

defines how the data is physically stored and processed by the computing system.

Internal architecture is concerned with cost, performance, scalability and other

operational matters. The conceptual is a level of indirection between internal and

external. It provides a common view of the database that is uncomplicated by details of

how the data is stored or managed, and that can unify the various external views into a

coherent whole.

Database management systems:

A database management system (DBMS) consists of software that operates

databases, providing storage, access, security, backup and other facilities. Database

management systems can be categorized according to the database model that they

support, such as relational or XML, the type(s) of computer they support, such as a

server cluster or a mobile phone, the query language(s) that access the database, such

as SQL or XQuery, performance trade-offs, such as maximum scale or maximum speed

or others. Some DBMS cover more than one entry in these categories, e.g., supporting

multiple query languages. Examples of some commonly used DBMS are MySQL,

PostgreSQL, Microsoft Access, SQLServer, FileMaker, Oracle, Sybase, dBase, Clipper,

FoxPro etc. Almost every database software comes with an Open Database

Connectivity (ODBC) driver that allows the database to integrate with other databases.

10ST.MARY’S COLLEGE OF ENGG&TECH

Page 11: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Components of DBMS:

Most DBMS as of 2009 implement a relational model. Other DBMS systems,

such as Object DBMS, offer specific features for more specialized requirements. Their

components are similar, but not identical.

RDBMScomponents:

Sublanguages— Relational DBMS (RDBMS) include Data Definition

Language (DDL) for defining the structure of the database, Data Control

Language (DCL) for defining security/access controls, and Data Manipulation

Language (DML) for querying and updating data.

Interface drivers:-These drivers are code libraries that provide methods to prepare

statements,execute statements, fetch results, etc. Examples

include ODBC, JDBC, MySQL/PHP, FireBird/Python.

SQL engine:-This component interprets and executes the DDL, DCL,

and DML statements. It includes three major components (compiler, optimizer, and

executor).

Transaction engine:-Ensures that multiple SQL statements either succeed or fail as

a group, according to application dictates.

Relational engine:-Relational objects such as Table, Index, and Referential

integrity constraints are implemented in this component.

Storage engine:-This component stores and retrieves data from secondary storage,

as well as managing transaction commit and rollback, backup and recovery, etc.

11ST.MARY’S COLLEGE OF ENGG&TECH

Page 12: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

ODBMScomponents:

Object DBMS (ODBMS) has transaction and storage components that are

analogous to those in an RDBMS. Some DBMS handle DDL, DML and update tasks

differently. Instead of using sublanguages, they provide APIs for these purposes. They

typically include a sublanguage and accompanying engine for processing queries with

interpretive statements analogous to but not the same as SQL. Example object query

languages are OQL, LINQ, JDOQL, JPAQL and others. The query engine returns

collections of objects instead of relational rows.

Types:

Operational database:

These databases store detailed data about the operations of an organization.

They are typically organized by subject matter, process relatively high volumes of

updates using transactions. Essentially every major organization on earth uses such

databases. Examples include customer databases that record contact, credit, and

demographic information about a business' customers, personnel databases that hold

information such as salary, benefits, skills data about employees, Enterprise resource

planning that record details about product components, parts inventory, and financial

databases that keep track of the organization's money, accounting and financial

dealings.

Data warehouse:

Data warehouses archive modern data from operational databases and often

from external sources such as market research firms. Often operational data undergoes

transformation on its way into the warehouse, getting summarized, anonymized,

reclassified, etc. The warehouse becomes the central source of data for use by managers

and other end-users who may not have access to operational data. For example, sales

data might be aggregated to weekly totals and converted from internal product codes to

12ST.MARY’S COLLEGE OF ENGG&TECH

Page 13: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

use UPC codes so that it can be compared with ACNielsen data.Some basic and

essential components of data warehousing include retrieving and analyzing data,

transforming,loading and managing data so as to make it available for further use.

Operations in a data warehouse are typically concerned with bulk data

manipulation, and as such, it is unusual and inefficient to target individual rows for

update, insert or delete. Bulk native loaders for input data and bulk SQL passes for

aggregation are the norm.

Analytical database:

Analysts may do their work directly against a data warehouse or create a

separate analytic database for Online Analytical Processing. For example, a company

might extract sales records for analyzing the effectiveness of advertising and other sales

promotions at an aggregate level.

Distributed database:

These are databases of local work-groups and departments at regional offices,

branch offices, manufacturing plants and other work sites. These databases can include

segments of both common operational and common user databases, as well as data

generated and used only at a user’s own site.

End-user database:

These databases consist of data developed by individual end-users. Examples of

these are collections of documents in spreadsheets, word processing and downloaded

files, even managing their personal baseball card collection.

External database:

These databases contain data collected for use across multiple organizations,

either freely or via subscription. The Internet Movie Database is one example.

Hypermedia databases:

The World Wide Web can be thought of as a database, albeit one spread across

millions of independent computing systems. Web browsers "process" this data one page

at a time, while web crawlers and other software provide the equivalent of database

indexes to support search and other activities.

13ST.MARY’S COLLEGE OF ENGG&TECH

Page 14: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Models:

Post-relational database models:

Products offering a more general data model than the relational model are

sometimes classified as post-relational Alternate terms include "hybrid database",

"Object-enhanced RDBMS" and others. The data model in such products

incorporates relations but is not constrained by E.F. Codd's Information Principle,

which requires that all information in the database must be cast explicitly in terms of

values in relations and in no other way some of these extensions to the relational model

integrate concepts from technologies that pre-date the relational model. For example,

they allow representation of a directed graph with trees on the nodes.

Some post-relational products extend relational systems with non-relational

features. Others arrived in much the same place by adding relational features to pre-

relational systems. Paradoxically, this allows products that are historically pre-

relational, such as PICK and MUMPS, to make a plausible claim to be post-relational.

Database Developer:

Our Database Programmers are

skilled at designing and developing

software applications with relational

databases. MS SQL Server, MySQL and

Oracle is our specialisation. Our Database

Specialists have worked in diverse fields

like e-commerce applications, internet

banking portals, large community website

with role based access, social networking

applications with multi-server deployment and software architecture designed to

support high loads.We design dynamic websites, e-commerce sites, and a wide

variety of web applications and Internet database solutions for a wide range of

businesses. We take pride in offering quick, effective and inexpensive ecommerce

14ST.MARY’S COLLEGE OF ENGG&TECH

Page 15: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

database solutions. Our Technical Database Developer team has vast experience in

Database Application Development, setting up and using different databases, from

small and fast MySQL, used for small projects, to huge and efficient Oracle database

servers with complex structure. Our team with strong database management background

and PL SQL programming experience is able to work for your business projects &

ongoing maintenance / development requirements. We provide skilled resources

working offsite, with a variety of experience in Oracle Solutions.

Our skilled team have confident hands & expertise on:-

Oracle

MS SQL Server

My SQL

MS Access

Object database models:

In recent years, the object-oriented paradigm has been applied in areas such as

engineering and spatial databases, telecommunications and in various scientific

domains. The conglomeration of object oriented programming and database technology

led to this new kind of database. These databases attempt to bring the database world

and the application-programming world closer together, in particular by ensuring that

the database uses the same type system as the application program. This aims to avoid

the overhead (sometimes referred to as the impedance mismatch) of converting

information between its representation in the database (for example as rows in tables)

and its representation in the application program (typically as objects). At the same

time, object databases attempt to introduce key ideas of object programming, such

as encapsulation and polymorphism, into the world of databases.

A variety of these ways have been triedfor storing objects in a database. Some

products have approached the problem from the application-programming side, by

making the objects manipulated by the program persistent. This also typically requires

the addition of some kind of query language, since conventional programming

languages do not provide language-level functionality for finding objects based on their

15ST.MARY’S COLLEGE OF ENGG&TECH

Page 16: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

information content. Othershave attacked the problem from the database end, by

defining an object-oriented data model for the database, and defining a

database programming language that allows full programming capabilities as well as

traditional query facilities.

Storage structures:

Databases may store relational tables/indexes in memory or on hard disk in one of many

forms:

ordered/unordered flat files

ISAM

heaps

hash buckets

logically-blocked files

Fractal Tree indexes

B+ trees

The most commonly usedare B+ trees and ISAM.

Object databases use a range of storage mechanisms. Some use virtual memory-

mapped files to make the native language (C++, Java etc.) objects persistent. This can

be highly efficient but it can make multi-language access more difficult. Others

disassemble objects into fixed- and varying-length components that are then clustered in

fixed sized blocks on disk and reassembled into the appropriate format on either the

client or server address space. Another popular technique involves storing the objects in

16ST.MARY’S COLLEGE OF ENGG&TECH

Page 17: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

tuples (much like a relational database) which the database server then reassembles into

objects for the client.

Other techniques include clustering by category (such as grouping data by

month, or location), storing pre-computed query results, known as materialized views,

partitioning data by range (e.g., a data range) or by hash.

Memory management and storage topology can be important design choices

for database designers as well. Just as normalization is used to reduce storage

requirements and improve database designs, conversely renormalizations are often used

to reduce join complexity and reduce query execution time.

Indexing:

Indexing is a technique for improving database performance. The many types of

index share the common property that they eliminate the need to examine every entry

when running a query. In large databases, this can reduce query time/cost by orders of

magnitude. The simplest form of index is a sorted list of values that can be searched

using a binary search with an adjacent reference to the location of the entry, analogous

to the index in the back of a book. The same data can have multiple indexes (an

employee database could be indexed by last name and hire date.)

Indexes affect performance, but not results. Database designers can add or

remove indexes without changing application logic, reducing maintenance costs as the

database grows and database usage evolves.

CHAPTER 2

SOFTWARE AND HARDWARE REQUIREMENTS

The selection of hardware is very important in the existence and proper working of any

software. When selecting hardware, the size and requirements are also important.

2.1 HARDWARE REQUIREMENTS

17ST.MARY’S COLLEGE OF ENGG&TECH

Page 18: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Processor : INTEL Pentium 4

RAM : 512MB

Hard Disk Drive : 40GB

Mobile : Android Mobile

2.2 SOFTWARE REQUIREMENTS

Operating system : WindowsXp or any latest version of windowsWeb Browser : Mozilla Firefox or any browserFront- End : PHP, Flex

Back- End : MS SQL SERVER 2008 EXPRESS

Project will be done in PHP,Flex as front end and MySQL as back end.

Php is a Hypertext Preprocessor (a recursive acronym, originally personal home page)

is a general-purpose scripting language that was originally designed for web

development to produce dynamic web pages. For this purpose, PHP code is embedded

into the HTML source document and interpreted by a web server with a PHP processor

module, which generates the web page document. As a general-purpose programming

language, PHP code is processed by an interpreter application in command-line mode

performing desired operating system operations and producing program output on its

standard output channel. It may also function as a graphical application. PHP is

available as a processor for most modern web servers and as a standalone interpreter on

most operating systems and computing platforms. Flex is used to show the front-end

screens on the mobile based on the inputs provided by PHP

CHAPTER-3

3 Literature Survey/Review of Literature

3.1 Introduction to Technologies

Technology is the usage and knowledge of tools, techniques, crafts, systems or methods

of organization in order to solve a problem or serve some purpose. The

18ST.MARY’S COLLEGE OF ENGG&TECH

Page 19: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

word technology comes from the Greek technological — téchnē  an "art", "skill" or

"craft" and -logia the study of something, or the branch of knowledge of a

discipline. The term can either be applied generally or to specific areas: examples

include construction technology, medical technology, and information technology.

3.1.1 JAVA:

Java technology is an object-oriented, platform-independent, multithreaded

programming environment.

Java technology is both a programming language and a platform.

The Java programming language is a high-level language that can be

characterized by all of the following buzzwords:

Simple Architecture neutral

Object oriented Portable

Distributed High performance

Multithreaded Robust

Dynamic Secure

Java is a programming language originally developed by James Gosling at Sun

Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995

as a core component of Sun Microsystems' Java platform. The language derives much

of its syntax from C and C++ but has a simpler object model and fewer low-

level facilities. Java applications are typically compiled tobytecode (class file) that can

run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a

general-purpose, concurrent, class-based, object-oriented language that is specifically

designed to have as few implementation dependencies as possible. It is intended to let

application developers "write once, run anywhere". Java is currently one of the most

popular programming languages in use, and is widely used from application software to

web applications.

Automatic memory management:

Java uses an automatic garbage collector to manage memory in the object lifecycle. The

programmer determines when objects are created, and the Java runtime is responsible

for recovering the memory once objects are no longer in use. Once no references to an

19ST.MARY’S COLLEGE OF ENGG&TECH

Page 20: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

object remain, the unreachable memory becomes eligible to be freed automatically by

the garbage collector. Something similar to a memory leak may still occur if a

programmer's code holds a reference to an object that is no longer needed, typically

when objects that are no longer needed are stored in containers that are still in use. If

methods for a nonexistent object are called, a "null pointer exception" is thrown.

Syntax:

The syntax of Java is largely derived from C++. Unlike C++, which combines the

syntax for structured, generic, and object-oriented programming, Java was built almost

exclusively as an object-oriented language. All code is written inside a class, and

everything is an object, with the exception of the primitive data types (integers,

floating-point numbers, boolean values, and characters), which are not classes for

performance reasons.

Java uses similar commenting methods to C++. There are three different styles of

comment: a single line style marked with two slashes (//), a multiple line style opened

with a slash asterisk (/*) and closed with an asterisk slash (*/), and

theJavadoc commenting style opened with a slash and two asterisks (/**) and closed

with an asterisk slash (*/). The Javadoc style of commenting allows the user to run the

Javadoc executable to compile documentation for the program.

Example:

publicclassHelloWorld

{

publicstaticvoid main(String[] args)

{

System.out.println("Hello, world!");

}

}

20ST.MARY’S COLLEGE OF ENGG&TECH

Page 21: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Editions:

Sun has defined and supports four editions of Java targeting different application

environments and segmented many of its APIs so that they belong to one of the

platforms. The platforms are:

Java Card for smartcards.

Java Platform, Micro Edition (Java ME) — targeting environments with limited

resources.

Java Platform, Standard Edition (Java SE) — targeting workstation environments.

Java Platform, Enterprise Edition (Java EE) — targeting large distributed enterprise

or Internet environment.

3.1.2 XML:

Extensible Markup Language (XML) is a set of rules for encoding documents

in machine-readable form. It is defined in the XML 1.0 Specification produced

by the W3C, and several other related specifications, all gratis open standards.

XML's design goals emphasize simplicity, generality, and usability over

the Internet. It is a textual data format with strong support via Unicode for the

languages of the world. Although the design of XML focuses on documents, it is

widely used for the representation of arbitrary data structures, for example

in web services.

Key terminology:

The material in this section is based on the XML Specification. This is not an

exhaustive list of all the constructs which appear in XML; it provides an

introduction to the key constructs most often encountered in day-to-day use.

Character:

By definition, an XML document is a string of characters. Almost every

legal Unicode character may appear in an XML document.

21ST.MARY’S COLLEGE OF ENGG&TECH

Page 22: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Processor and Application:

The processor analyzes the markup and passes structured information to an application.

The specification places requirements on what an XML processor must do and not do,

but the application is outside its scope. The processor (as the specification calls it) is

often referred to colloquially as an XML parser.

Markup and Content:

The characters which make up an XML document are divided into markup and content.

Markup and content may be distinguished by the application of simple syntactic rules.

All strings which constitute markup either begin with the character "<" and end with a

">", or begin with the character "&" and end with a ";". Strings of characters which are

not markup are content.

Tag:

A markup construct that begins with "<" and ends with ">". Tags come in three

flavors: start-tags, for example <section>, end-tags, for example </section>,

and empty-element tags, for example <line-break />.

Element:

A logical component of a document which either begins with a start-tag and ends with a

matching end-tag, or consists only of an empty-element tag. The characters between the

start- and end-tags, if any, are theelement's content, and may contain markup, including

other elements, which are called child elements. An example for child elemen

is <Greeting>Hello, world.</Greeting>  Another is <line-break />.

Attribute:

A markup construct consisting of a name/value pair that exists within a start-tag or

empty-tag element tag.In the example (belowthe element img has two

attributes, src and alt:<img src="madonna.jpg" alt='Foligno Madonna, by Raphael' />.

Another example would be <step number="3">Connect A to B.</step> where the name

of the attribute is "number" and the value is "3".

XML Declaration:

XML documents may begin by declaring some information about themselves, as in the

following example.

22ST.MARY’S COLLEGE OF ENGG&TECH

Page 23: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

<? xmlversion="1.0"encoding="UTF-8"?>

3.1.3 HTML:

HTML, which stands for HyperText Markup Language, is the predominant markup

language for web pages. HTML is the basic building-blocks of webpages.

HTML stands for Hyper Text Markup Language

HTML is not a programming language, it is a markup language

A markup language is a set of markup tags

HTML uses markup tags to describe web pages

The purpose of a web browser is to read HTML documents and compose them into

visual or audible web pages. The browser does not display the HTML tags, but uses the

tags to interpret the content of the page.

HTML elements form the building blocks of all websites. HTML

allows images and objects to be embedded and can be used tocreate interactive forms. It

provides a means to create structured documents by denoting structural semantics for

text such as headings, paragraphs, lists, links, quotes and other items. It can

embed scripts in languages such as JavaScript which affect the behavior of HTML

webpages.

Web browsers can also refer to Cascading Style Sheets (CSS) to define the

appearance and layout of text and other material. The W3C, maintainer of both the

HTML and the CSS standards, encourages the use of CSS over explicitly presentational

HTML markup consists of a series of short codes typed into a text-file by the site author

— these are the tags. The text is then saved as a html file, and viewed through

a browser, like Internet Explorer or Netscape Navigator.

This browser reads the file and translates the text into a visible form, hopefully

rendering the page as the author had intended. Writing your own HTML entails using

tags correctly to create your vision. You can use anything from a rudimentary text-

editor to a powerful graphical editor to create HTML pages.

HTML Tags:

HTML markup tags are usually called HTML tags

23ST.MARY’S COLLEGE OF ENGG&TECH

Page 24: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

HTML tags are keywords surrounded by angle brackets like <html>

HTML tags normally come in pairs like <b> and </b>

The first tag in a pair is the start tag, the second tag is the end tag

Start and end tags are also called opening tags and closing tags

Markup:

HTML markup consists of several key components, including elements (and

their attributes), character-based data types, character references and entity references.

Another important component is the document type declaration, which

triggers standards mode rendering.

<! doctype html>

<html>

<head>

<title>Hello HTML</title>

</head>

<body>

<p>Hello World!</p>

</body></html>

Elements

HTML documents are composed entirely of HTML elements that, in their most

general form have three components: a pair of element tags, a "start tag" and "end tag";

some element attributes within the start tag; and finally, any textual and

graphical content between the start and end tags. The HTML element is everything

between and including the tags. Each tag is enclosed in angle brackets.

The general form of an HTML element is therefore: <tag attribute1="value1"

attribute2="value2">content to be rendered</tag> 

3.1.4 MySQL:

24ST.MARY’S COLLEGE OF ENGG&TECH

Page 25: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Developer(s)MySQL AB (A subsidiary

of Oracle)

Initial release May 23, 1995

Stable release5.5.9  (February 7, 2011; 33

days ago) [+/−]

Preview release [+/−]

Written in C, C++

Operating

systemCross-platform

Available in English

Type RDBMS

License GNUGeneral Public License

MySQL is a relational database management system (RDBMS) that runs as a

server providing multi-user access to a number of databases. It is named after developer

Michael Widenius' daughter, my. The SQL phrase stands for Structured Query

Language.

The MySQL development project has made its source code available under the

terms of the GNU General Public License, as well as under a variety of proprietary

agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish

company MySQL AB, now owned by Oracle Corporation.

Free-software projects that require a full-featured database management system

often use MySQL. For commercial use, several paid editions are available, and offer

additional functionality. Some free software project examples: Joomla, WordPress,

MyBB, phpBB, Drupal and other software built on the LAMP software stack. MySQL

is also used in many high-profile, large-scale World Wide Web products, including

Wikipedia, Google and Face book.

25ST.MARY’S COLLEGE OF ENGG&TECH

Page 26: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Uses:

MySQL is a popular choice of database for use in web applications, and is a central

component of the widely used LAMP web application software stack—LAMP is an

acronym for "Linux, Apache, MySQL, Perl/PHP/Python".

MySQL is used in some of the most frequently visited web sites on the Internet,

including Flicker,Nokia.com, YouTube and as previously mentioned; Wikipedia,

Google and Face book.

Platforms and interfaces:

MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-

brewed lexical analyzer named sql_lex.cc.

MySQL works on many different system platforms, including AIX, BSDi,

FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows,

NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris,

Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A port of

MySQL to OpenVMS also exists.

Many programming languages with language-specific APIs include libraries for

accessing MySQL databases. These include MySQL Connector/Net for integration with

Microsoft's Visual Studio (languages such as C# and VB are most commonly used) and

the ODBC driver for Java. In addition, an ODBC interface called MyODBC allows

additional programming languages that support the ODBC interface to communicate

with a MySQL database, such as ASP or ColdFusion. The HTSQL - URL based query

method also ships with a MySQL adapter, allowing direct interaction between a

MySQL database and any web client via structured URLs. The MySQL server and

official libraries are mostly implemented in ANSI C/ANSI C++.

Features:

For storing historical data in little space)

26ST.MARY’S COLLEGE OF ENGG&TECH

Page 27: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Transactions with the InnoDB, BDB and Cluster storage engines; save points

with InnoDBSSL support As of April 2009, MySQL offered MySQL 5.1 in two

different variants: the open source MySQL Community Server and the

commercial Enterprise Server. MySQL 5.5 is offered under the same licences.

They have a common code base and include the following features:

A broad subset of ANSI SQL 99, as well as extensions

Cross-platform support

Stored procedures

Triggers

Cursors

Updatable Views

True Varchar support

Information schema

Strict mode

X/Open XA distributed transaction processing (DTP) support; two phase commit

as part of this, using Oracle's InnoDB engine

Independent storage engines (MyISAM for read speed, InnoDB for transactions

and referential integrity, MySQL Archive

Query caching

Sub-SELECTs (i.e. nested SELECTs)

Replication support (i.e. Master-Master Replication & Master-Slave

Replication) with one master per slave, many slaves per master, no automatic

support for multiple masters per slave.

Full-text indexing and searching using MyISAM engine

Embedded database library

3.1.5 PHP:

Hypertext Pre-processor (a recursive acronym, originally personal home page)

is a general-purpose scripting language that was originally designed for web

development to produce dynamic web pages. For this purpose, PHP code is embedded

into the HTML source document and interpreted by a web server with a PHP processor

module, which generates the web page document. As a general-purpose programming

27ST.MARY’S COLLEGE OF ENGG&TECH

Page 28: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

language, PHP code is processed byan interpreter application in command-line mode

performing desired operating system operations and producing program output on its

standard output channel. It may also function as a graphical application. PHP is

available as a processor for most modern web servers and as a standalone interpreter on

most operating systems and computing platforms.

Usage:

</body>

</html> PHP is a general-purpose scripting language that is especially suited to server-

side web development where PHP generally runs on a web server. Any PHP code in a

requested file is executed by the PHP runtime, usually to create dynamic web

pagecontent. It can also be used for command-line scripting and client-

side GUI applications. PHP can be deployed on most web servers, many operating

systems and platforms, and can be used with many relational database management

systems (RDBMS). It is available free of charge, and the PHP Group provides the

complete source code for users to build, customize and extend for their own use.

Originally designed to create dynamic web pages, PHP now focuses mainly on

server-side scripting, and it is similar to other server-side scripting languages that

provide dynamic content from a web server to a client, such as Microsoft's Asp.net, Sun

Microsystems' Java Server Pages, and mod_perl. PHP has also attracted the

development of many frameworks that provide building blocks and a design structure to

promote rapid application development (RAD).

Syntax :

Main article: PHP syntax and semantics

<!DOCTYPE html>

<html>

28ST.MARY’S COLLEGE OF ENGG&TECH

Page 29: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

<head>

<meta charset="utf-8" />

<title>PHP Test</title>

</head>

<body>

<?php

echo 'Hello World';

?

3.1.6Adobe Flex

29ST.MARY’S COLLEGE OF ENGG&TECH

Page 30: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Adobe Flex is a software development kit (SDK) released by Adobe Systems for the

development and deployment of cross-platform rich Internet applications based on the

Adobe Flash platform. Flex applications can be written using Adobe Flash Builder or by

using the freely available Flex compiler from Adobe.

The release in March 2004 by Macromedia included an SDK, an integrated

development environment (IDE), and a Java EE integration application known as Flex

Data Services. Since Adobe purchased Macromedia in 2005, subsequent releases of

Flex no longer require a license for Flex Data Services, which has become a separate

product rebranded as Lifecycle Data Services.

Adobe Flash Builder offers built-in code editors for MXML and Action Script

and a WYSIWYG editor for modifying MXML applications. Adobe Flash Builder

includes an interactive debugger allowing developers to step through code execution

while inspecting variables and watching expressions. Flex Builder 3 added support for

performanceanalysis. The profiling view displays statistical information about memory

use in addition to function call execution time.

30ST.MARY’S COLLEGE OF ENGG&TECH

Page 31: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Application Development Process

Define an application interface using a set of pre-defined components (forms,

buttons, and so on)

Arrange components into a user interface design

Use styles and themes to define the visual design

Add dynamic behavior (one part of the application interacting with another, for

example)

Define and connect to data services as needed

31ST.MARY’S COLLEGE OF ENGG&TECH

Page 32: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Chapter-4

Software Requirement Analysis

4.1 DEFINITION:

System Analysis is the detailed study of the various operations performed by the system

and their relationships within and outside the system. Analysis is the process of

breaking something into its parts so that the whole may be understood. System analysis

is concerned with becoming aware of the problem, identifying the relevant and most

decisional variables, analysing and synthesizing the various factors and determining an

optimal or at least a satisfactory solution. During this a problem is identified, alternate

system solutions are studied and recommendations are made about committing the

resources used to design the system.

4.1.1 CurrentSystem:

Traditional studies on the reliability of software focus on functional failures, and do

not emphasize the time-related behaviour of systems that can also cause the software to

fail. The ability to meet deadlines and time constraints is critical to embedded systems

software (as in automotive or robotic applications) that mandate response to stimuli

within respecified real-time design specifications, and reliability considerations require

a detailed evaluation of the ability of the system to meet these specifications.

4.1.2 Proposed system

If there is one area of certain growth in these troubled economic times, it is the mobile

communications sector. And with significant improvements having emerged over the

last few years in vital areas such as data transfer speed, screens and content, mobile

devices are starting to challenge the PC as an Internet access device of choice. This in

turn has raised a key issue in the Mobile Internet space: that of the optimization of sites

for mobile devices and search engines.

It's all very well delivering a repackaged version of a standard web site to mobile

devices, and most of the presentational challenges this raises have been addressed one

way or another. But the fact remains that mobile Internet usage diverges from

traditional usage in a number of important ways. The failure of content publishers to

32ST.MARY’S COLLEGE OF ENGG&TECH

Page 33: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

understand the implications of these differences for content can only lead to sub-

standard mobile sites that run the risk of providing irrelevant material and poor

usability. This in turn results in an impoverished mobile Internet experience for users,

which impacts take-up and slows down the whole cycle.

It is clearly very much in the interests of content publishers to optimize their sites not

just for the mobile user, but also the mobile search engine. This is particularly important

when the site contains information of particular relevance to the mobile sector.

Mobile Searching is different

The first thing developers need to bear in mind is that there are real differences in the

way mobile users tend to search compared with standard desktop-based searching. For

example, there are differences in the type of content that mobile users tend to seek out.

This content is far more likely to involve an area that fulfills some immediate

requirement, such as music or a ringtone, a navigational query, or an entertainment-

related question.

In fact, research has suggested that around 50% of search queries from mobile phones

tend to fall into just seven key categories: the above three, plus sports, local knowledge,

shopping, and reference. Clearly any publisher who deals in one or more of these kinds

of data - probably most of them - needs to consider the likelihood that a significant

proportion of the site's potential audience could be mobile-based and optimize

accordingly.

Another limiting factor that developers should consider is the impact of the form factor

of a typical mobile device on how it is used. This can express itself in any number of

ways; for example, it is common knowledge that few users navigate beyond the first

couple of pages of search results for any given query. If they haven't found what they

are looking for by the end of page two they will tend to rephrase the query and start

over.

In a standard desktop search environment, which typically returns ten or so results per

page, this means that while a front page search ranking is preferable, a top twenty

33ST.MARY’S COLLEGE OF ENGG&TECH

Page 34: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

ranking is generally regarded as satisfactory. On a mobile device with its tiny screen,

two pages might only include eight search results. This puts an additional premium on

search engine ranking for which webmasters need to account.

A third point to consider is that mobile search queries tend to be extremely short,

containing fewer keywords on average than their desktop-based counterparts. Data

provided by Massachusetts-based mobile search solution provider JumpTap suggests

that the average desktop search contains something between two and three keywords,

whereas less than 15% of all searches carried out from mobile devices contain more

than two keywords. The onus is on publishers to take account of this by ensuring their

content is highly focused, relevant, and preferably identifiable by a single keyword.

4.1.3 Feasibility studies:

A feasibility study describes whether or not the proposed system is worthwhile

A short focused study that checks

If the system contributes to organizational objectives. If the system can be engineered using technology and within budget. If the system can be integrated with other systems that are used.

Facts considered in the feasibility analysis were.

Technical Feasibility

Economic Feasibility

Behavioural Feasibility

Technology and system feasibility

The assessment is based on an outline design of system requirements in terms of Input,

Processes, Output, Fields, Programs, and Procedures. This can be quantified in terms of

volumes of data, trends, frequency of updating, etc. in order to estimate whether the

new system will perform adequately or not. Considering our project if is technically

feasible. Mobile based search Engine App using Android which is a latest idea and the

mobile applications here are developed in the Adobe flash builder burrito which

contains all SDK’s of the Android OS and supports android applications. This software

34ST.MARY’S COLLEGE OF ENGG&TECH

Page 35: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

is technically well and high in performance. It has got many features like buttons,

layouts, designs etc.,

Economic feasibility:

Economic analysis is the most frequently used method for evaluating the effectiveness

of a new system. More commonly known as cost/benefit analysis, the procedure is to

determine the benefits and savings that are expected from a candidate system and

compare them with costs. If benefits outweigh costs, then the decision is made to design

and implement the system. Considering our project the android is one of the best

operating system in mobile phones used to develop the applications which runs on the

mobile platform, which serves people a good scope of development in the software field

and also it attracts the users. Android mobiles weigh low cost then i-Phones and other

mobile operating system. Low cost easy access to the internet with search engine App’s

and fast fetching results now within your mobile.

Operational feasibility

Operational feasibility is a measure of how well a proposed system solves the problems,

and takes advantage of the opportunities identified during scope definition and how it

satisfies the requirements identified in the requirements analysis phase of system

development. Proposed system here is being developed in the Adobe Flash Builder

Burrito which is the latest version of Adobe which supports android applications.

Adobe Flash Builder (previously known as Adobe Flex Builder) is an integrated

development environment (IDE) built on the Eclipse platform and speeds development

of rich Internet applications (RIAs) and platform desktop, particularly for the Adobe Flash

platform. Adobe Flash Builder offers built-in code editors for MXML and Action Script

and a WYSIWYG editor for modifying MXML applications. Adobe Flash Builder

includes an interactive debugger allowing developers to step through code execution

while inspecting variables and watching expressions. Flex Builder 3 added support for

performance analysis.

35ST.MARY’S COLLEGE OF ENGG&TECH

Page 36: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

4.1.4 MODULES

USER MODULE

This module will maintain all the users using this application. Generally there are two

types of user.

Users

Administrator

SEARCH MODULE

A. Integrate global (web) search into your application.

b. Enable your application

c. Tie into the quick search box

DATABASE MODULES

This module maintains the list of files uploaded by the user. Administrator can remove

any file that on complain from any user.

4.2.1 Search Engine:

A web search engine is designed to search for information on the World Wide Web and

FTP servers. The search results are generally presented in a list of results and are often

called hits. The information may consist of web pages, images, information and other

types of files. Some search engines also mine data available in databases or open

directories. Unlike web directories, which are maintained by human editors, search

engines operate algorithmically or are a mixture of algorithmic and human input.

36ST.MARY’S COLLEGE OF ENGG&TECH

Page 37: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Crawler Architecture:

High-level architecture of a standard Web crawler

A Web crawler is a computer program that browses the World Wide Web in a

methodical, automated manner or in an orderly fashion. Other terms for Web crawlers

are ants, automatic indexers, bots, Web spiders, Web robots, or—especially in the

FOAF community—Web scutters.

This process is called Web crawling or spidering. Many sites, in particular

search engines, use spidering as a means of providing up-to-date data. Web crawlers are

mainly usedto create a copy of all the visited pages for later processing by a search

engine that will index the downloaded pages to provide fast searches. Crawlers can also

be used for automating maintenance tasks on a Web site, such as checking links or

validating HTML code.

Focused crawling:

The importance of a page for a crawler can also be expressed as a function of the

similarity of a page to a given query. Web crawlers that attempt to download pages that

are similar to each other are called focused crawler or topical crawlers. The concepts of

topical and focused crawling were first introduced by Menczer and by Chakrabarti.

The main problem in focused crawling is that in the context of a Web crawler,

we would like to be able to predict the similarity of the text of a given page to the query

before actually downloading the page. A possible predictor is the anchor text of links;

37ST.MARY’S COLLEGE OF ENGG&TECH

Page 38: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

this was the approach taken by Pinkerton in a crawler developed in the early days of the

Web.

Propose to use the complete content of the pages already visited to infer the

similarity between the driving query and the pages that have not been visited yet. The

performance of a focused crawling depends mostly on the richness of links in the

specific topic being searched, and a focused crawling usually relies on a general Web

search engine for providing starting points.

URL normalization

Crawlers usually perform some type of URL normalization in order to avoid crawling

the same resource more than once. The term URL normalization, also called URL

canonicalization, refers to the process of modifying and standardizing a URL in a

consistent manner. There are several types of normalization that may be performed

including conversion of URLs to lowercase, removal of "." and ".." segments, and

adding trailing slashes to the non-empty path component.

Parallelization policy

A parallel crawler is a crawler that runs multiple processes in parallel. The goal

is to maximize the download rate while minimizing the overhead from parallelization

and to avoid repeated downloads of the same page. To avoid downloading the same

page more than once, the crawling system requires a policy for assigning the new URLs

discovered during the crawling process, as the same URL can be found by two different

crawling processes.

38ST.MARY’S COLLEGE OF ENGG&TECH

Page 39: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

4.3Search Engine Optimization

Search engine optimization (SEO) is the process of improving the visibility of a

website or a web page in search engines via the "natural" or Un-paid ("organic"

or "algorithmic") search results. Other forms of search engine marketing (SEM)

target paid listings.

In general, the earlier (or higher on the page), and more frequently a site

appears in the search results list, the more visitors it will receive from the search

engine's users. SEO may target

different kinds of search, including image search, local search, video search,

news search and industry-specific vertical search engines. This gives a website

web presence.

As an Internet marketing strategy, SEO considers how search engines work,

what people search for, the actual search terms typed into search engines and

which search engines are preferred by their targeted audience. Optimizing a

website may involve editing its content and HTML and associated coding to

both increase its relevance to specific keywords and to remove barriers to the

indexing activities of search engines. Promoting a site to increase the number of

backlinks, or inbound links, is another SEO tactic.

The initialism "SEO" can refer to "search engine optimizers," a term adopted by

an industry of consultants who carry out optimization projects on behalf of

clients, and by employees who perform SEO services in-house. Search engine

optimizers may offer SEO as a stand-alone service or as a part of a broader

marketing campaign. Because effective SEO may require changes to the HTML

source code of a site and site content, SEO tactics may be incorporated into

website development and design.

39ST.MARY’S COLLEGE OF ENGG&TECH

Page 40: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

4.4 Mobile Search Engine

Mobile search is an evolving branch of information retrieval services that is

centered on the convergence of mobile platforms and mobile phones and other

mobile devices. Web search engine ability in a mobile form allows users to find

mobile content on websites which are available to mobile devices on mobile

networks.

FIG 4.4

As this happens mobile content shows a media shift toward mobile multimedia.

Simply put, mobile search is not just a spatial shift of PC web search to mobile

equipment, but is witnessing more of treelike branching into specialized

segments of mobile broadband and mobile content, both of which show a fast-

paced evolution.

4.4.1 Types of mobile search

Mobile optimized search engines - Most major search engines have implemented a

mobile optimized version of their products that take into consideration bandwidth and

form factor limitations of the mobile platform.

Mobile question and answer services - These services allow a user to text a question

to a central database and receive a reply using text. A usage example would be a user

that wants to know the answer to a very specific question but is not in front of his/her

computer.

Mobile navigation services - These services provide the indexing structure to the

portals provided by mobile operators. They index the content already on the operators'

portal but alsoprovideusers access to mobile specific content that is available outside the

confines of the portal.

40ST.MARY’S COLLEGE OF ENGG&TECH

Page 41: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Mobile directory search - This service is known by different names dependent on

country and operator. It can also be known as 'Find My Nearest' or 'Mobile Yellow

Pages' services. The basics of the services allow users to find local services in the

vicinity of their current location.

Dynamic Mobile Selection Interface Services - A new category of mobile search tool

that is emerging is one in which a pre-selected set of possible search content is

downloaded in advance by a mobile user and then allows for a final internet search step.

FIG 4.4.1

4.4.2 Top 5 mobile search engines:

Google Mobile:

It starts out a bit confusing: When you first come to Google Mobile, you find no search

box. Instead, Google pushes apps and a huge number of services. Click “Web” for web

search.

The search results are based on the principle of universal search: You get

images, news, maps and more, depending on your query.

Taptu:

Taptu is not as advanced as Google, but in most cases, it will provide just what you

need. This is a service that is tailored specifically for touch screens and it does a great

job at simplifying web search on touch phones.

41ST.MARY’S COLLEGE OF ENGG&TECH

Page 42: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Yahoo! Mobile:

Yahoo! Mobile offers much of the tools Google Mobile does (there is no speech search,

though). In addition, there is a list of hot topics on the front page and easy access to turn

on and off safe search.

Bing Mobile:

Bing Mobile has a smart design which makes searching easy: There are quick links to

directions, maps, weather and movies on the front page. The search results are not

universal (like Google and Taptu), but tabs provide easy access to results in the

categories videos, images and news.

Ask Mobile:

I am generally a big fan of Ask, but Ask Mobile is not too impressive. The front page

has convenient quick links to web, images, news, local and maps & directions. The

search results are easy to navigate.

42ST.MARY’S COLLEGE OF ENGG&TECH

Page 43: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

CHAPTER-5

5.1 E-R Schema

FIG 5.1

Here is the backend schema, which contains the tables which we are using in the

database. The data will be added in the data and will be arranged in the tables. Here we

are using PHPMYADMIN to create our database. This usually gives access from

Xamppwhich acts as a server in the local host. Our database name here is

“mobilesearchengine”.

43ST.MARY’S COLLEGE OF ENGG&TECH

Page 44: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

FIG 5.1.1

Here the admin has “HAS A” relation with the users, organization, jobs. These tables

contain their respective fields.

44ST.MARY’S COLLEGE OF ENGG&TECH

Page 45: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2 UML diagrams

5.2.1 USE CASE DIAGRAM

Use case diagrams are central to modeling the behavior of a system, a sub-system, or a

class. Each one shows a set of use cases, actors and their relationships. In the below

diagram we there are two actors (user and administrator) and 8 use case. The

relationship between actor and the case is association. Here the user is associated with 7

cases and the administrator is associated with 5 cases.

FIG:5.2.1 USE CASE DIAGRAM

45ST.MARY’S COLLEGE OF ENGG&TECH

Page 46: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

FIG 5.2.1 USE CASE DIAGRAM

46ST.MARY’S COLLEGE OF ENGG&TECH

Page 47: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2.2 CLASS DIAGRAM

A class diagram shows a set of classes, interfaces, collaborations and their relationships.

In this application there are 5 main classes (application, user, administrator and

services). All the classes specify their attributes and operations and their relationship

with other classes. Application class has association relationship with user and

administrator, this mean user and administrator are related to application class because

they use it. Services class is part of application class so they relationship is aggregation

(“has-a”).

FIG 5.2.2 CLASS DIAGRAM

47ST.MARY’S COLLEGE OF ENGG&TECH

Page 48: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2.3OBJECT DIAGRAM

An Object diagram focuses on some particular  set  of  object  instances and attributes,

and the links between the instances. Here there are four objects application, services,

user and administrator. Services are a part of application so users who are connected to

application are finally using the services. Therefore user and administrator are

connected to the services object.

FIG .5.2.3 OBJECT DIAGRAM

48ST.MARY’S COLLEGE OF ENGG&TECH

Page 49: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2.4 SEQUENCE DIAGRAM

A sequence diagram emphasizes the time ordering of the messages. In the below

diagram it is shown that any new user has to register/ login with the website, then only

they can use services (like SMS, upload, download) of the website. They have to

register for alerts at the website and then the administrator can send alerts to them

regularly. They can contact the admin and can expect a reply to their message. On the

other had the admin can view users delete them, monitor the files being uploaded,

basically the admin has full access to the website. After using the services provided by

the website, the user can logout.

FIG 5.2.4 SEQUENTIAL DIAGRAM

49ST.MARY’S COLLEGE OF ENGG&TECH

Page 50: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2.5COLLABORATION DIAGRAM

A collaboration diagram describes interactions among objects in terms of sequenced

messages. Here collaboration diagram is another representation of sequence diagram. In

the below diagram arrows represent the functions provided by one object to another.

FIG 5.2.5 COLLABORATION DIAGRAM

50ST.MARY’S COLLEGE OF ENGG&TECH

Page 51: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.2.6 CONTROL FLOW DIAGRAM

Activity diagrams are graphical representations of workflows of stepwise activities and

actions with support for choice, iteration and concurrency. In this system user first

registers/log in but this will be validated by the application. Before display any profile

to the user the application will check the credentials once again. User has to user the

application to send messages to mobile phones. The user has to subscribe for alerts for

receiving alerts from the website (which will be sent from the admin of the website).

Any changes in user data will be processed by the application and finally the user can

Logout from the page

FIG 5.2.6 CONTROL FLOW DIAGRAM

51ST.MARY’S COLLEGE OF ENGG&TECH

Page 52: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

5.3 TABLE SPECIFICATION

Table Name: Admin

Field name Data type Size

Username Varchar 50

Password Varchar 10

Table Name: Users

Field Name Data type Size

User_id Varchar 50

Name Varchar 50

Email_id Varchar 50

password Varchar 50

Gender Varchar 50

Qualification Varchar 50

Experience Varchar 50

Salary Varchar 50

Current_organization Varchar 50

Current_location Varchar 50

Image Varchar 50

52ST.MARY’S COLLEGE OF ENGG&TECH

Page 53: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Table Name: jobs

Field Name Data Type Size

Job_id Varchar 50

Job_title Varchar 50

Job_description Varchar 50

Company_id Varchar 50

Location Varchar 50

salary Varchar 50

experience varchar 50

Shift varchar 50

gender varchar 50

Table Name: Organization

Field Name Data Type Size

org_nameVarchar 50

org_imagVarchar 50

locationVarchar 50

strength

Varchar 50

CHAPTER 6

53ST.MARY’S COLLEGE OF ENGG&TECH

Page 54: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

6.1 Coding /Code Templates

Searching a Job

<form action="orgsearch.php" method="post" accept-charset="utf-8">

<fieldset>

<legend align="center"><span><h3>Admin Login</h3></span></legend>

<br><br><br>

<table border="0" width="100%" cellpadding="0" cellspacing="0">

<tr>

<td width="45%" align="right">Search</td>

<td width="2%" align="center">:</td>

<td width="53%"><input value="" type="text" name="keyword"></td>

</tr>

<tr>

<td colspan="3" align="center"><br>

<input value="Go" type="submit">

</td>

</tr>

</table>

<br><br><br>

</fieldset>

</form>

54ST.MARY’S COLLEGE OF ENGG&TECH

Page 55: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Adding Jobs

<form action="componentdb.php" method="post" name="f7"

enctype="multipart/form-data">

<fieldset>

<strong><center>

<u>COMPONENT DETAILS</u></center></strong><br />

<center>

<strong>Component Type:</strong>

<select name="ct1">

<option value="0">Image</option>

<option value="1">video</option>

</select><br /><br />

<strong>Component Name:</strong>

<select name="cn1">

<option value="0">2Dimage</option>

<option value="1">3Dimage</option>

</select><br /><br />

<strong>Upload File:</strong><input type="file" name="f1" /><br /><br />

<strong>Component properties:</strong>

Imageformat:<select name="cpp1">

<option value="0"></option>

<option value="1">JPEG</option>

<option value="2">gif</option>

<option value="2">png</option>

<option value="4">pjpeg</option>

</select><br /><br />

Dimensions:<select name="cpp2">

<option value="0"></option>

<option value="1">640*480</option>

<option value="2">1024*768</option>

<option value="3">1275*1024</option>

55ST.MARY’S COLLEGE OF ENGG&TECH

Page 56: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

<option value="4">1600*900</option>

</select><br /><br />

video format:<select name="cpp3">

<option value="0"></option>

<option value="1">.avi</option>

<option value="2">.mp4</option>

<option value="3">.mkv</option>

<option value="4">.wmv</option>

</select><br /><br />

<strong>component description:</strong>

<textarea rows="2" cols="20" name="cd1">

this is image/video

</textarea><br /><br />

<br /><br />

<input type="submit" value="Submit" /></center>

</fieldset>

</form>

Inserting values into the database

<?php

include '../lib/db.php';

$_FILES['f1']['type'];

if ((($_FILES["f1"]["type"] == "image/gif")

|| ($_FILES["f1"]["type"] == "image/jpeg")

|| ($_FILES["f1"]["type"] == "image/pjpeg")))

{

move_uploaded_file($_FILES['f1']['tmp_name'],'../uploads/components/'.

$_FILES['f1']['name']);

$name=$_POST['cn1'];

$type=$_POST['ct1'];

$image=$_FILES['f1']['name'];

$imageformat=$_POST['cpp1'];

56ST.MARY’S COLLEGE OF ENGG&TECH

Page 57: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

$dimensions=$_POST['cpp2'];

$videoformat=$_POST['cpp3'];

$description=$_POST['cd1'];

$e="insert into component

values('','$type','$name','$image','$imageformat','$dimensions','$videoformat','$d

escription')";

mysql_query($e);

header('location:component.php');

}

else

{

echo "Invalid file extension";}?>

View Jobs

<table cellspacing=0 cellpadding=0>

<trcolspan=2>

<td><input type="checkbox" name="r2" /></td>

<td width="200"><strong>Componenttype</strong></td>

<td width="200"><strong>Componentname</strong></td>

<td width="200"><strong>Image</strong></td>

<td width="200"><strong>Properties</strong></td>

<td width="200"><strong>Description</strong></td>

</tr>

<?php

include '../lib/db.php';

$sql="select * from component;";

$x=mysql_query($sql);

while($row=mysql_fetch_array($x))

{

?>

<trcolspan=2>

<td width="200"><input type="checkbox" name="r1" /></td>

<td width="200"><?php echo $row['type']?></td>

57ST.MARY’S COLLEGE OF ENGG&TECH

Page 58: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

<td width="200"><?php echo $row['name']?></td>

<td width="200"><?php echo $row['image']?></td>

<td width="200"><?php echo $row['imageformat']?></td>

<td width="200"><?php echo $row['dimensions']?></td>

<td width="200"><?php echo $row['videoformat']?></td>

<td width="200"><?php echo $row['description']?></td>

<td width="200"><a href="editcomponent.php?id=<?php echo $row['id']; ?>">

<imgsrc="site/edit.jpg" alt="edit" /></a>

<a href="deletecomponent.php?id=<?php echo $row['id']; ?>"

onclick="return deletecomponent()">

<imgsrc="site/cancel.jpg" alt="cancel"></a></td></tr><?php } ?>

</table>.

Editing Job<?php include '../lib/db.php';

$quer="select * from component where id=".$_REQUEST['id'];

$r=mysql_query($quer);

$result=mysql_fetch_array($r);

?>

<html>

<body>

<form action="updatecomponent.php" method="post" name="f8"

enctype="multipart/form-data">

<feildset>

<center>

Component type<input type="text" name="ct1" value="<?php echo

$result['type'];?>" /><br /> Component name<input type="text" name="cn1"

value="<?php echo $result['name'];?>" /><br />

Changefile<input type="file" name="f1" /><a href="../uploads/components/<?php echo

$result['image'];?>"></a><br />

58ST.MARY’S COLLEGE OF ENGG&TECH

Page 59: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Image format<input type="text" name="cpp1" value="<?php echo

$result['imageformat'];?>" /><br />

Dimensions<input type="text" name="cpp2" value="<?php echo

$result['dimensions'];?>" /><br />

video format<input type="text" name="cpp3" value="<?php echo

$result['videoformat'];?>" /><br />

Description<input type="text" name="cd1" value="<?php echo

$result['description'];?>" /><br />

<input type="hidden" name="id" value="<?php echo $result['id'];?>" />

<input type="submit" value="Submit" />

</center></feildset></form></body></html>

Deleting Jobs

<?php

include '../lib/db.php';

$s="delete from component where id=".$_REQUEST['id'];

mysql_query($s);

header('location:viewcomponent.php');

?>

59ST.MARY’S COLLEGE OF ENGG&TECH

Page 60: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

6.1.1 Back-End code analysis

In the Back-end we have the following modules:

LOGIN:

The admin is the lone user of the back-end login. Once the admin logs in with

the username and password, then the authentication is invoked. If the

authentication is successful then the admin is allowed to proceed to the next

pages.

Admin Login: DataBase

Enter user name &Pwd

Code:

<?php

session_start(); //For every login a new session will be generated and the session

terminates once the user logs out.

include'../lib/db.php'; //This includes the db file which connects to the database

$sql="select * from admin where user_name='".$_REQUEST['username']."'AND

password='".$_REQUEST['password']."'";

//This query checks whether the entered username and password are present in

the database table

$result=mysql_query($sql); //Executes the query

$y=mysql_fetch_row($result);//Fetches the records in array format

60ST.MARY’S COLLEGE OF ENGG&TECH

Admin Connect to home page

Homepage

Page 61: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

if(is_array($y))

{

session_register('id');//If the array is built we register the session with a new id

$_SESSION['id']=$y[0];//Here we are assigning admin name to the sessionvariable

header("Location:index1.php");//If the username and password is valid the admin is

redirected to the home page

}

else

{

header("Location:index.php");//If the username and password is not valid then

admin is redirected to the login page

}?>

61ST.MARY’S COLLEGE OF ENGG&TECH

Page 62: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

ADD:

Once the admin logs in he can add the user details(name, user name, password, school

and class), school details(school name), curriculum details(curriculum name, image and

the school name), class details(class, image, curriculum name), subject details(name,

image, grade), chapter details(chapter name, image, subject id), content details(title,

description, chapter) to the database.

<?php

include("../lib/db.php"); //includes the db file which connects to the database

function add()

{

$sql="insert into users(name, user_name, password, school_id, class_id) values('".

$_POST['name']."','".$_POST['uname']."','".$_POST['pwd']."','".$_POST['se']."','".

$_POST['class']."')"; //inserts the values into the database table

mysql_query($sql); //executes the query

}?>

62ST.MARY’S COLLEGE OF ENGG&TECH

Page 63: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

EDIT:

If any modifications are to be done to the existing data present in the database then

the admin can edit the existing data and update in the database.

<?php

function edit()

{

$query="Update curriculum SET

curr_name='".$_POST['cuname']."',school_id='".$_POST['se']."',image='".

$_FILES['img']

['name']."' wherecurr_id=".$_REQUEST['id'];//Updates the the fields in the database

withnew values

mysql_query($query);//executes the query

}

?>

63ST.MARY’S COLLEGE OF ENGG&TECH

Page 64: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

DELETE

Admin can delete the data from the table in the database based on the

condition given.

<?php include("../lib/db.php"); //includes the db file which connects to

the database

function delete()

{

$sql="delete from subjects where sub_id=".$_REQUEST['id']; //deletes

the data from the table based on the condition given

mysql_query($sql); //executes the query

}

?>

64ST.MARY’S COLLEGE OF ENGG&TECH

Page 65: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

6.1.2 Front End Code analysis

Source:

<?xml version="1.0" encoding="utf-8"?>

<s:MobileApplicationxmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

firstView="views.mobileSearchEngineHome">

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

</fx:Declarations>

</s:MobileApplication>

Mobilesearch:

<?xml version="1.0" encoding="utf-8"?>

<s:Viewxmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

actionBarVisible="false"

>

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

<s:HTTPService method="POST"

url="http://localhost/mobisearch/login.php"

id="http"

result="http_resultHandler(event)"

fault="http_faultHandler(event)">

<s:requestxmlns="">

<uname>

{username.text}

65ST.MARY’S COLLEGE OF ENGG&TECH

Page 66: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

</uname>

<password>

{password.text}

</password>

</s:request>

</s:HTTPService>

</fx:Declarations>

<fx:Script>

<![CDATA[

importmx.rpc.events.FaultEvent;

importmx.rpc.events.ResultEvent;

protectedfunction

button1_clickHandler(event:MouseEvent):void

{

// TODO Auto-generated method stub

username.text="";

password.text="";

}

protectedfunction

button2_clickHandler(event:MouseEvent):void

{

// TODO Auto-generated method stub

trace("sending..");

http.send();

}

publicvarsuc:Search = new Search();

protectedfunctionhttp_resultHandler(event:ResultEvent):void

{

// TODO Auto-generated method stub

if(event.result=="success"){

this.removeAllElements()

66ST.MARY’S COLLEGE OF ENGG&TECH

Page 67: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

this.addElement(suc);

}

else{

Error.text = "Incorrect credentials.."

}

}

protectedfunctionhttp_faultHandler(event:FaultEvent):void

{

// TODO Auto-generated method stub

trace("failed"+event.fault);

Error.text = "Connection failed"

}

protectedfunctiontxt_username_focusInHandler(event:FocusEvent):void

{

// TODO Auto-generated method stub

if(Error.text != ""){

Error.text = "";

}

}

]]>

</fx:Script>

<s:Image width="100%" height="100%"

scaleX="100"

scaleY="102"

scaleZ="1"

source="@Embed(source='images/1.jpg')"/>

<s:VGroup width="100%" height="100%" gap="10"

horizontalAlign="center"

67ST.MARY’S COLLEGE OF ENGG&TECH

Page 68: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

verticalAlign="middle"

>

<s:HGroup width="100%" horizontalAlign="center">

<s:Label text="username"/>

<s:TextInput id="username" color="#000000"

focusIn="txt_username_focusInHandler(event)"

/>

</s:HGroup>

<s:HGroup width="100%" horizontalAlign="center">

<s:Label text="password"/>

<s:TextInput id="password" displayAsPassword="true"

color="#000000"

focusIn="txt_username_focusInHandler(event)"

/>

</s:HGroup>

<s:Label id="Error" color="#F70B0B"/>

<s:HGroup width="100%" horizontalAlign="center">

<s:Image source="@Embed(source='images/2.png')"

click="button2_clickHandler(event)"

buttonMode="true"

mouseChildren="false"

/>

<s:Image source="@Embed(source='images/7.png')"

click="button1_clickHandler(event)"

buttonMode="true"

mouseChildren="false"

/>

</s:HGroup>

68ST.MARY’S COLLEGE OF ENGG&TECH

Page 69: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

</s:VGroup>

</s:View>

Search.mxml:

<?xml version="1.0" encoding="utf-8"?>

<s:Viewxmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

width="100%" height="100%"

contentBackgroundColor="#ffffff"

>

<fx:Script>

<![CDATA[

importmx.collections.ArrayCollection;

importmx.rpc.events.FaultEvent;

importmx.rpc.events.ResultEvent;

[Bindable]

publicvarxmls:ArrayCollection;

protectedfunctionbtnSrch_clickHandler(event:MouseEvent):void

{

// TODO Auto-generated method stub

if(txtSrch.text != ""){

http.url =

"http://localhost/mobisearch/search.php";

http.send();

}

}

protectedfunctionhttp_resultHandler(event:ResultEvent):void

69ST.MARY’S COLLEGE OF ENGG&TECH

Page 70: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

{

// TODO Auto-generated method stub

httpXmlService.url = event.result.toString();

httpXmlService.send();

trace(event.result);

}

protectedfunctionhttp_faultHandler(event:FaultEvent):void

{

// TODO Auto-generated method stub

error.text = "error connecting to server ";

}

protectedfunctionhttpXmlService_resultHandler(event:ResultEvent):void

{

// TODO Auto-generated method stub

xmls =

event.result.companies.companyasArrayCollection;

}

protectedfunctionhttpXmlService_faultHandler(event:FaultEvent):void

{

// TODO Auto-generated method stub

trace("error");

}

70ST.MARY’S COLLEGE OF ENGG&TECH

Page 71: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

protectedfunctionlblLogout_clickHandler(event:MouseEvent):void

{

// TODO Auto-generated method stub

NativeApplication.nativeApplication.exit();

}

]]>

</fx:Script>

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

<s:HTTPService id="http"

result="http_resultHandler(event)"

fault="http_faultHandler(event)">

<s:requestxmlns="">

<keyword>

{txtSrch.text}

</keyword>

</s:request>

</s:HTTPService>

<s:HTTPService id="httpXmlService"

result="httpXmlService_resultHandler(event)"

fault="httpXmlService_faultHandler(event)">

</s:HTTPService>

</fx:Declarations>

71ST.MARY’S COLLEGE OF ENGG&TECH

Page 72: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

<s:VGroup width="100%" height="100%" gap="0">

<s:HGroup width="100%" horizontalAlign="right" paddingRight="10">

<s:Label id="error" maxWidth="350"/>

<s:Label

text="Logout"

id="lblLogout"

click="lblLogout_clickHandler(event)"

buttonMode="true"

mouseChildren="false"

/>

</s:HGroup>

<s:HGroup width="100%" maintainProjectionCenter="true">

<s:TextInputcolor="#000000" width="90%"

id="txtSrch"/>

<s:Image width="71" height="67"

click="btnSrch_clickHandler(event)"

source="@Embed(source='images/search_2.png')"/>

</s:HGroup>

<s:ListdataProvider="{xmls}" color="#000000"

itemRenderer="renderers.tile"

width="100%"

height="100%"/>

</s:VGroup>

</s:View>

Login

<?php

$host = "localhost";

72ST.MARY’S COLLEGE OF ENGG&TECH

Page 73: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

$user = "root";

$pwd = "";

$db = "mobilesearch";

mysql_connect($host,$user,$pwd) or die (" connection error");

mysql_select_db($db) or die("db could not slectd");

//$query ="select * from manage_users where user_name=".$_POST['uname'].";

$query ="select * from users where name='".$_REQUEST['uname']."' and password='".

$_REQUEST['password']."'";

$y=mysql_query($query);

$x=mysql_fetch_array($y);

if(is_array($x))

{

/*$file_name=$x['userid'].".xml";

$xml_file=fopen($file_name,'w');

$data='<?xml version="1.0" encoding="utf-8"?>';

$data.='<list>';

$data.='<user><userdetails>';

$data.='<name>'.$x['user_name'].'</name>';

$data.='<sessid>'.$x['userid'].'</sessid></userdetails></user>';

$data.='<buddies>';

$query1 ="select manage_users.user_name,friends.friend_id from

friends,manage_users where friends.user_id=".$x['userid']." AND

friends.friend_id=manage_users.userid";

$f=mysql_query($query1);

while($f_array=mysql_fetch_array($f))

{

$data.='<userdetails><name>'.$f_array['user_name'].'</name><sessid>'.

$f_array['friend_id'].'</sessid></userdetails>';

}

$data.='</buddies></list>';

fwrite($xml_file,$data);*/

73ST.MARY’S COLLEGE OF ENGG&TECH

Page 74: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

echo "success";

}

else

{

print "failed"; } ?>

Search.mxml:

<?php

mysql_connect('localhost','root','');

mysql_select_db('mobilesearch');

$sql="select *from jobs where job_title LIKE '%".$_REQUEST['keyword']."%'";

$x=mysql_query($sql);

$xml='<?xml version="1.0" encoding="utf-8"?>';

$xml.='<companies>';

while($row=mysql_fetch_array($x))

{

$xml.='<company>';

$xml.='<id>'.$row['job_id'].'</id>';

$xml.='<name>'.$row['job_title'].'</name>';

$xml.='</company>';

}

$xml.='<company>';

$xml.='<id></id>';

$xml.='<name></name>';

$xml.='</company>';

$xml.='</companies>';

$files=fopen('search.xml','w');

fwrite($files,$xml);

echo 'http://localhost/mobisearch/search.xml';

?>

74ST.MARY’S COLLEGE OF ENGG&TECH

Page 75: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

CHAPTER 7

TESTING

Testing is a process to show the correctness of the program. Testing is needed to show

completeness, t improve the quality of the software and to provide the maintenance aid.

Some testing standards are therefore necessary reduce the testing costs and operation

time. Testing software extends throughout the coding phase and it represents the

ultimate review of configurations, design and coding. Based on the way the software

reacts to these testing, we can decide whether the configuration that has been built is

75ST.MARY’S COLLEGE OF ENGG&TECH

Page 76: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

study or not. All components of an application are tested, as the failure to do so many

results in a series of bugs after the software is put to use.

7.1 BLACKBOX TESTING

Blackbox testing also called behavioral testing, focuses on the functional requirements

of software. This testing approach enables the software engineer to derive the input

conditions that will fully exercise all requirements for a program. Blackbox testing

attempts to find the errors like

Incorrect or missing functions

Interface errors

Errors in data structures or external database access

Behavior or performance errors

Initialization and termination errors

In Blackbox testing software is exercised over a full range of inputs and outputs are

observed for correctness.

7.2 WHITEBOX TESTING

Whitebox testing is also called Glassbox testing is a test case design control; structure

of the procedural design to derive test cases using Whitebox testing method, the

software engineer can derive the test cases that guarantee that all independent paths

within the module have been exercised at least once. Exercise all logic decisions on

their true or false sides. Execute all loops at their boundaries and within their

operational bounds. Exercise internal data structure to ensure their validity.

7.3SOFTWARE TESTING STRATEGIES

Testing involves

Unit testing

Integration testing

Acceptance testing

The first level of test is unit testing. The purpose of unit testing is to ensure that each

program is fully tested.

76ST.MARY’S COLLEGE OF ENGG&TECH

Page 77: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

The second step is integration testing. In this individual program units or programs are

integrated and tested as a complete system to ensure that the software requirements are

met.

Acceptance Testing involves planning and the execution of various types of tests in

order to demonstrate that the implemented software system satisfies the requirements.

Finally our project meets the requirements after going through all the levels of testing.

7.4 TESTING THE APPLICATION

Application should be thoroughly tested before releasing it into the market.

Testing will show if the application is delivering the expected results. In this case we

have given some wrong values to the application so that we can counter the errors

produced by the application in such a case. Next topic is test cases, where 10 test cases

are considered and checked if the test results are positive or not.

7.4.1 TEST CASES (FRONT END)

Test case no

Test case name

Input Actual value Expected value

Test result

1 Login Username and password is blank

Provide Username and password

Provide Username and password

No error

2 Search Search for a Job in the database

Enter search query

Search in Database and return results

No error

Table 7.4.1.1

7.4.2 TEST CASES(BACK END)

Test case no

Test case name

Input Actual value Expected value

Test result

1 Admin Login Username and

password is

blank

Provide name and password

Provide name and password

No error

2 Add users The user fields are left blank

User details are being provided

User details are being provided

No error

77ST.MARY’S COLLEGE OF ENGG&TECH

Page 78: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

3 Edit users Filled user fields are displayed

Edit the required fields

Edit the required fields

No error

4 Delete users User records Delete the user record

Delete the user record

No error

5 Add Job The Job fields are left blank

Job details are being provided

Curriculum details are being provided

No error

6 Edit Job Filled Job fields are displayed

Edit the required fields

Edit the required fields

No error

7 Delete Job Job details of the users

Delete the Job from the database

Delete the Job from the database

No error

8Add Organization

The Organization field is left blank

Based on the Organization we add classes

Based on the Organization we add classes

No error

9 Edit Organization

Organization details are displayed

Edit the Organization based on the requirement

Edit the Organization based on the requirement

No error

10 Delete Organization

Organization details

Delete the Organization

Delete the Organization

No error

Table 7.4.2

CHAPTER-8

78ST.MARY’S COLLEGE OF ENGG&TECH

Page 79: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1 Application screen shots

8.1.1 Back End application screen shots

LOGIN PAGE

FIG 8.1.1

Here the admin enters the username and password. This directly connects to the

database in the users tables look up in the table if the entered username and password is

correct then the page is linked to another page

8.1.2 View Page

79ST.MARY’S COLLEGE OF ENGG&TECH

Page 80: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

FIG 8.1.2

After login the page which is displayed is View user where the information of the users

can be viewed i.e the users who logged into the database.

80ST.MARY’S COLLEGE OF ENGG&TECH

Page 81: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1.3 Add user page

FIG 8.1.3

This page used to add the users in the database and align the values in their

particular table fields. To view the users who all logged in see view user.

81ST.MARY’S COLLEGE OF ENGG&TECH

Page 82: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1.4 Add Job page

FIG 8.1.4

This page is used to add jobs in the database. The jobs contains the fields

where a user specify his/her requirements.

82ST.MARY’S COLLEGE OF ENGG&TECH

Page 83: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1.5 View Jobs page

FIG 8.1.5

Admin can view can jobs to which the user had applied all the time. These

records are maintained in the database.

83ST.MARY’S COLLEGE OF ENGG&TECH

Page 84: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1.6 Edit job page

FIG 8.1.6

User can edit the jobs giving the details in the particular fields.

84ST.MARY’S COLLEGE OF ENGG&TECH

Page 85: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.1.7 Delete Users page

FIG 8.1.7

The admin can view and delete the job details to which a user had applied.

8.1.8 Log out page

85ST.MARY’S COLLEGE OF ENGG&TECH

Page 86: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

FIG 8.1.8

When we log out the page return back to the login page.

86ST.MARY’S COLLEGE OF ENGG&TECH

Page 87: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.2.1 Front end application screen shots

Login page in Mobile

FIG 8.2.1

When we debug the application code the code starts executing. Here is the display of

the application in the mobile.

87ST.MARY’S COLLEGE OF ENGG&TECH

Page 88: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.2.2 Action Page

FIG 8.2.2

Entering the username and password in the mobile app, this will connect to the database

of the sql from where it retrieves the data from it and executes the operation.

88ST.MARY’S COLLEGE OF ENGG&TECH

Page 89: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.2.3 Search Page in the Mobile

FIG 8.2.3

After successful sigin the page is displayed like this. This page contains a search image

and text input where the user enters the keywords in the text box.

89ST.MARY’S COLLEGE OF ENGG&TECH

Page 90: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

8.2.4 Search field

FIG 8.2.4

Enter the keyword with you want to search the Jobs, The jobs which are starting with

letter “h” are displayed first following others.

90ST.MARY’S COLLEGE OF ENGG&TECH

Page 91: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

CHAPTER 9

9.1 Conclusion

By this project, a unique search engine was presented for effective searching Of

information through mobile interface. The engine adopts three methods for retrieval:

two autonomousand one combinational. The ontology-based method makes use of the

semantic mark-up metadata accompanying each collection where an illustrative user

interface is used for graphical query formulation. The content-based method makes use

of the low-level visual characteristics of the multimedia material while the hybrid

method, which is the main contribution of this work, makes a combined use of the

previous two methods for offering a more complete result set to the user.

Easy access and portability of the system also helps to increase the performance of the

system in a better manner.

Future work includes the extension of the hybrid search engine and the integration of

additional cultural content. Finally we are investigating the addition of a semantic

recommendation engine to be able to make additional query suggestions to the user in

an automatic manner

91ST.MARY’S COLLEGE OF ENGG&TECH

Page 92: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

CHAPTER 10

10.1 Future Enhancements

Google Android Sales to Overtake iPhone in 2012 .

The OHA is committed to make their vision a reality: to deploy the Android platform

for every mobile operator, handset manufacturers and developers to build innovative

devices.Intel doesn’t want to lose ownership of the netbook market, so they need to

prepare for anything, including Android .

Fujitsu launched an initiative to offer consulting and engineering expertise to

help run Android on embedded hardware, which aside from cellphones, mobile internet

devices, and portable media players, could include GPS devices, thin-client computers

and set-top boxes. More Android devices are coming and some will push the envelope

even further .

92ST.MARY’S COLLEGE OF ENGG&TECH

Page 93: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

Bibilography

HTML: Website:www.w3schools.com

Text Book: WebTechnologies

Author: Patrick Naughton and Herbert Schildt

PHP: Website: www.w3schools.com

Text Book: Web Technologies

Author: Patrick Naughton and Herbert Schildt

MYSQL: Website: www.google.com, Wikipedia

Ref: Beaulieu, Alan (April 2009). Mary E Treseler. ed. Learning

SQL

Sebastopol, O’Reilly.

Adobe Flash

builder Burrito Website: www.google.com , Wikipedia , Learn Builder ,

Android Website: http://www.google.com"Open Handset Alliance". Open

Handset Alliance. http://www.openhandsetalliance.com/.

Wikipedia, Youtube

93ST.MARY’S COLLEGE OF ENGG&TECH

Page 94: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

REFERENCES

[1] James E. White. Mobile agents. In J. Bradshaw, editor,

Software Agents, chapter 18, pages 437–472. AAAI/MIT

Press, Menlo Park, CA, 1997.

[2] Volker Roth and MehrdadJalali. Concepts and architecture

of a security-centric mobile agent server. In Proc. Fifth

International Symposium on Autonomous Decentralized

Systems (ISADS 2001), pages 435–442, Dallas, Texas,

U.S.A., March 2001. IEEE Computer Society. ISBN

0-7695-1065-5.

[3] Walter Binder and Volker Roth. Secure mobile agent systems

using Java – where are we heading? In Proc. 17th ACM

Symposium on Applied Computing, Special Track on Agents,

Interactions, Mobility, and Systems (SAC/AIMS), Madrid,

Spain, March 2002. ACM.

[4] S. G. Belmon and B. S. Yee. Mobile agents and intellectual

property protection. In Rothermel and Hohl [22], pages

172–182.

[5] C. Arora, P. Nirankari, H. Ghosh, and S. Chaudhury. Content

based image retrieval using mobile agents. In Third

International Conference on Computational Intelligence and

Multimedia Applications (ICCIMA ’99), pages 248–252,

1999.

94ST.MARY’S COLLEGE OF ENGG&TECH

Page 95: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

95ST.MARY’S COLLEGE OF ENGG&TECH

Page 96: ANDROID OPERATING SYSTEM project

ANDROID OS MOBILE BASED SEARCH ENGINE

96ST.MARY’S COLLEGE OF ENGG&TECH


Top Related