Sie sind auf Seite 1von 31

DEVELOPMENT AND IMPLEMENTATION OF AN ONLINE RADIO STEAMING

ANDROID APPLICATION. A CASE STUDY OF HOME BOYS KENYA.

BY

RESEARCH PROJECT PROPOSAL SUBMITTED TO THE FACULTY OF SCIENCE

AND TECHNOLOGY FOR THE AWARD OF BACHELORS

DEGREE OF INFORMATION

TECHNOLOGY

FEB, 2017

CHAPTER ONE
INTRODUCTION

1.0. Introduction
This chapter presents the background to the study, statement of the problem, the purpose of the
study, objective of the study, research questions and the assumptions, scope of the study,
significance of the study, the justification of the study and the operational definition of terms and
concepts as applied to suit the context of the study.

1.1 Background of the study

Radio application development services for streaming are included with select Internet Radio
Hosting and Live Video Streaming plans. Reach millions of potential users with the own app,
deployed on all markets. Get the own online radio or TV app customized with the logo and
background image, deployed FREE. Enterprise audio or video streaming plan required for free
radio application development. Customer must stream 24/7 in order for radio app to be approved
in any market. Joshua (2007).
The number of smartphone users that can turn their radio devices into a radio radio is growing. If
you have a smartphone, but do not yet have an app to allow it to pick up online radio stations,
you should consider online radio apps produced by Onseeker. A world of music, news and sports
from around the globe comes to the fingertips with an Onseeker app for radio. You can explore
music and events as they happen live in other countries using one of our radio apps that allow the
radio device to tune in to stations around the globe. Radio is more fun when you have a variety
of countries and music from which to choose. Steven (2009).
The best news about an Onseeker online radio app is that it is an off-the-shelf solution ready to
go as soon as you download it into the radio device. The process is fast and the cost is extremely
reasonable. The Onseeker app for radio is highly reliable and is designed to serve the needs for
years to come. We put our years of experience behind our radio radio apps so you can be
confident of hours of enjoyable use. Imagine being able to sit back and relax while listening to
classic rock from Little Rock, Arkansas or new age music from New Zealand. Radio stations that
play all kinds of music and broadcast news and events are waiting for you when you trust
Onseeker for an online app for radio. Chris (2010).
At Onseeker, we are the specialists in developing a range of useful apps to make smartphones
and radio devices work better for their owners. This includes entertainment and especially radio
broadcasts over the Internet. Our online radio apps are able to turn the Internet into the largest
worldwide radio you've ever used. Every day, a large number of radio device users listen to the
radio on their smartphones. To get started listening to the radio on you radio device, you need the
ease and convenience of an Onseeker-designed online radio app. Best of all, the smartphone lets
you listen to the radio and communicate with friends and family. The smartphone becomes that
much smarter when you make it do more for you. Tim (2010).
Personal Digital Assistants (PDAs) such as Palm tops, and smart phones such as Blackberry,
iPhones are all capable of downloading and using apps. You can download applications from
the web via application stores to see a wide variety of applications Available for download
to the radio device. Raphael (2010).
There is a wide array of applications for various tasks. One of the most common is a web
browser, allowing you to access the Internet from the phone (service is required). Other popular
applications include games, Educational applications, Entertainment applications, and Health
applications.

Radio applications usually help users by connecting them to Internet services more commonly
accessed on desktop or notebook computers, or help them by making it easier to use the Internet
on their portable devices. A radio app may be a radio Web site bookmarking utility, a radio-based
instant messaging client, Gmail for radio, and many other applications. ; Luca Cardelli (1998).
Because radio applications perform one dedicated task, it has become common for a person with
an idea for an application to create and deploy it with little or no training. There are
user-friendly programs that can help the average user develop an application for personal
use or for the marketplace. Gerald Jay Sussman (1997).
1.2 Problem statement

The current radio steaming is manual as all the work is done and kept in files or not at all. The
activities done are done by filling in forms manually. No proper records are kept at all therefore
taking a lot of time. This makes this manual process inefficient. They face the problem of data
accuracy and not being able to collect the required data in time. Therefore it is necessary to
develop online radio steaming android application that allocates various Homeboyz radio kenya
using Google map when radio programs are is mapped, assigns automatically with user defined
rules that track discrete details , update status each time, save clients information into database
and generate reports, allow new clients select the best choice wherever they may be anytime.

1.3 Research Objective

1.3.1 MAIN OBJECTIVE:


To develop and implement an online radio steaming android application for Homeboyz radio
Kenya.

1.4 SPECIFIC OBJECTIVES


i. To analyze the current radio steaming for for Homeboyz radio Kenya.
ii. To increase the speed at which the radio are searched and enable easy accessibility of
information.
iii. To design, develop, test, and implement online radio steaming android application that
allows Homeboyz radio Kenya to locate and access their information.

1.4 research question

1.4.1 General Research Question

What is an online radio steaming android application for Homeboyz radio Kenya?

1.4.2 SPECIFIC RESEARCH QUESTIONS


i. Can speed at which online radio steaming are searched be increased?
ii. Can radio steaming information be accessible easily?
iii. Can online radio steaming android application for homeboyz Kenya be designed,
developed, tested and implemented?

1.5 SIGNIFICANCE OF THE PROJECT


