View
218
Download
0
Category
Preview:
Citation preview
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 1/25
1.4 SOFTWARE DESCRIPTION
ANDROID
Android is a Linux-based operating system for mobile devices such
as smart phones and tablet computers. It is developed by the Open Handset
Alliance, led by Google.
Google financially backed the initial developer of the software, Android Inc.,
and later purchased it in 2005. The unveiling of the Android distribution in
2007 was announced with the founding of the Open Handset Alliance, a
consortium of 86 hardware, software, and telecommunication companies
devoted to advancing open standards for mobile devices. Google releases the
Android code as open-source, under the Apache License. The Android Open
Source Project (AOSP) is tasked with the maintenance and further development
of Android.
Android is a robust software that includes an operating system, middleware
and select applications. Developed and maintained as an open source project
by Google, Android benefits by contributions from members of the Open
handset Alliance (OHA), including ARM. Android has been designed and built
for the ARM architecture, and continues to be the primary development
platform of the OHA with hundreds of companies contributing to the Android
on ARM codebase.
One of the best sources for Android on ARM is directly from Google’s own
Android website. Android development on ARM falls into two categories;
application development and OS porting to various ARM based SoCs and
boards.
There are two development kits for Android applications. The first is the
SDK, or Software Development Kit, which is a Java development environment
that produces applications intended to run in the Android Dalvik Java VM. The
Dalvik runtime environment, heavily optimized for the ARM architecture,
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 2/25
including an ARM targeted Just-in-time (JIT) compiler, utilizes the latest
ARMv7 architectural features.
The second devevelopment kit is the NDK, or Native Development Kit.
The NDK augments the SDK for the creation of native ARM code used in timingsensitive or performance critical applications.
ANDROID SOFTWRE STACK
Android has a large community of developers writing applications
("apps") that extend the functionality of the devices. Developers write primarily
in a customized version of Java. Apps can be downloaded from third-party sites
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 3/25
or through online stores such as Google Play (formerly Android Market ), the
app store run by Google. In June 2012, there were more than 600,000 apps
available for Android, and the estimated number of applications downloaded
from Google Play was 20 billion.
Android became the world’s leading smart phone platform at the end of
2010. For the first quarter of 2012, Android had a 59% smart phone market
share worldwide. At the half of 2012, there were 400 million devices activated
and 1 million activations per day. Analysts point to the advantage to Android of
being a multi-channel, multi-carrier OS.
Android gives you everything you need to build best-in-class app
experiences. It gives you a single application model that lets you deploy yourapps broadly to hundreds of millions of users across a wide range of devices —
from phones to tablets and beyond.
Android also gives you tools for creating apps that look great and take
advantage of the hardware capabilities available on each device. It
automatically adapts your UI to look it's best on each device, while giving you
as much control as you want over your UI on different device types.
XML and the Java Platform
Java API for XML Processing (JAXP) : In many ways, XML and the Java
Platform are a partnership made in heaven. XML defines a cross platform data
format and Java provides a standard cross platform programming platform.
Together, XML and Java technologies allow programmers to apply Write Once,
Run Anywhere fundamentals to the processing of data and documents
generated by both Java based programs and non-Java based programs.
Foundation
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 4/25
Android, Inc. was founded in Palo Alto, California, United States in
October 2003 by Andy Rubin (co-founder of Danger), Rich Miner (co-founder of
Wildfire Communications, Inc.), Nick Sears and Chris White. At Google, the
team led by Rubin developed a mobile device platform powered by the Linux
kernel. Google marketed the platform to handset makers and carriers on the
promise of providing a flexible, upgradable system. Google had lined up a series
of hardware component and software partners and signaled to carriers that it
was open to various degrees of cooperation on their part. On November 5,
2007, the Open Handset Alliance, a consortium of several companies unveiled
itself. The goal of the Open Handset Alliance is to develop open standards for
mobile devices. On the same day, the Open Handset Alliance also unveiled
their first product, Android, a mobile device platform built on the Linux
kernel version 2.6.
Android Open Source Project
The Android Open Source Project (AOSP) is led by Google, and is tasked
with the maintenance and development of Android. According to the project
"The goal of the Android Open Source Project is to create a successful real-
world product that improves the mobile experience for end users."AOSP also
maintains the Android Compatibility Program , defining an "Android compatible"
device "as one that can run any application written by third-party developers
using the Android SDK and NDK", to prevent incompatible Android
implementations. The compatibility program is also optional and free of charge,
with the Compatibility Test Suite also free and open-source.
Version history
Android has been updated frequently since the original release of "Astro", witheach fixing bugs and adding new features. Each version is named in
alphabetical order, with 1.5 "Cupcake" being the first named after adessert and
every update since following this naming convention.
List of Android version names:
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 5/25
Cupcake
Donut
Eclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
Jelly Bean
Design
Android consists of a kernel based on the Linux kernel 2.6,
with middleware, libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries
based on Apache Harmony. Android uses the Dalvik virtual machine with just-
in-time compilation to run Dalvik dex-code (Dalvik Executable), which is
usually translated from Java bytecode.
The main hardware platform for Android is the ARM architecture. There
is support for x86 from the Android x86 project, and Google TV uses a special
x86 version of Android.
Linux
Android's kernel is based on the Linux kernel and has further
architecture changes by Google outside the typical Linux kernel development
cycle. Android does not have a native X Window System nor does it support the
full set of standard GNU libraries, and this makes it difficult to port existing
Linux applications or libraries to Android.
Certain features that Google contributed back to the Linux kernel,
notably a power management feature called wakelocks, were rejected by
mainline kernel developers, partly because kernel maintainers felt that Google
did not show any intent to maintain their own code.Even though Google
announced in April 2010 that they would hire two employees to work with the
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 7/25
extend its abilities by installing plug-ins written for the Eclipse Platform, such
as development toolkits for other programming languages, and can write and
contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and
open source software. It was one of the first IDEs to run under GNU Classpath
and it runs without issues under IcedTea.
Features
Handset layouts
The platform is adaptable to larger, VGA, 2D graphics library, 3D
graphics library based on OpenGL ES 2.0 specifications, and traditional
smartphone layouts.
Storage
SQLite, a lightweight relational database, is used for data storage
purposes.
Connectivity
Android supports connectivity technologies
including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-
Fi, LTE, NFC and WiMAX.
Messaging
SMS and MMS are available forms of messaging, including threaded text
messaging and Android Cloud To Device Messaging (C2DM) and now
enhanced version of C2DM, Android Google Cloud Messaging (GCM) is
also a part of Android Push Messaging service.
Multiple language support
Android supports multiple languages.
Web browser
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 8/25
The web browser available in Android is based on the open-
source WebKit layout engine, coupled with Chrome's V8 JavaScript
engine. The browser scores 100/100 on the Acid3 test on Android 4.0.
Java support
While most Android applications are written in Java, there is no Java
Virtual Machine in the platform and Java byte code is not executed. Java
classes are compiled into Dalvik executables and run on Dalvik, a
specialized virtual machine designed specifically for Android and
optimized for battery-powered mobile devices with limited memory and
CPU. J2ME support can be provided via third-party applications.
Media support
Android supports the following audio/video/still media
formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4
SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC(in MP4 or 3GP
container), MP3, MIDI, Ogg
Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP, WebP.
Streaming media support
RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download
(HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic
Streaming are supported by the Flash plugin. Apple HTTP Live Streaming
is supported by RealPlayer for Android, and by the operating system in
Android 3.0 (Honeycomb).
Multi-touch
Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero. The feature was originally
disabled at the kernel level (possibly to avoid infringing Apple's patents
on touch-screen technology at the time). Google has since released an
update for the Nexus One and the Motorola Droid which enables multi-
touch natively.
Bluetooth
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 9/25
Supports A2DP, AVRCP, sending files (OPP), accessing the phone book
(PBAP), voice dialing and sending contacts between phones. Keyboard,
mouse and joystick (HID) support is available in Android 3.1+, and in
earlier versions through manufacturer customizations and third-party
applications.
Video calling
Android does not support native video calling, but some handsets have a
customized version of the operating system that supports it, either via
the UMTS network (like the Samsung Galaxy S) or over IP. Video calling
through Google Talk is available in Android 2.3.4 and later. Gingerbread
allows Nexus S to place Internet calls with a SIP account. This allows for
enhanced VoIP dialing to other SIP accounts and even phone numbers.
Skype 2.1 offers video calling in Android 2.3, including front camera
support.
Multitasking
Multitasking of applications, with unique handling of memory allocation,
is available.
Voice based features
Google search through voice has been available since initial
release. Voice actions for calling, texting, navigation, etc. are supported
on Android 2.2 onwards.
Tethering
Android supports tethering, which allows a phone to be used as a
wireless/wired Wi-Fi hotspot. Before Android 2.2 this was supported by
third-party applications or manufacturer customizations.
Screen capture
Android supports capturing a screenshot by pressing the power and
volume-down buttons at the same time. Prior to Android 4.0, the only
methods of capturing a screenshot were through manufacturer and
third-party customizations or otherwise by using a PC connection (DDMS
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 10/25
developer's tool). These alternative methods are still available with the
latest Android.
External storage
Most Android devices include microSD slot and can read microSD cards
formatted with FAT32, Ext3 or Ext4 file system. To allow use of high-
capacity storage media such as USB flash drives and USB HDDs, many
Android tablets also include USB 'A' receptacle. Storage formatted
with FAT32 is handled by Linux Kernel VFAT driver, while 3rd party
solutions are required to handle other popular file systems such
as NTFS, HFS Plus and exFAT.
Applications
Applications are usually developed in the Java language using
the Android Software Development Kit, but other development tools are
available, including a Native Development Kitf or applications or extensions in C
or C++, Google App Inventor, a visual environment for novice programmers and
various cross platform mobile web applications frameworks.
Applications can be acquired by end-users either through a store such
as Google Play or the Amazon Appstore, or by downloading and installing the
application's APK file from a third-party site.
JAVA
Java is a programming language originally developed by James
Gosling at Sun Microsystems (which has since merged into Oracle Corporation)
and released in 1995 as a core component of Sun Microsystems' Java platform.
The language derives much of its syntaxf rom C and C++ but has a
simpler object model and fewer low-level facilities. Java applications are
typically compiled to bytecode (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
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 11/25
intended to let application developers "write once, run anywhere" (WORA),
meaning that code that runs on one platform does not need to be recompiled to
run on another. Java is as of 2012 one of the most popular programming
languages in use, particularly for client-server web applications, with a
reported 10 million users.
The original and reference implementation Java compilers, virtual
machines, and class libraries were developed by Sun from 1995. As of May
2007, in compliance with the specifications of the Java Community Process,
Sun relicensed most of its Java technologies under the GNU General Public
License. Others have also developed alternative implementations of these Sun
technologies, such as the GNU Compiler for Java and GNU Classpath.
History
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991. Java was originally designed for interactive
television, but it was too advanced for the digital cable television industry at
the time. The language was initially called Oak after an oak tree that stood
outside Gosling's office; it went by the name Green later, and was later
renamed Java , from Java coffee, said to be consumed in large quantities by thelanguage's creators. Gosling aimed to implement a virtual machine and a
language that had a familiarC/C++ style of notation.
Sun Microsystems released the first public implementation as Java 1.0
in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost
run-times on popular platforms. Fairly secure and featuring configurable
security, it allowed network- and file-access restrictions. Major web browsers
soon incorporated the ability to run Java applets within web pages, and Java
quickly became popular. With the advent of Java 2 (released initially as J2SE
1.2 in December 1998 – 1999), new versions had multiple configurations built
for different types of platforms. For example, J2EE targeted enterprise
applications and the greatly stripped-down version J2ME for mobile
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 12/25
applications (Mobile Java). J2SE designated the Standard Edition. In 2006, for
marketing purposes, Sun renamed new J2 versions as Java EE, Java ME,
and Java SE, respectively.
In 1997, Sun Microsystems approached the ISO/IEC JTC1 standardsbody and later the Ecma International to formalize Java, but it soon withdrew
from the process. Java remains a de facto standard, controlled through
the Java Community Process. At one time, Sun made most of its Java
implementations available without charge, despite their proprietary
software status. Sun generated revenue from Java through the selling of
licenses for specialized products such as the Java Enterprise System. Sun
distinguishes between its Software Development Kit (SDK) andRuntime
Environment (JRE) (a subset of the SDK); the primary distinction involves
the JRE's lack of the compiler, utility programs, and header files.
Principles
There were five primary goals in the creation of the Java language:
1. It should be "simple, object-oriented and familiar"
2. It should be "robust and secure"
3. It should be "architecture-neutral and portable"
4. It should execute with "high performance"
5. It should be "interpreted, threaded, and dynamic"
Versions
Major release versions of Java, along with their release dates:
JDK 1.0 (January 23, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
J2SE 1.4 (February 6, 2002)
J2SE 5.0 (September 30, 2004)
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 13/25
Java SE 6 (December 11, 2006)
Java SE 7 (July 28, 2011)
Automatic memory management
Java uses an automatic garbage collector to manage memory inthe 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 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.
One of the ideas behind Java's automatic memory management model is
that programmers can be spared the burden of having to perform manual
memory management. In some languages, memory for the creation of objects is
implicitly allocated on the stack, or explicitly allocated and deallocated from
the heap. In the latter case the responsibility of managing memory resides with
the programmer. If the program does not deallocate an object, a memory
leak occurs. If the program attempts to access or deallocate memory that has
already been deallocated, the result is undefined and difficult to predict, and
the program is likely to become unstable and/or crash. This can be partially
remedied by the use of smart pointers, but these add overhead and complexity.
Note that garbage collection does not prevent "logical" memory leaks, i.e. those
where the memory is still referenced but never used.
Garbage collection may happen at any time. Ideally, it will occur when a
program is idle. It is guaranteed to be triggered if there is insufficient free
memory on the heap to allocate a new object; this can cause a program to stall
momentarily. Explicit memory management is not possible in Java.
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 14/25
Java does not support C/C++ style pointer arithmetic, where object addresses
and unsigned integers (usually long integers) can be used interchangeably.
This allows the garbage collector to relocate referenced objects and ensures
type safety and security.
Java contains multiple types of garbage collectors. By default, HotSpot
uses the Concurrent Mark Sweep collector, also known as the CMS Garbage
Collector. However, there are also several other garbage collectors that can be
used to manage the Heap. For 90% of applications in Java, the CMS Garbage
Collector is good enough.
Java Virtual Machine
The heart of the Java platform is the concept of a "virtual machine" that
executes Java bytecode programs. This bytecode is the same no matter what
hardware or operating system the program is running under. There is a
JIT(Just In Time) compiler within the Java Virtual Machine , or JVM. The JIT
compiler translates the Java bytecode into native processor instructions at
run-time and caches the native code in memory during execution.
The use of bytecode as an intermediate language permits Java programs
to run on any platform that has a virtual machine available. The use of a JIT
compiler means that Java applications, after a short delay during loading and
once they have "warmed up" by being all or mostly JIT-compiled, tend to run
about as fast as native programs. Since JRE version 1.2, Sun's JVM
implementation has included a just-in-time compiler instead of an interpreter.
Although Java programs are cross-platform or platform independent, the
code of the Java Virtual Machines (JVM) that execute these programs is not.
Every supported operating platform has its own JVM.
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 15/25
Usages
Desktop use
According to Oracle, the Java Runtime Environment is found on over 850
million PCs. Microsoft has not bundled a Java Runtime Environment (JRE)
with its operating systemssince Sun Microsystems sued Microsoft for adding
Windows-specific classes to the bundled Java runtime environment, and for
making the new classes available through Visual J++.
Some Java applications are in fairly widespread desktop use, including
the NetBeans and Eclipse integrated development environments, and file
sharing clients such as LimeWireand Vuze. Java provides cross platform user
interface for some high end collaborative applications like Lotus Notes.
Mobile devices
Java ME has become popular in mobile devices, where it competes
with Symbian, BREW, and the .NET Compact Framework.
The diversity of mobile phone manufacturers has led to a need for new
unified standards so programs can run on phones from different suppliers -
MIDP. The first standard was MIDP 1, which assumed a small screen size, no
access to audio, and a 32kB program limit. The more recent MIDP 2 allows
access to audio, and up to 64kB for the program size. With handset designs
improving more rapidly than the standards, some manufacturers relax some
limitations in the standards, for example, maximum program size.
Google's Android operating system uses the Java language, but not its class
libraries, therefore the Android platform cannot be called Java. Android
executes the code on the Dalvik VM instead of the Java VM.
Web server and enterprise use
The Java platform has become a mainstay of enterprise IT development
since the introduction of the Enterprise Edition in 1998, in two different ways:
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 16/25
Through the coupling of Java to the web server, the Java platform has
become a leading platform for integrating the Web with enterprise
backend systems. This has allowed companies to move part or all of
their business to the Internet environment by way of highly interactive
online environments (such as highly dynamic websites) that allow the
customer direct access to the business processes (e.g. online banking
websites, airline booking systems and so on). This trend has continued
from its initial Web-based start:
The Java platform has become the main development platform for many
software tools and platforms that are produced by third-party software
groups (commercial, open source and hybrid) and are used as
configurable (rather than programmable) tools by companies. Examples
in this category include Web servers, application servers, databases,
enterprise service buses, business process management (BPM) tools
and content management systems.
DATABASE DESIGN
Database design forms an important part of every project. The
management of data involves both the definition of structure for the storage of
information and provision of mechanisms for manipulation of information. The
database system must provide safety for the information stored; despite system
crashes or attempts of unauthorized access the database used in this project is
SQLite.
About SQLite
SQLite is a relational database management system contained in asmall (~275 kB) C programming library. In contrast to other database
management systems, SQLite is not a separate process that is accessed
from the client application, but an integral part of it.
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 17/25
SQLite is ACID-compliant and implements most of the SQL standard,
using a dynamically and weakly typed SQL syntax that does not
guarantee the domain integrity.
SQLite is a popular choice as embedded database for local/client storagein application software such as web browsers. It is arguably the most
widely deployed database engine, as it is used today by several
widespread browsers, operating systems, and embedded systems,
among others. SQLite has many bindings to programming languages.
Design
Unlike client – server database management systems, the SQLite engine
has no tandalone processes with which the application program
communicates. Instead, the SQLite libraryis linked in and thus becomes an
integral part of the application program. The library can also be called
dynamically. The application program uses SQLite's functionality through
simple function calls, which reduce latency in database access: function calls
within a single process are more efficient than inter-process communication.
SQLite stores the entire database (definitions, tables, indices, and the data
itself) as a single cross-platform file on a host machine. It implements this
simple design by locking the entire database file during writing. SQLite read
operations can be multitasked, though writes can only be performed
sequentially.
History
D. Richard Hipp designed SQLite in the spring of 2000 while working
for General Dynamics on contract with the United States Navy. Hipp was
designing software used on boardguided missile destroyer ships, which were
originally based on HP-UX with an IBM Informix database back-end. The
design goals of SQLite were to allow the program to be operated without
installing a database management system or administration. In August 2000,
version 1.0 of SQLite was released, based on gdbm (GNU Database Manager).
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 18/25
SQLite 2.0 replaced gdbm with a custom B-tree implementation, adding
support for transactions. SQLite 3.0, partially funded by America Online,
added internationalization, manifest typing, and other major improvements.
In 2011 Hipp announced his plans to add an UnQL interface to SQLitedatabases and to develop UnQLite , an embeddable document-oriented
database.
Features
SQLite implements most of the SQL-92 standard for SQL but it lacks
some features. For example it has partial support for triggers, and it
can't write to views (however it supports INSTEAD OF triggers that
provide this functionality). While it supports complex queries, it still has
limited ALTER TABLE support, as it can't modify or delete columns.
SQLite uses an unusual type system for a SQL-compatible DBMS.
Instead of assigning a type to a column as in most SQL database
systems, types are assigned to individual values; in language terms it
is dynamically typed . Moreover, it is weakly typed in some of the same
ways that Perl is: one can insert a string into an integer column
(although SQLite will try to convert the string to an integer first, if the
column's preferred type is integer). This adds flexibility to columns,
especially when bound to a dynamically typed scripting language.
However, the technique is not portable to other SQL products. A common
criticism is that SQLite's type system lacks the data integrity mechanism
provided by statically typed columns in other products.
Several computer processes or threads may access the same database
concurrently. Several read accesses can be satisfied in parallel. A write
access can only be satisfied if no other accesses are currently being
serviced. Otherwise, the write access fails with an error code (or can
automatically be retried until a configurable timeout expires). This
concurrent access situation would change when dealing with temporary
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 19/25
tables. This restriction is relaxed in version 3.7 when WAL is turned on
enabling concurrent reads and writes.
A standalone program called sqlite3 is provided that can be used to create
a database, define tables within it, insert and change rows, run queriesand manage a SQLite database file. This program is a single executable
file on the host machine. It also serves as an example for writing
applications that use the SQLite library.
SQLite is a popular choice for local/client SQL storage within a web
browser and within a rich internet application framework;most notably
the leaders in this area embed SQLite.
SQLite full Unicode support is optional.
SQLite also has bindings for a large number of programming languages,
including BASIC, C, C++, Clipper//Harbour, Common
Lisp, C#, Curl, D, Delphi, Free
Pascal, Haskell, Java,Livecode, Lua, newLisp, Objective-C (on Mac OS
X and iOS), OCaml, Perl, PHP, Pike, Python, REBOL, R, REALbasic, Ruby
, Scheme, Smalltalk, Tcl, Visual Basic, and JavaScript.
An ADO.NET adapter, initially developed by Robert Simpson, is
maintained jointly with the SQLite developers since April
2010. An ODBC driver has been developed and is maintained separately
by Christian Werner. Werner's ODBC driver is the recommend
connection method for accessing SQLite from OpenOffice. There is also
a COM (ActiveX) wrapper making SQLite accessible on Windows to
scripted languages such as JScript and VBScript. This adds database
capabilities to HTML Applications(HTA).
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 20/25
About PHP
Rasmus Lerdorf — Software Engineer, Apache team member,
and international man of mystery — is the creator and original driving force
behind PHP. PHP is the Web development language written by and for Web
developers.PHP stands for Hypertext Preprocessor. The product was
originally named Personal Home Page Tools. But as it expanded in scope, a
new and more appropriate name was selected by community vote. PHP is
currently in its fifth major rewrite, called PHP5 or just plain PHP.
PHP is a server-side scripting language, which can be embedded in
HTML or used as a standalone binary. Proprietary products in this niche are
Microsoft’s Active Server Pages, Macromedia’s ColdFusion, and Sun’s Java
Server Pages. Some tech journalists used to call PHP ―the open source ASP‖
because its functionality is similar to that of the Microsoft product — although
this formulation was misleading, as PHP ASP was developed before. Server-side
scripting is a collection of super-HTML tags or small programs that run inside
your Web pages — except on the server side, before they get sent to the browser.
For example, you can use PHP to add common headers and footers to all the
pages on a site or to store form-submitted data in a database.
PHP is an official module of Apache HTTP Server, the market-
leading free Web server that runs about 67 percent of the World Wide Web.
This means that the PHP scripting engine can be built into the Web server
itself, leading to faster processing, more efficient memory allocation, and
greatly simplified maintenance. Like Apache Server, PHP is fully cross-
platform, meaning it runs native on several flavors of UNIX, as well as on
Windows and now on Mac OS X. All projects under the aegis of the Apache
Software Foundation — including PHP — are open source software.
Features of PHP
Cost is low
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 21/25
PHP is an open source software
PHP is easy to learn
PHP is embedded within HTML
The HTML- Embeddedness of PHP has many helpful consequences:
PHP can quickly be added to code produced by WYSIWYG
editors.
PHP lends itself to a division of labor between designers
and script writers.
Every line of HTML does not need to be rewritten in a
programming language.
PHP can reduce labor costs and increase efficiency due to
its shallow learning curve and ease of use.
PHP has Cross-platform compatibility
PHP is not tag-based
PHP is stable means
The software doesn’t change radically and
incompatibly from release to release.
The server doesn’t need to be rebooted often
PHP is much faster for almost every use than CGI scripts
PHP makes it easy to communicate with other programs and
protocols
PHP is fast becoming one of the most popular choices for so-called
two-tier development
PHP is developed and supported in a collaborative fashion by a
worldwide community of users
Hyper Text Transfer Protocol (HTTP)
HTTP is the protocol ―spoken‖ by Web servers. Client programs that can
speak HTTP, are known as browsers, are used by the people on the Internet to
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 22/25
connect to HTTP servers. These servers provide access to distributed hyper
linked documents, applications and databases. HTTP is a stateless, object
oriented application level protocol that has been in the existence since the early
days of the WWW. NSCA HTTP is a HTTP/1.0 compliant Web Server and is
credited with being one of the first HTTP servers available. It supports multiple
schemes of authentication.
Html – The Frame Work For WebPages
Hypertext Markup Language (HTML) is the text markup language on the
World Wide Web. The markup commands applied to the web based content tell
the browser software the structure of document and, when appropriate, how
we want the content to be displayed. It has a well defined syntax and HTML documents have a formal structure. With the introduction of scripting
languages such as JavaScript, the concept of dynamic HTML (DHTML) is
becoming more and more popular and is used to create highly interactive web
pages. When browser reads a document that has HTML markup in it, it
determines how to render it on screen by considering the html elements
embedded within the document.
DATABASE MANAGEMENT SYSTEM (DBMS)
A Database is defined as a collection of interrelated data, stored
together without necessary redundancy to serve multiple applications. It can be
defined as a large, interrelated, shared pool of information in a form that is
suitable for handling by a computer. The data are stored so that they are
independent of programs that use the data. A common and controlled method
is followed for manipulating the data in the database.
About MySQL
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 23/25
MySQL is a fast, easy-to-use RDBMS used being used for many
small and big businesses. MySQL is developed, marketed, and supported by
MySQL AB, which is a Swedish company. MySQL (pronounced My Ess Q El) is
an open source, SQL Relational Database Management System (RDBMS) that
is free for many uses (more detail on that later). Early in its history, MySQL
occasionally faced opposition due to its lack of support for some core SQL
constructs such as sub selects and foreign keys. Ultimately, however, MySQL
found a broad, enthusiastic user base for its liberal licensing terms, perky
performance, and ease of use. Its acceptance was aided in part by the wide
variety of other technologies such as PHP, Java, Perl, Python, and the like that
have encouraged its use through stable, well-documented modules and
Extensions. MySQL has not failed to reward the loyalty of these users with the
addition of both sub selects and foreign keys.
A database system is an overall collection of different database
software components and database containing the parts viz. Database
application programs, front-end components, Database Management Systems,
and Databases.
A database system must provide following features,
A variety of user interfaces.
Physical data independence.
Logical data independence.
Query optimization.
Data integrity.
Concurrency control.
Backup and recovery.
Security and authorization.
MySQL is becoming so popular because of many good reasons.
7/27/2019 Android document
http://slidepdf.com/reader/full/android-document 24/25
MySQL is released under an open-source license. So you have nothing
to pay to use it.
MySQL is a very powerful program in its own right. It handles a large
subset of the functionality of the most expensive and powerfuldatabase packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages
including PHP, PERL, C, C++, JAVA etc.
MySQL works very quickly and works well even with large data sets.
MySQL is very friendly to PHP, the most appreciated language for web
development.
MySQL supports large databases, up to 50 million rows or more in a
table. The default file size limit for a table is 4GB, but you can
increase this (if your operating system can handle it) to a theoretical
limit of 8 million terabytes (TB).
MySQL is customizable. The open source GPL license allows
programmers to modify the MySQL software to fit their own specificenvironments.
Recommended