i. This app will enhance the efficiency and effectiveness of online radio steaming android
application. This will improve the search criteria and booking system and make it more
technologically convenient.
ii. Allow users of the application to receive reliable information about a specific programs at
an increased speed.
iii. Allows rating of each radio based on information given by the clients in terms of services
hence improved services by homeboyz kenya.

1.6 SCOPE OF THE PROJECT


1.6.1 Subject Scope
The subject scope of this project is having an online radio steaming android application and
a web Client that are used for accessing and updating radios information .This application will
be allowed usage by users who can access an online android application by use of internet.

1.6.2 Geographical Scope


This system targets Homeboyz in Kenya Unit with no limitation in the accessibility of radio
steaming information from anywhere within the country.
1.6.3 The study will review documents covering a period of 4 years (2013-2016) and will cast for
a period of 5 months (June October 2016).
CHAPTER TWO

LITERATURE REVIEW

2.0 Introduction
This chapter gives a summary of the literature that has been researched by other scholars. It
includes the strengths and limitations of the current system.

2.1 Online Web Based Systems

Web-based applications offer a range of business advantages over traditional desktop


applications. World is contracting with the growth of mobile phone technology. As the number of
users is increasing day by day, facilities are also increasing. Starting with simple regular handsets
which were used just for making phone calls, mobiles have changed our lives and have become
part of it. Now they are not used just for making calls but they have innumerable uses and can be
used as a Camera , Music player, Tablet PC, T.V. , Web browser etc . And with the new
technologies, new software and operating systems are required. Deborah J. ( 2006).

A web-based application is any application that uses a website as the interface (the front-end).
Users access the application from any computer connected to the Internet using a standard
browser, instead of using an application that has been installed on their local computer. Booch,
Grady (1997).

For example, most of us are familiar with Microsoft Word, a common word-processing
application. Google Docs is also a word-processing application, but users perform all the
functions using any web browser instead of using software installed on their computer. Web-
based e-mail such as Hotmail is another common web-based application that performs the same
functions as a traditional desktop application. Oliver Sims (1998)

With web-based applications, users access the system via a uniform environmentthe web
browser. While the user interaction with the application needs to be thoroughly tested on
different web browsers, the application itself needs only be developed for a single operating
system. Theres no need to develop and test it on all possible operating system versions and
configurations. This makes development and troubleshooting much easier, and for web
applications that use a Flash front end, testing and troubleshooting is even easier. John Vlissides
(1995).

Unlike traditional applications, web systems are accessible anytime, anywhere, via a PC with an
Internet connection, putting the user in charge of where and when they access the application.
Meikle, G. (2002).

The user interface of web-based applications is easier to customise than it is in desktop


applications. This makes it easier to update the look and feel of the application, or to customise
the presentation of information to different user groups. William Morrissey (1996).

In addition to customising content for user groups, content can also be customised for
presentation on any device connected to the internet, including PDAs, mobile phones, etc.,
further extending the users ability to receive and interact with information. Lessig, L. (2001).

Using internet technologies based on industry-wide standards, its possible to achieve a far
greater level of interoperability between applications than with isolated desktop systems. For
example, it is much easier to integrate a web-based shopping cart system with a web-based
accounting package than it is to get two proprietary systems to talk to each other. Web-based
architecture makes it possible to rapidly integrate enterprise systems, improving work-flow and
other business processes. Putnam, R. D. (2000).

Installation and maintenance becomes less complicated. Once a new version or upgrade is
installed on the host server, all users can access it straight away. There is no need to upgrade each
client PC. Rolling out new software can be accomplished more easily, requiring only that users
have up-to-date browsers and plugins. And as the upgrades are only performed by an
experienced professional to a single server, the results are more predictable and reliable.
Campbell, T. (2002).

Increasing processor capacity also becomes a far simpler operation. If an application requires
more power to perform tasks, only the server hardware needs to be upgraded. The capacity of
web-based software can be increased by clustering or running the software on several servers
simultaneously. As workload increases, new servers can be added to the system easilyGoogle,
for example, runs on thousands of inexpensive Linux servers. If a server fails, it can be replaced
without affecting the overall performance of the application. Bradbury, H. (2001).
Web-based applications are typically deployed on dedicated servers, which are monitored and
maintained by experienced server administrators. This is far more effective than monitoring
hundreds or even thousands of client computers, as is the case with new desktop applications.
Rifkin, J. (2000).

Any of three core technologies can be used for building web-based applications, depending on
the requirements of the application. The Java-based solutions (J2EE) from Sun Microsystems
involve technologies such as JSP and Servlets. The newer Microsoft .NET platform uses Active
Server Pages, SQL Server and .NET scripting languages. The third option is the Open Source
platform (predominantly PHP and MySQL), which is best suited to smaller websites and lower
budget applications. Servon, L. J. (2002).

2.2 Android

Android provides a rich application framework that allows you to build innovative apps and
games for mobile devices in a Java language environment. The documents listed in the left
navigation provide details about how to build apps using Android's various APIs. Lewis, P.
(2002)

Android comes with an Android market which is an online software store. It was developed by
Google. It allows Android users to select, and download applications developed by third party
developers and use them. There are around 2.0 lack+ games, application and widgets available
on the market for users. Spinelli, M. (2000).

Android apps are built as a combination of distinct components that can be invoked individually.
For instance, an individual activity provides a single screen for a user interface, and a service
independently performs work in the background. Hearn, G., & Ninan, A. (2003)

From one component you can start another component using an intent. You can even start a
component in a different app, such as an activity in a maps app to show an address. This model
provides multiple entry points for a single app and allows any app to behave as a user's "default"
for an action that other apps may invoke. Hearn, G. (2003).

Android provides an adaptive app framework that allows you to provide unique resources for
different device configurations. For example, you can create different XML layout files for
different screen sizes and the system determines which layout to apply based on the current
device's screen size. Joshua (2007).

You can query the availability of device features at runtime if any app features require specific
hardware such as a camera. If necessary, you can also declare features the app requires so app
markets such as Google Play Store do not allow installation on devices that do not support that
feature. Steven (2009).

Android applications are written in java programming language. Android is available as open
source for developers to develop applications which can be further used for selling in android
market. There are around 200000 applications developed for android with over 3 billion+
downloads. Android relies on Linux version 2.6 for core system services such as security,
memory management, process management, network stack, and driver model. For software
development, Android provides Android SDK (Software development kit). Read more about
open source software. Chris (2010).

Operating Systems have developed a lot in last 15 years. Starting from black and white phones to
recent smart phones or mini computers, mobile OS has come far away. Especially for smart
phones, Mobile OS has greatly evolved from Palm OS in 1996 to Windows pocket PC in 2000
then to Blackberry OS and Android. Tim (2010).

One of the most widely used mobile OS these days is ANDROID. Android is a software bunch
comprising not only operating system but also middleware and key applications. Android Inc
was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris
White in 2003. Later Android Inc. was acquired by Google in 2005. After original release there
have been number of updates in the original version of Android. Raphael (2010).

2.2.1 Android SAK

A software development kit that enables developers to create applications for the Android
platform. The Android SDK includes sample projects with source code, development tools, an
emulator, and required libraries to build Android applications. Applications are written using the
Java programming language and run on Dalvik, a custom virtual machine designed for embedded
use which runs on top of a Linuxkernel. Luca Cardelli (1998).
2.2.2 FEATURES OF ANDROID

Android is a powerful Operating System supporting a large number of applications in Smart


Phones. These applications make life more comfortable and advanced for the users. Hardwares
that support Android are mainly based on ARM architecture platform. Some of the current
features and specifications of android are:

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 services.
Gerald Jay Sussman (1997).

Web browser: The web browser available in Android is based on the open-source Blink
(previously WebKit) layout engine, coupled with Chrome's V8 JavaScript engine. Then the
WebKit-using Android Browser scored 100/100 on the Acid3 test on Android 4.0 ICS; the Blink-
based browser currently has better standards support. The browser is variably known as 'Android
Browser', 'AOSP browser', 'stock browser', 'native browser', and 'default browser'. Starting with
Android 4.4 KitKat, Google has mandated that the default browser for Android proper be Google
Chrome.[citation needed]
Since Android 5.0 Lollipop, the WebView browser that apps can use to
display web content without leaving the app has been separated from the rest of the Android
firmware in order to facilitate separate security updates by Google. Deborah J. ( 2006).

Voice-based features: Google search through voice has been available since initial release. [4]
Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.[5] As of
Android 4.1, Google has expanded Voice Actions with ability to talk back and read answers from
Google's Knowledge Graph when queried with specific commands.[6] The ability to control
hardware has not yet been implemented. Booch, Grady (1997).

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). [7] Google has since
released an update for the Nexus One and the Motorola Droid which enables multi-touch
natively. Oliver Sims (1998)
Multitasking: Multitasking of applications, with unique handling of memory allocation, is
available. John Vlissides (1995).

Screen capture: Android supports capturing a screenshot by pressing the power and home-
screen buttons at the same time. (Morrissey, 1996).Prior to Android 4.0, the only methods of
capturing a screenshot were through manufacturer and third-party customizations (apps), or
otherwise by using a PC connection (DDMS developer's tool). These alternative methods are still
available with the latest Android. Lessig, L. (2001).

TV recording: Android TV supports capturing video and replay it. [11]

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 (Gingerbread) 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. Users with the
Google+ Android app can video chat with other Google+ users through Hangouts. Meikle, G.
(2002).

Multiple language support: Android supports multiple languages.[12]

Accessibility: Built-in text-to-speech is provided by TalkBack for people with low or no vision.
Enhancements for people with hearing difficulties are available, as are other aids.

Connectivity: Android supports connectivity technologies including GSM/EDGE, Bluetooth,


LTE, CDMA, EV-DO, UMTS, NFC, IDEN and WiMAX.
Bluetooth: Supports voice dialing and sending contacts between phones, playing music, sending
files (OPP), accessing the phone book (PBAP), A2DP and AVRCP. Keyboard, mouse and
joystick (HID) support is available in Android 3.1+, and in earlier versions through manufacturer
customizations and third-party applications.

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.
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.[15] Apple HTTP Live Streaming is supported by
RealPlayer for Android,[16] and by the operating system since Android 3.0 (Honeycomb).
Campbell, T. (2002).

Media support: Android supports the following audio/video/still media formats: WebM, H.263,
H.264, AAC, HE-AAC (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP
container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP, and WebP. Putnam,
R. D. (2000).

2.2.3 ADVANTAGES OF ANDROID

Android is an open source operating system with a Linux-based. Android was released on 5
November 2007 was designed and published by google. Lately lot of companies that provide a
mobile phone based on Android because it has its own advantages in it as the current operating
system that can compete with other operating systems such as iOS, Symbian and Blackberry.
Bradbury, H. (2001).

Android is open - Because it is linux based open source so it can be developed by anyone.

2. Multitasking - Android phones can run many applications, it means you can browse while
listened to the song.
3. Easy access to the Android App Market - Android owners are people who love mobile
phones application, with Google's Android App Market you can download many applications for
free.

4. Can install a modified ROM - We sometimes find an unofficial ROM. That is the version
that was not in accordance with the specification release our cell phones, the last way is
modification. Do not worry there are many custom ROM that you can use on Android phones,
and guaranteed not to harm the device. Rifkin, J. (2000).

5. Phone options are diverse Android is different than the IOS, if the IOS is limited to the
iPhone from Apple, then Android is available on mobile phones from various manufacturers,
from Sony Ericsson, Motorola, HTC and Samsung. And each handset manufacturer also presents
an Android phone in the style of each, such as Motorola with its Motoblur, Sony Ericsson with
its Timescape. So You can freely choose the Android phone in accordance with the brand
favorite. Servon, L. J. (2002).

6. Ease of notification - Any SMS, Email, or even the latest articles from an RSS Reader, there
will always be a notification on the Home Screen Android phone, do not miss the LED indicator
is blinking, so you will not miss a single SMS, Email or even Misscall. Lewis, P. (2002)

7. Widget With the widgets on the homescreen, You can easily access a variety of settings
quickly and easily.

2.3 The Java Platform

The Java platform is the name given to the computing platform from Oracle that helps users to
run and develop Java applications. The platform does not just enable a user to run and develop a
Java application, but also features a wide variety of tools that can help developers work
efficiently with the Java programming language. Spinelli, M. (2000).

One design goal of Java is portability, which means that programs written for the Java platform
must run similarly on any combination of hardware and operating system with adequate runtime
support. This is achieved by compiling the Java language code to an intermediate representation
called Java bytecode, instead of directly to architecture-specific machine code. Java bytecode
instructions are analogous to machine code, but they are intended to be executed by a virtual
machine (VM) written specifically for the host hardware. End users commonly use a Java
Runtime Environment (JRE) installed on their own machine for standalone Java applications, or
in a web browser for Java applets. Hearn, G., & Ninan, A. (2003)

Standard libraries provide a generic way to access host-specific features such as graphics,
threading, and networking.

The use of universal bytecode makes porting simple. However, the overhead of interpreting
bytecode into machine instructions makes interpreted programs almost always run more slowly
than native executables. However, just-in-time (JIT) compilers that compile bytecodes to
machine code during runtime were introduced from an early stage. Java itself is platform-
independent, and is adapted to the particular platform it is to run on by a Java virtual machine for
it, which translates the Java bytecode into the platform's machine language. Joshua (2007).

The platform consists of two essential softwares:

the Java Runtime Environment (JRE), which is needed to run Java applications and
applets; and,

the Java Development Kit (JDK), which is needed to develop those Java applications and
applets. If you have installed the JDK, you should know that it comes equipped with a JRE as
well. So, for all the purposes of this book, you would only require the JDK. Steven (2009).

In this section, we would explore in further detail what these two software components of the
Java platform do.

Java Runtime Environment (JRE)


Any piece of code written in the Java programming language can be run on any operating
system, platform or architecture in fact, it can be run on any device that supports the Java
platform. Before Java, this amount of ubiquity was very hard to achieve. If a software was
written for a Unix-based system, it was impossible to run the same application on a Windows
system in this case, the application was native only to Unix-based systems. Chris (2010).

A major milestone in the development of the Java programming language was to develop a
special runtime environment that would execute any Java application independent of the
computer's operating system, platform or architecture. Tim (2010).

The Java Runtime Environment (JRE) sits on top of the machine's operating system, platform
and architecture. If and when a Java application is run, the JRE acts as a liaison between the
underlying platform and that application. It interprets the Java application to run in accordance
with the underlying platform, such that upon running the application, it looks and behaves like a
native application. The part of the JRE that accomplishes this complex liaison agreement is
called the Java Virtual Machine (JVM). Raphael (2010).

Figure 1: Java applications can be written once and run anywhere. This feature of the Java
platform is commonly abbreviated to WORA in formal Java texts.

Executing native Java code (or byte-code)


Native Java applications are preserved in a special format called the byte-code. Byte-code
remains the same, no matter what hardware architecture, operating system, or software platform
it is running under. On a file-system, Java byte-code resides in files that have the .class (also
known as a class file) or the .jar (also known as a Java archive) extension. To run byte-code, the
JRE comes with a special tool (appropriately named java). ; Luca Cardelli (1998).
Suppose the byte-code is called SomeApplication.class. If you want to execute this Java byte-
code, you would need to use the following command in Command Prompt (on Windows) or
Terminal (on Linux or Mac OS):

2.3.1 Overview of Object Oriented Programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of


"objects", which may contain data, in the form of fields, often known as attributes; and code, in
the form of procedures, often known as methods. A feature of objects is that an object's
procedures can access and often modify the data fields of the object with which they are
associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by
making them out of objects that interact with one another. There is significant diversity of OOP
languages, but the most popular ones are class-based, meaning that objects are instances of
classes, which typically also determine their type. Gerald Jay Sussman (1997).

Many of the most widely used programming languages are multi-paradigm programming
languages that support object-oriented programming to a greater or lesser degree, typically in
combination with imperative, procedural programming. Significant object-oriented languages
include Java, C++, C#, Python, PHP, Ruby, Perl, Delphi, Objective-C, Swift, Common Lisp, and
Smalltalk. Deborah J. ( 2006).

The programming challenge was seen as how to write the logic, not how to define the data.
Object-oriented programming takes the view that what we really care about are the objects we
want to manipulate rather than the logic required to manipulate them. Examples of objects range
from human beings (described by name, address, and so forth) to buildings and floors (whose
properties can be described and managed) down to the little widgets on a computer desktop (such
as buttons and scroll bars). Booch, Grady (1997).

The first step in OOP is to identify all the objects the programmer wants to manipulate and how
they relate to each other, an exercise often known as data modeling. Once an object has been
identified, it is generalized as a class of objects (think of Plato's concept of the "ideal" chair that
stands for all chairs) which defines the kind of data it contains and any logic sequences that can
Manipulate it. Each distinct logic sequence is known as a method. Objects communicate with
well-defined interfaces called messages. Oliver Sims (1998)
The concepts and rules used in object-oriented programming provide these important benefits:

The concept of a data class makes it possible to define subclasses of data objects that share some
or all of the main class characteristics. Called inheritance, this property of OOP forces a more
thorough data analysis, reduces development time, and ensures more accurate coding. John
Vlissides (1995).

Since a class defines only the data it needs to be concerned with, when an instance of that class
(an object) is run, the code will not be able to accidentally access other program data. This
characteristic of data hiding provides greater system security and avoids unintended data
corruption. William Morrissey (1996).

The definition of a class is reuseable not only by the program for which it is initially created but
also by other object-oriented programs (and, for this reason, can be more easily distributed for
use in networks). Lessig, L. (2001).

The concept of data classes allows a programmer to create any new data type that is not already
defined in the language itself.

Simula was the first object-oriented programming language. Java, Python, C++, Visual Basic
.NET and Ruby are the most popular OOP languages today. The Java programming language is
designed especially for use in distributed applications on corporate networks and the Internet.
Ruby is used in many Web applications. Curl, Smalltalk, Delphi and Eiffel are also examples of
object-oriented programming languages. Meikle, G. (2002).

2.3.2 The Java Programming Language

Java is a general-purpose computer programming language that is concurrent, class-based,


object-oriented,[14] and specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run anywhere" (WORA),
meaning that compiled Java code can run on all platforms that support Java without the need for
recompilation.[16] Java applications are typically compiled to bytecode that can run on any Java
virtual machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most
popular programming languages in use,[17][18][19][20] particularly for client-server web applications,
with a reported 9 million developers. [21] Java was originally developed by James Gosling at Sun
Microsystems (which has since been acquired by 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 it has fewer low-level facilities than either of them. Campbell, T. (2002).

The original and reference implementation Java compilers, virtual machines, and class libraries
were originally released by Sun under proprietary licences. 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 (bytecode compiler), GNU
Classpath (standard libraries), and IcedTea-Web (browser plugin for applets). Putnam, R. D.
(2000).

The latest version is Java 8, which is the only version currently supported for free by Oracle,
although earlier versions are supported both by Oracle and other companies on a commercial
basis.

2.3.3 Features of Java

Features of a language are nothing but the set of services or facilities provided by the language
vendors to the industry programmers. Some important features of java are;

Simple: The Java language is easy to learn. Java code is easy to read and write.

Familiar: Java is similar to C/C++ but it removes the drawbacks and complexities of C/C++
like pointers and multiple inheritances. So if you have background in C/C++, you will find Java
familiar and easy to learn. Bradbury, H. (2001).

Object-Oriented: Unlike C++ which is semi object-oriented, Java is a fully object-oriented


programming language. It has all OOP features such as abstraction, encapsulation, inheritance
and polymorphism. Rifkin, J. (2000).

Robust: With automatic garbage collection and simple memory management model (no pointers
like C/C++), plus language features like generics, try-with-resources, Java guides programmer
toward reliable programming habits for creating highly reliable applications. Servon, L. J.
(2002).

Secure: The Java platform is designed with security features built into the language and runtime
system such as static type-checking at compile time and runtime checking (security manager),
which let you creating applications that cant be invaded from outside. You never hear about
viruses attacking Java applications. Lewis, P. (2002)

High Performance: Java code is compiled into bytecode which is highly optimized by the Java
compiler, so that the Java virtual machine (JVM) can execute Java applications at full speed. In
addition, compute-intensive code can be re-written in native code and interfaced with Java
platform via Java Native Interface (JNI) thus improve the performance.

Multithreaded: The Java platform is designed with multithreading capabilities built into the
language. That means you can build applications with many concurrent threads of activity,
resulting in highly interactive and responsive applications.

Platform Independence: Java code is compiled into intermediate format (bytecode), which can
be executed on any systems for which Java virtual machine is ported. That means you can write a
Java program once and run it on Windows, Mac, Linux or Solaris without re-compiling. Thus the
slogan Write once, run anywhere of Java.

Besides the above features, programmers can benefit from a strong and vibrant Java ecosystem:

Java is powered by Oracle - one of the leaders in the industry. Java also gets enormous
support from big technology companies like IBM, Google, Redhat, so it has been
always evolving over the years.

There are a lot of open source libraries which you can choose for building the
applications.

There are many superior tools and IDEs that makes the Java development easier.

There are many frameworks that help you build highly reliable applications quickly.
The community around Java technology is very big and mature, so that you can get
support easily.

2.4 The Eclipse Development environment

Eclipse is an integrated development environment (IDE) used in computer programming, and is


the most widely used Java IDE. It contains a base workspace and an extensible plug-in system
for customizing the environment.

2.5 An Online Radio Steaming

Streaming radio stations or audio files hosted on streaming servers on Android is pretty straight-
forward. But then, Android has its limitations. It wont stream just any file or radio station. In
this post, I would not be specifying the formats or protocols that Android supports. Rather, this
example is just a walk through of how the MediaPlayer class should be used to stream audio
files/radio stations. Spinelli, M. (2000).

Internet radio was supposed to squash small FM music stations like KEXP. Someone forget to
tell that to KEXP, the little station that has helped start the careers of big music acts like the
Lumineers and Macklemore and Ryan Lewis. Hearn, G., & Ninan, A. (2003)

Last week John Richards, the morning D.J. at KEXP, walked through the stations gleaming new
headquarters not far from the Space Needle. It is a $15 million project intended to further the
stations evolution into a brick-and-mortar music programmer for the Internet age. Hearn, G.
(2003).

As workers put the finishing touches on the soaring public performance space near the buildings
entrance, Mr. Richards pointed to a corner that will eventually have a cafe and another that will
house a record store. A large soundproof window provided an aquarium-like view into the booth
that Mr. Richards and other D.J.s will begin broadcasting from next month. Hearn, G., & Ninan,
A. (2003)

Its like Star Trek in here, Mr. Richards said, inspecting the electronic consoles, microphones
and computer displays inside the booth.
Music fans live in a time of plenty, when nearly every song for any musical taste can be listened
to in an instant over the Internet, from Spotify, Pandora and dozens of other sources. Satellite and
commercial radio crowd the airwaves with further options for discovering new music and
listening to the old. Hearn, G. (2003)

And yet a handful of nonprofit music stations like KEXP with roots in college radio have never
been doing better. They are using the Internet to reach bigger audiences around the globe, adding
to their video programming and seeking to become in-person destinations for fans. Lessig, L.
(2001).

Most of all, they are trying to stand out with their music programming, with genre-hopping
mixes selected by D.J.s rather than software or dictated by program directors at commercial radio
chains. Meikle, G. (2002).

The abundance of music and methods of distribution has increased demand for human tour
guides for all of it.

Theres so much music out there, so many places to go, said Roger LaMay, general manager of
WXPN, a public music station in Philadelphia, and chairman of the board of National Public
Radio. But finding curation from a trusted source is a lifeline for most music lovers who dont
have the time or wherewithal to sift through it all on their own. Campbell, T. (2002).

The Advantages of online Radio streaming


One of the greatest things that access to the Internet gives us is choice. The World Wide Web was
not available to the public for long before some enterprising individuals decided that the Internet
was an ideal tool for bringing choice to music, and Internet radio was born. Internet radio has
several advantages over terrestrial, or land-based, radio and other music distribution systems, and
if you enjoy music, you're certain to find something to like about Internet radio. Putnam, R. D.
(2000).

Choice and Variety


The variety of stations available is Internet radio's greatest strength. Internet radio choices extend
far beyond basic genres such as classic rock and pop. If you like music from the 1980s, you can
select anything from new wave to hip-hop. If you like electronic music, you can choose trance,
ambient, video game soundtracks and more. A streaming radio station is available for virtually
every taste, no matter how obscure. Bradbury, H. (2001).

Fewer Advertisements
The costs of running an Internet radio station are high, but the costs of running a terrestrial radio
station are far higher. Internet radio stations generally broadcast very few commercials compared
to terrestrial radio stations, which must broadcast a steady stream of commercials in order to pay
the bills. Some Internet radio stations are supported by donations or subscriptions --- or play
royalty-free music --- and have no commercials at all. Rifkin, J. (2000).

Availability
Internet radio is available wherever there's an Internet connection, and there are no geographical
boundaries. While you must be relatively close to a terrestrial radio station in order to receive a
broadcast from it, this restriction does not exist on the Internet. You can listen to an Internet radio
station regardless of the location. Many terrestrial radio stations even stream their broadcasts
online. Servon, L. J. (2002).

Minimal System Requirements


Internet radio has been in existence since the late 1990s, and the requirements for listening to a
streaming radio station remain virtually unchanged. If you have a computer that is able to run
any version of Windows, Mac OS or Linux, you can listen to Internet radio. Generally, you can
use software already installed on the computer to listen to streaming music online. Additionally,
streaming radio stations are available on a variety of non-PC devices such as PDAs, video game
consoles and mobile phones. Lewis, P. (2002)

Sound Quality
Terrestrial radio is subject to interference and environmental factors. You can lose a radio signal
in poor weather or driving through a tunnel, for example. Additionally, radio sound is heavily
compressed to reduce the impact of high-volume passages and make quiet passages easier to
hear. Internet radio is often less compressed and closer to CD quality, although lower-bandwidth
Internet radio stations are available for those using dial-up modems. Spinelli, M. (2000).

2.5 chapter summary


This chapter has discussed online Web-based system the android platform: its features and
advantages. It has also discussed the Eclipse Development environment, An Online Radio
Steaming radio stations or audio files hosted on streaming servers on Android is pretty straight-
forward.

CHAPTER THREE

METHODOLOGY

3.0 Introduction
This chapter discusses the methodology that will be used to collect data and method that will be
used to analyze the data. It also discusses the methodology that will be used to study analyses
design, implement, test and validate the new system.

3.1 Research Design


The researcher will use quantitative research design. Data in the quantitative design will be
collected through interviews and Study of Manual. This aim is mainly to acquire an in-depth
understanding of exiting manual system. Quantitative design will also be used to gather
information that is analysis of documents such as books, newspapers, magazines, internets.

3.2 System Development life cycle (SLDC)


To solve an actual problems in an industry, software developer or a team of developers must
integrate with a development strategy that include the process, methods and tools layer and
generic phases. This strategy is often referred to a process model or a software-developing
paradigm.

My project follows the waterfall model.

The steps of waterfall model are:


Requirement Definition
System and Software Design
Implementation
Integration

Figure 3.1 System development process

Planning and feasibility study

System Analysis

System Design Devt

System Implementation

System Testing & Validation

3.3 Requirements for data collection

The following methods will be used during data collection:

Interviewing, Questionnaires and document review as my research methods. Through this, will
be able to collect raw data where existing reports on the current system will be obtained. Verbal
interview techniques will be used for interviewing the respondents.
Interview
The interviewers to elicit facts or statements from the interviewees would use interviews. In
addition, interview guides would be designed to help the interviewers in acquiring relevant
information on an online radio steaming android application.

Questionnaire
Forms containing open and closed questions will be submitted to prospective users to gain
information on their views on how the existing system will be modified to meet their demands,
especially in cases where interviews would be hard to conduct, like where there is limited time to
interview a large group.

Document Review Method


Secondarily data from materials such as textbooks, newspapers, journals and internet will be
used to back up primary information and relate the findings to other approaches already in
existence. The method will use document checklists and guides to get views from other writers,
which will be instrumental especially in comparison analysis and literature review.

3.2.2 System study and Analysis method

3.2.3 System design Methods


System design will be the determination of the processes and data that will be required by a new
system. A number of technical, organizational, and managerial considerations along with user
preference and resource constraints, will to be taken into consideration before designing a
system. It will involve carefully scrutinizing each system requirement and converting it into a
sequence of detailed procedural steps and system specifications. The system developer must
analyze each requirement and determine how to convert system requirement into system
features.

The design phase will decide how the system would operate, in terms of the hardware, software,
and network infrastructure; the user interface, forms, and reports that were used; and the specific
programs, database, and files that would be needed. Although most of the strategic decisions
about the system were made in the development concept during the analysis phase, the steps in
the design phase determine exactly would operate. The design phase had four steps.
The design strategy must be developed. This clarified whether the system would be developed by
the companys own programmers, whether it would be outsourced to another firm or whether the
company would buy an existing software package.

This lead to the development of the basic architectural design for the system that described the
hardware, software, and network infrastructure that was used. In most cases, the system will add
or changes the infrastructure that already exists in the organization. The interface design
specifies how the users will be moved through the system and the forms and reports that will be
used.

3.2.4 System implementation Methods


This describes the tools will be used to implement the graphical user interface and the
database. In the Android system, an IME is an Android application that contains a special IME
service. The application's manifest file must declare the service, request the necessary
permissions, provide an intent filter that matches the action action.view.InputMethod, and
provide metadata that defines characteristics of the IME. In addition, to provide a settings
interface that allows the user to modify the behavior of the IME, you can define a "settings"
activity that can be launched from System Settings.

3.2.5 System Testing and Validation Methods.

Testing will be done after the system will be put in place. This will be done in two ways:

Implementation and Unit testing will be carried out on individual modules of the system to
ensure that they are fully functional units. I did this by examining each unit, which will be
checked to ensure that it functions as required and that it adds clients data and other details
and will be ensured that this data is sent to the database. The success of each individual unit
gave us the go ahead to carryout integration testing. All identified errors will be dealt with.

Computer programs may contain errors which are not detectable by compiler. Compiler can
detect syntax errors but not the meaning of the program. Myers (2004) stated that testing is the
process of executing a program with the intent of finding errors. Also, software testing is any
activity aimed at evaluating an attribute or capability of a program or system . It was
recommended that the testing is better to be performed by someone who is not part of the
developers.

Moreover, using a good test case has a high probability of finding an undiscovered error. Testing
can be broadly categorized into white-box testing and black-box testing. White-box testing is
normally performed internally especially during the early stage of software development, while
black-box testing is normally conducted externally when the development is completed.

The focus of the white-box testing is on the depth of testing. Structural testing over all possible
inputs over statements (e.g. if, while, loop, etc.) is performed and expected outcomes are
compared. The goal of black-box testing is to confirm that the program works the way it is
supposed to work. The coverage of testing which utilizes normal and extreme input values is the
aim of black-box testing.

As one of the final specific objectives of this study, validation of the system will be very
important. Validation of the system will be done by comparing it to the questions asked by the
users at the university.

3.3 Chapter Summary


This Chapter has discussed methods that will be used in the data collection and analysis, it has
also discussed methods that will be used to study and analyze the current system, methods that
will be used to design the current system and methods that will be used to implement, test and
validate the new system
Reference

Topolsky, Joshua (2007). "Google's Android OS early look SDK now available". Engadget.
Retrieved 2012-02-17.

Musil, Steven (2009). "Report: Apple nixed Android's multitouch". CNET News. Retrieved
2012-02-16.

Ziegler, Chris (2010). "Nexus One gets a software update, enables multitouch". Engadget.
Retrieved 2012-02-16.

Bray, Tim (2010). "Multitasking the Android Way". Android Developers. Retrieved 2012-02-16.

Nancy Gohring (2011). "Samsung, Google Unveil Latest Android OS, Phone". PCWorld.
Retrieved 2012-02-16.

JR Raphael (2010). "Use The Android Phone as a Wireless Modem". PCWorld. Retrieved 2012-
02-16.

Popper, Ben (2016). "Android Instant Apps lets you use apps without downloading them". The
Verge. Retrieved 2016-08-18.

Abadi, Martin; Luca Cardelli (1998). A Theory of Objects. Springer Verlag. ISBN 0-387-94775-
2.
Abelson, Harold; Gerald Jay Sussman (1997). Structure and Interpretation of Computer
Programs. MIT Press. ISBN 0-262-01153-0.

Armstrong, Deborah J. ( 2006). "The Quarks of Object-Oriented Development".


Communications of the ACM. 49 (2): 123128. doi:10.1145/1113034.1113040. ISSN 0001-0782.
Retrieved 8 August 2006.

Booch, Grady (1997). Object-Oriented Analysis and Design with Applications. Addison-Wesley.
ISBN 0-8053-5340-2.

Eeles, Peter; Oliver Sims (1998). Building Business Objects. John Wiley & Sons. ISBN 0-471-
19176-0.

John Vlissides (1995). Design Patterns: Elements of Reusable Object Oriented Software.
Addison-Wesley. ISBN 0-201-63361-2. Cite uses deprecated parameter |coauthors= (help)

William Morrissey (1996). The Object Technology Casebook Lessons from Award-Winning
Business Applications. John Wiley & Sons. ISBN 0-471-14717-6.

Lessig, L. (2001). The Future of Ideas: The Fate of the Commons in a Connected World. New
York: Random House.
Meikle, G. (2002). Future Active: Media Activism and the Internet. New York: Routledge.

Oakley, K., & Campbell, T. (2002). On the Move: A Look at the Social Uses of Mobile and
Wireless Communications. London: Local Futures Group.

Putnam, R. D. (2000). Bowling alone: the collapse and revival of American community. New
York: Simon & Schuster.
Reason, P., & Bradbury, H. (2001). Handbook of action research: participative inquiry and
practice. London: Sage.

Rifkin, J. (2000). The age of access: how the shift from ownership to access is transforming
modern life. London: Penguin.
Servon, L. J. (2002). Bridging the digital divide: technology, community, and public policy.
Malden, MA Oxford: Blackwell.

Slater, D., Tacchi, J., & Lewis, P. (2002). Monitoring and Evaluation of Alternative/ Community
Media. London: Department of International Development.

Spinelli, M. (2000). Democratic rhetoric and emergent media: The marketing of participatory
community on radio and the Internet. International Journal of Cultural Studies, 3(2), 268-278.

Tacchi, J., Hearn, G., & Ninan, A. (2003, 7 - 9 January). Ethnographic Action Research: A
method for implementing and evaluating new media technologies. Paper presented at the
International Conference on Communication for Development in the Information Age, Banaras
Hindu University, Varanasi, India.

Tacchi, J., Slater, D., & Hearn, G. (2003). Ethnographic Action Research Handbook. New Delhi:
UNESCO.

United Nations Conference on Trade and Development. (2001). Electronic Commerce and
Development Report 2001. New York, Geneva: United Nations Conference on Trade and
Development (UNCTAD).

Joshua (2007).
Steven (2009).
Chris (2010).
Tim (2010).
Raphael (2010).
; Luca Cardelli (1998).
Gerald Jay Sussman (1997).
Deborah J. ( 2006).
Booch, Grady (1997).
Oliver Sims (1998)
John Vlissides (1995).
William Morrissey (1996).
Lessig, L. (2001).
Meikle, G. (2002).
Campbell, T. (2002).
Putnam, R. D. (2000).
Bradbury, H. (2001).
Rifkin, J. (2000).
Servon, L. J. (2002).
Lewis, P. (2002)
Spinelli, M. (2000).
Hearn, G., & Ninan, A. (2003)
Hearn, G. (2003).

Das könnte Ihnen auch gefallen