Вы находитесь на странице: 1из 135

Abstract

The main aim of this Practice School program at Creative Xperts Consulting Pvt Ltd.,
Hyderabad is to create Android applications on StoreOngo Platform, get habituated to the
platform and Optimizing the original StoreOngo Platform with the technical knowledge I
have acquired through the duration of the Practice School Program. Apart from the main aim,
the technical knowledge which I acquired here should help me in my Thesis and organization
exposure I acquired here should give me an idea about work culture in my future
employment. My Practice School Program Work deals primarily with designing and
developing Mobile applications using STOREONGO platform developed by CREATIVE
XPERTS. It is a user friendly platform for developing mobile apps with minimal technical
knowledge for the end user. After getting ourself habituated to the platform, Company Guide
has asked to perform modifications to the platform on the Android side. Each team members
were given a particular set of tasks which will optimize the Android platform. These tasks
were purely technical and during these processes Ive got exposure to the real world
application development using the technologies that are being employed in the organization.
Apart from the technical aspects, there came a chance to study the work style and
organizational flow of a firm, which would enhance my employability skills. This Practice
School program work we ve done here, apart from helping the organization, had also helped
us to observe and study the actual work flows and technical aspects incorporated into the
organizations internal platform.
StoreOnGo is a platform developed by Creative Xperts
Consulting Pvt Ltd.
StoreOngo is a platform for development of android mobile applications in the business
sector. By using this platform a client or user or developer can easily develop an android
mobile application based on their business requirements in five simple steps. The application
gives the business user to provide the consumers with a vast choice of services. These help
the consumers to reach and contact the business with ease and stay in touch with business
user. This establishes a communication channel between the user and the business. Business
users aim to maximize business from the consumers. To that end, application provides the
business user with a wide variety of marketing tools that help attract more business.

KL University, Department of Computer Science and


Engineering 1|page

CHAPTER-1
INTRODUCTION

KL University, Department of Computer Science and


Engineering 2|page

Introduction
1.1 Overview of the Company

Creative Xperts Consulting Private Limited is an IT solution provider and


your IT partner. Creative Xperts founded by Ram Krishna and Anasuya Akilla, started as a
software service based platform for developing an android mobile application company in
2008. After successful execution of few service engagements with industry veterans on board,
Creative Xperts ventured its product development wing. CX technology urge made it to start
investigate on speech recognition and Game pad interactions as well as developing dynamic
an android mobile application according to the business requirements. Creative Xperts
unveils technology revolution by bringing enterprise mobility to small and medium business.
We serve application to businesses to provide better service to existing customers and attract
more locally. Creative Xperts created a platform that helps create and distribute applications
in five steps.
StoreOngo is a platform developed by Creative Xperts Consulting PVT LTD.
Storeongo is a platform for development of mobile applications in the business sector. By
using this platform a clients, user or developer can easily develop mobile application based
on their business requirements in five simple steps. A developer can easily do the
customisation of an android mobile application by using additional products, features and
services according the clients business requirements. While modifying the contents, features,
services as well as customising mobile apps generally android studio and eclipse IDE is used.
The application gives the business user to provide the consumers with a vast choice of
services. This service helps the consumers to reach and contact the businesses with ease and
stay in touch with business user. This establishes a communication channel between the user
and the business. Business users aim to maximize business from the consumers. To that end,
application provides the business user with a wide variety of marketing that help to attract
more business.

KL University, Department of Computer Science and


Engineering 3|page

1.2 Analysis
Analytics play a major role in marketing of a business. Analytics help the business users to
easily analyse and estimate the buying patterns of a consumer. The business user gets a wide
variety of analytics with the application suite. They are majorly classified as follows:

Products based analytics


Order based analytics
Analytics on the application
Campaigns based analytics

1.3 Products based analytics


Product based analytics shows the majority of products that have been viewed, liked and
favorited by consumers. This helps the business user to add similar products to the inventory
for attaining more business. Analytics on products show the following parameters:

Number of consumers who liked the products


Number of shares by consumers
Number of consumers who favorited a product
The highest ratings received on a product given by the consumer

1.4 Order based analytics


Business user can keep a track on the orders and the satisfaction level of consumers with the
help of order based analytics.
The parameters that are provided in order based analytics are listed below:

Number of orders a consumer has placed


Number of times a product has been ordered by multiple consumers
Reviews posted by the consumers on the order status

Business user can use these analytics to identify the gaps in the order management flow and
make the changes that are necessary.

1.5 Analytics on the application

KL University, Department of Computer Science and


Engineering 4|page

Application based analytics are very important for a business user as they can have an idea of
the consumer base that is currently using the apps.
Application based analytics give the following parameters:

Number of downloads of the apps


Number of active users of the apps
The reviews posted on the application by the consumers
Number of apps recommendations given by the consumer

1.6 Campaigns based analytics


Analytics based on the campaigns provides the business user important data based on the
campaigns they have sent. This helps the business user to improve and improvise whilst
creating a new campaign.

Parameters that are provided in the campaign analytics are listed below:

Number of consumers who have accessed the campaign


Number of consumers who shared the campaign
Total number of consumers who have received the campaign

Features

KL University, Department of Computer Science and


Engineering 5|page

Native Apps
Provides fast performance and a high degree of reliability

Web (HTML5) Apps


Web application or web app is any software that runs in a web browser

Business pages

1.7 Features of Consumer application:

KL University, Department of Computer Science and


Engineering 6|page

Business Information

Provide info like Contact details, open hours and social presence of the business

Products / Merchandise

Showcase the product line, merchandise for the consumers

Coupons, Offers

Update consumers about the latest offers, deals and coupons

Services

List the services, so that consumers can leave a request

Photos, Videos

KL University, Department of Computer Science and


Engineering 7|page

Upload photos and videos about the business, products, offers, etc.

Reviews

Manage and maintain the mobile app for a business

Business Pages

Create web pages for a business with zero technical effort

My Account

Apps that work both online and offline for easy access of data anywhere-anytime

1.8 Features of Business application


Manage Loyalty

KL University, Department of Computer Science and


Engineering 8|page

Reach & Retain consumers with the help of loyalty program. Manage loyalty through the APP

Lead Management

Manage leads generated from the app and convert leads into loyal consumers

Push Notifications

Keep the Consumer updated about latest offers, products, etc., by pushing notifications on
their mobile

Manage Reviews

View the reviews posted by the users and display only the relevant reviews

KL University, Department of Computer Science and


Engineering 9|page

Campaign Management

Create and Manage campaigns to attract more consumers

Security

Secure the data, inventory, orders and the consumer base

KL University, Department of Computer Science and


Engineering 10|page

CHAPTER-2
SERVICES OF THE COMPANY

KL University, Department of Computer Science and


Engineering 11|page

Services of the Company


The application gives the business user to provide the consumers with a vast choice of
services. These services help the consumers to reach and contact the businesses with ease and
stay in touch with business user. This establishes a communication channel between the user
and the business.
The different types of services offered are as follows:

Basic/Simple services
Special services
Services with workflow
Services groups/groups of services

2.1 Basic/Simple services


Basic or simple services are those types of services which provide just the basic information
about a service.
Displays the following details about a service:

List of all the basic services


Image that describes about a service

The business user has to detect whether a service is simple or special while adding a service

2.2 Special Services


Special services are those types of services that provide detailed information about a service.
Displays the following details about a service:

List of all the services


Simple description about the service
A form for sending in a new service request
History of the previous request

2.3 Services with workflow

KL University, Department of Computer Science and


Engineering 12|page

Services with workflow gives the business user the ability to change and update the status of
the service request sent by the consumer. Business user can also display the status of the
service request to the consumer and let them know the current position of that particular
request.
Services with workflow allow the business user to do the following activities:

View the service request and send it to the right department


Update the consumer at each stage of the request processing
Send a form to the consumer to know the feedback on the service request processing

2.4 Service groups/Groups of services


Service groups or grouping of services is a unique feature offered by the application suite.
A service that has multiple levels of offerings can be grouped and kept under one single
service type.
The steps involved in grouping a service are as follows:

Add new service type with the desired group name for that service
Add another new service that falls under a group
There will be a list of all the group names in a drop down menu
Choose the desired group name under which the service should be added to a service
group will be created with all the child services under it.

A service group will be created with all the child services under it.

KL University, Department of Computer Science and


Engineering 13|page

CHAPTER-3
IMPLEMENTATION METHEDOLOGY

KL University, Department of Computer Science and


Engineering 14|page

Implementation Methodology
3.1 Platform and Software Tools used:
Platform:
Storeongo
IDE:
Eclipse IDE/ Android Studio
Tools:
Android Asset Studio/Icon Generator
Color Picker
Architecture Pattern:
MVC : Model-View-Control
Technologies:
Java
DataBases:

MySQL-Backend Database (Server)


SQLite-Android Database

User Interface: HTML, JavaScript


Transmission: JSON/XML
Hibernate ORM & JPA

KL University, Department of Computer Science and


Engineering 15|page

CHAPTER-4
ARCHITECTURE PATTERN USED: MVC ARCHITECTURE

KL University, Department of Computer Science and


Engineering 16|page

Architecture Pattern Used: MVC ARCHITECTURE


Model View Controller or MVC as it is popularly called, is a software design pattern for
developing web applications. A Model View Controller pattern is made up of the following
three parts:
Model - The lowest level of the pattern which is responsible for maintaining data.
View - This is responsible for displaying all or a portion of the data to the user.
Controller - Software Code that controls the interactions between the Model and
View.
MVC is popular as it isolates the application logic from the user interface layer and supports
separation of concerns. Here the Controller receives all requests for the application and then
works with the Model to prepare any data needed by the View. The View then uses the data
prepared by the Controller to generate a final presentable response. The MVC abstraction can
be graphically represented as follows:

Fig.1 MVC Architecture Flow Chart

The model

KL University, Department of Computer Science and


Engineering 17|page

The model is responsible for managing the data of the application. It responds to the
request from the view and it also responds to instructions from the controller to update
itself.

The view
A presentation of data in a particular format, triggered by a controller's decision to
present the data. They are script based templating systems like JSP, ASP, PHP and
very easy to integrate with AJAX technology.

The controller
The controller is responsible for responding to user input and performs interactions on
the data model objects. The controller receives the input, it validates the input and
then performs the business operation that modifies the state of the data model.

Fig. 2 MVC Architecture

KL University, Department of Computer Science and


Engineering 18|page

CHAPTER-5
USE CASE DIAGRAMS

KL University, Department of Computer Science and


Engineering 19|page

Use Case Diagrams


USE CASE DIAGRAMS:

Fig. 3 Use Case Diagram: Creating an application and initialising the Activation Notification.

Primary Actor

BUSINESS USER

Secondary Actor :

ADMIN/DEVELOPER

Scope

Creating an application and initialising the Activation Notification.

Level

Brief

Business User creates his app using the FIVE STEPS and activation

notification will be sent. Based on the permissions. It will be activated by the admin or the
user itself.

KL University, Department of Computer Science and


Engineering 20|page

Fig.4 Use Case Diagram: Business user

Primary Actor

Secondary Actor :

BUSINESS USER
ADMIN/DEVELOPER

Scope

Data insertions and modifications by the Business user for his created app.

Level

Brief

: Here business user enters the data required after the app is activated. Admin

plays a supporting role here, If there are any problems for Business User, he will be dealing
with them.

KL University, Department of Computer Science and


Engineering 21|page

Fig 5. Use Case Diagram: Consumer (End User)

Primary Actor

: CONSUMER (END USER)

Secondary Actor :

BUSINESS USER

Tertiary Actor

: ADMIN/DEVELOPER

Scope

: End user installs the app created by Business user and starts using the

app services. Whenever there is a new update, Business user broadcasts it to the registered
Consumers.
Level

: 3

Brief

: This is actual usage of app by the consumers. Whenever Business user

wants to interact with users, he broadcasts the notifications to the registered users. Admin will
be playing supporting role here, If Business user needs any tech support or the app has a new
update etc.
KL University, Department of Computer Science and
Engineering 22|page

CHAPTER-6
CLASS DIAGRAMS

KL University, Department of Computer Science and


Engineering 23|page

Class Diagrams
Class diagrams for the above use case diagrams, which are self-explanatory are given below
as follows:

Fig.6 Class Diagram: Business User

KL University, Department of Computer Science and


Engineering 24|page

Fig.7 Class Diagram: Business User-App Data

Fig.8 Class Diagram: Consumer (End User)

KL University, Department of Computer Science and


Engineering 25|page

CHAPTER-7
TECHNOLOGIES EMPLOYED

KL University, Department of Computer Science and


Engineering 26|page

Technologies Employed

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


object-oriented, 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. Java applications are typically compiled to bytecode that can run on any
Java virtual machine (JVM) regardless of computer architecture.

7.1 JVM: JAVA VIRTUAL MACHINE


A Java virtual machine (JVM) is an abstract computing machine that enables a computer to
run a Java program. There are three notions of the JVM: specification, implementation, and
instance. The specification is a document that formally describes what is required of a JVM
implementation. Having a single specification ensures all implementations are interoperable.
A JVM implementation is a computer program that meets the requirements of the JVM
specification. An instance of a JVM is an implementation running in a process that executes a
computer program compiled into Java bytecode.
The Oracle Corporation, which owns the Java trademark, distributes the Java Virtual Machine
implementation HotSpot together with an implementation of the Java Class Library under the
name Java Runtime Environment (JRE).

KL University, Department of Computer Science and


Engineering 27|page

Fig.9 JVM Architecture

7.2 OOPs (Object Oriented Programming System) :


Object means a real word entity such as pen, chair, table etc. Object-Oriented
Programming is a methodology or paradigm to design a program using classes and objects.
It simplifies the software development and maintenance by providing some concepts:
Object
Class
Inheritance
Polymorphism
Abstraction
Encapsulation
8.2.1 Object

KL University, Department of Computer Science and


Engineering 28|page

Any entity that has state and behaviour is known as an object. For example: chair, pen, table,
keyboard, bike etc. It can be physical and logical.

7.2.2 Class
Collection of objects is called class. It is a logical entity.

7.2.3 Encapsulation
Encapsulation in java is a process of wrapping code and data together into a single unit, for
example capsule i.e. mixed of several medicines. We can create a fully encapsulated class in
java by making all the data members of the class private. Now we can use setter and getter
methods to set and get the data in it.

Fig.10 Encapsulation
The Java Bean class is the example of fully encapsulated class.

Advantage of Encapsulation in java


By providing only setter or getter method, you can make the class read-only or write-only. It
provides you the control over the data. Suppose you want to set the value of id i.e. greater
than 100 only, you can write the logic inside the setter method.

7.2.4 Inheritance
KL University, Department of Computer Science and
Engineering 29|page

Inheritance in java is a mechanism in which one object acquires all the properties and
behaviours of parent object. The idea behind inheritance in java is that you can create new
classes that are built upon existing classes. When you inherit from an existing class, you can
reuse methods and fields of parent class, and you can add new methods and fields also.
Inheritance represents the IS-A relationship, also known as parent-child relationship.

Types of Inheritance

Fig. 11 Types of Inheritance


To reduce the complexity and simplify the language, multiple inheritances is not supported in
java. Since compile time errors are better than runtime errors, java renders compile time error
if it inherits 2 classes. So whether it will have the same method or different, there will be
compile time error.

KL University, Department of Computer Science and


Engineering 30|page

Fig.12 Multiple and Hybrid Inheritance

7.2.5 Polymorphism

If an entity can be represented in more than one form, that entity is said to exhibit
polymorphism.
If an entity can be represented in more than one form, that entity is said to exhibit
polymorphism.
1) Operator overloading is compile time polymorphism. For example, + operator can be used
to add two numbers OR to concatenate two strings. It's an example of polymorphism strictly
saying compile-time polymorphism.
2) Method overloading is compile time polymorphism. For example, a method with same
name can have more than one implementations. It's also a compile-time polymorphism. It's
compile-time because before execution of program compiler decides the flow of program i.e
which forms will be used during run-time.
3) Method overriding is run-time polymorphism.

KL University, Department of Computer Science and


Engineering 31|page

Fig. 13 Types of Polymorphism

7.2.6 Abstraction
Abstraction is a process of hiding the implementation details and showing only functionality
to the user.
Another way, it shows only important things to the user and hides the internal details for
example sending sms, you just type the text and send the message. You don't know the
internal processing about the message delivery.
Abstraction lets you focus on what the object does instead of how it does it.

Fig. 14 Abstraction

Ways to achieve Abstraction


There are two ways to achieve abstraction in java
1. Abstract class (0 to 100%)
2. Interface (100%)

Abstract Class
A class that is declared as abstract is known as abstract class. It needs to be extended and its
method implemented. It cannot be instantiated.

Abstract method
A method that is declared as abstract and does not have implementation is known as abstract
method.

KL University, Department of Computer Science and


Engineering 32|page

7.2.7 Interface
An interface in java is a blueprint of a class. It has static constants and abstract methods only.

The interface in java is a mechanism to achieve fully abstraction. There can be only
abstract methods in the java interface not method body. It is used to achieve fully abstraction
and multiple inheritances in Java.
Java Interface also represents IS-A relationship.
It cannot be instantiated just like abstract class.
There are mainly three reasons to use interface. They are given below.
It is used to achieve fully abstraction.
By interface, we can support the functionality of multiple inheritance.
It can be used to achieve loose coupling.

Fig. 15 Interface vs Abstract Class


Example of Abstract class:
public abstract class Shape{
public abstract void draw();
}
Example of Interface: public interface Drawable {
void draw();

KL University, Department of Computer Science and


Engineering 33|page

Abstract class and interface both are used to achieve abstraction where we can declare the
abstract methods. Abstract class and interface both can't be instantiated.

7.3 MySQL:

MySQL is an open-source relational database management system (RDBMS); in July 2013,


it was the world's second most widely used RDBMS, and the most widely used open-source
clientserver model RDBMS. It is named after co-founder Michael Widenius's daughter, My
SQL acronym 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. For
proprietary use, several paid editions are available, and offer additional functionality.

7.3.1 RDBMS Terminology:


Database: A database is a collection of tables, with related data.

Table: A table is a matrix with data. A table in a database looks like a simple
spreadsheet.

Column: One column (data element) contains data of one and the same kind, for
example the column postcode.

Row: A row (= tuple, entry or record) is a group of related data, for example the data
of one subscription.

Redundancy: Storing data twice, redundantly to make the system faster.

Primary Key: A primary key is unique. A key value cannot occur twice in one table.
With a key, you can find at most one row.
KL University, Department of Computer Science and
Engineering 34|page

Foreign Key: A foreign key is the linking pin between two tables.

Compound Key: A compound key (composite key) is a key that consists of multiple
columns, because one column is not sufficiently unique.

Index: An index in a database resembles an index at the back of a book.

Referential Integrity: Referential Integrity makes sure that a foreign key value
always points to an existing row.

7.3.2 MySQL Database:


MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses.
MySQL is developed, marketed, and supported by MySQL AB, which is a Swedish company.
MySQL is becoming so popular because of many good reasons:

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 powerful database 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
systems 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 specific environments.
KL University, Department of Computer Science and
Engineering 35|page

7.4 SQLite:

SQLite is a relational database management system contained in a C programming library. In


contrast to many other database management systems, SQLite is not a clientserver database
engine. Rather, it is embedded into the end program.
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 software for local/client storage in
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 bindings to many programming languages.

SQLite-ANDROID Database

Android comes in with built in SQLite database implementation. SQLite supports all the
relational database features. In order to access this database, you don't need to establish any
kind of connections for it like JDBC, ODBC etc.

Database - Package
The main package is android. database. sqlite that contains the classes to manage your own
databases
KL University, Department of Computer Science and
Engineering 36|page

Database - Creation
In order to create a database you just need to call this method open Or Create Database with
your database name and mode as a parameter. It returns an instance of SQLite database which
you have to receive in your own object. Its syntax is given below
SQLiteDatabse mydatabase = openOrCreateDatabase("your database name",MODE_PRIVATE,null);

Apart from this , there are other functions available in the database package , that does this
job. They are listed below
Sr. No

Method & Description

1.

openDatabase(String path, SQLiteDatabase.CursorFactory factory,


int flags, DatabaseErrorHandler errorHandler)
This method only opens the existing database with the appropriate flag
mode. The common flags mode could be OPEN_READWRITE
OPEN_READONLY

2.

openDatabase(String path, SQLiteDatabase.CursorFactory factory,


int flags)
It is similar to the above method as it also opens the existing database but
it does not define any handler to handle the errors of databases

3.

openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory


factory)
It not only opens but create the database if it not exists. This method is
equivalent to openDatabase method

4.

openOrCreateDatabase(File
factory)

file,

SQLiteDatabase.CursorFactory

This method is similar to above method but it takes the File object as a
path rather then a string. It is equivalent to file.getPath()
Table 1 Database Creation

KL University, Department of Computer Science and


Engineering 37|page

Database - Insertion
we can create table or insert data into table using execSQL method defined in
SQLiteDatabase class. Its syntax is given below
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR, Password
VARCHAR);"); mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');");

This will insert some values into our table in our database. Another method that also does the
same job but take some additional parameter is given below
Sr.No

Method & Description

execSQL(String sql, Object[] bindArgs)


This method not only insert data , but also used to update or modify already
existing data in database using bind arguments

Database - Fetching
We can retrieve anything from database using an object of the Cursor class. We will call a
method of this class called rawQuery and it will return a resultset with the cursor pointing to
the table. We can move the cursor forward and retrieve the data.
Cursor resultSet = mydatbase.rawQuery("Select * from TutorialsPoint",null);
resultSet.moveToFirst();
String username = resultSet.getString(1);
String password = resultSet.getString(2);
There are other functions available in the Cursor class that allows us to effectively retrieve
the data. That includes
Sr. No

Method & Description

1.

getColumnCount()This method return the total number of columns of the


table.
KL University, Department of Computer Science and
Engineering 38|page

2.

getColumnIndex(String columnName)
This method returns the index number of a column by specifying the name
of the column

3.

getColumnName(int columnIndex)
This method returns the name of the column by specifying the index of the
column

4.

getColumnNames()
This method returns the array of all the column names of the table.

5.

getCount()
This method returns the total number of rows in the cursor

6.

getPosition()
This method returns the current position of the cursor in the table

7.

isClosed()
This method returns true if the cursor is closed and return false otherwise
Table 2 Database Fetching

Database - Helper class


For managing all the operations related to the database , an helper class has been given and is
called SQLiteOpenHelper. It automatically manages the creation and update of the database.
Its syntax is given below
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(){
super(context,DATABASE_NAME,null,1);
}
public void onCreate(SQLiteDatabase db) {}
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}
}

KL University, Department of Computer Science and


Engineering 39|page

Steps

Description

1.

You will use Android studio to create an Android application under a package
com.example.xyz.myapplication. While creating this project, make sure you
Target SDK and Compile With at the latest version of Android SDK to use higher
levels of APIs.

2.

Modify src/MainActivity.java file to get references of all the XML components


and populate the contacts on listView.

3.

Create new src/DBHelper.java that will manage the database work

4.

Create a new Activity as DisplayContact.java that will display the entity on the
screen

5.

Modify the res/layout/activity_main to add respective XML components

6.

Modify the res/layout/activity_display_contact.xml to add respective XML


components

7.

Modify the res/values/string.xml to add necessary string components

8.

Modify the res/menu/display_contact.xml to add necessary menu components

9.

Create a new menu as res/menu/mainmenu.xml to add the insert data option

10.

Run the application, choose a running android device and install the application
on it.

Table 3 Database Helper Class

7.5 JAVASCRIPT

KL University, Department of Computer Science and


Engineering 40|page

JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has


been standardized in the ECMAScript language specification. Alongside HTML and CSS, it
is one of the three essential technologies of World Wide Web content production; the majority
of websites employ it and it is supported by all modern web browsers without plug-ins.
JavaScript is prototype-based with first-class functions, making it a multi-paradigm language,
supporting object-oriented, imperative, and functional programming styles. It has an API for
working with text, arrays, dates and regular expressions, but does not include any I/O, such as
networking, storage or graphics facilities, relying for these upon the host environment in
which it is embedded.
Despite some naming, syntactic, and standard library similarities, JavaScript and Java are
otherwise unrelated and have very different semantics. The syntax of JavaScript is actually
derived from C, while the semantics and design are influenced by the Self and Scheme
programming languages.
JavaScript is also used in environments that are not web-based, such as PDF documents, sitespecific browsers, and desktop widgets. Newer and faster JavaScript virtual machines (VMs)
and platforms built upon them have also increased the popularity of JavaScript for server-side
web applications. On the client side, JavaScript has been traditionally implemented as an
interpreted language, but more recent browsers perform just-in-time compilation. It is also
used in game development, the creation of desktop and mobile applications, and server-side
network programming with runtime environments such as Node.js.

7.6 HTML
KL University, Department of Computer Science and
Engineering 41|page

HyperText Markup Language, commonly referred to as HTML, is the standard mark-up


language used to create web pages. Web browsers can read HTML files and render them into
visible or audible web pages. HTML describes the structure of a website semantically along
with cues for presentation, making it a markup language, rather than a programming
language.
HTML elements form the building blocks of all websites. HTML allows images and objects
to be embedded and can be used to create 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.
The language is written in the form of HTML elements consisting of tags enclosed in angle
brackets (like <html>). Browsers do not display the HTML tags and scripts, but use them to
interpret the content of the page.
HTML can embed scripts written in languages such as JavaScript which affect the behaviour
of HTML web pages. Web browsers can also refer to Cascading Style Sheets (CSS) to define
the look and layout of text and other material. The World Wide Web Consortium (W3C),
maintainer of both the HTML and the CSS standards, has encouraged the use of CSS over
explicit presentational HTML since 1997.

7.7 JSON

KL University, Department of Computer Science and


Engineering 42|page

JSON, (JavaScript Object Notation), is an open standard format that uses human-readable
text to transmit data objects consisting of attributevalue pairs. It is the primary data format
used for asynchronous browser/server communication (AJAJ), largely replacing XML (used
by AJAX).
Although originally derived from the JavaScript scripting language, JSON is a languageindependent data format. Code for parsing and generating JSON data is readily available in
many programming languages.
The JSON format was originally specified by Douglas Crockford. It is currently described by
two competing standards, RFC 7159and ECMA-404. The ECMA standard is minimal,
describing only the allowed grammar syntax, whereas the RFC also provides some semantic
and security considerations. The official Internet media type for JSON is application/json.
The JSON filename extension is json.

7.8 XML

Extensible Markup Language (XML) is a markup language that defines a set of rules for
encoding documents in a format which is both human-readable and machine-readable. It is
defined by the W3C's XML 1.0 Specification and by several other related specifications, all
of which are free open standards.
The design goals of XML emphasize simplicity, generality and usability across the Internet. It
is a textual data format with strong support via Unicode for different human languages.

KL University, Department of Computer Science and


Engineering 43|page

Although the design of XML focuses on documents, it is widely used for the representation
of arbitrary data structures such as those used in web services

7.9 Android :

Android is an open source and Linux-based operating system for mobile devices such as
smartphones and tablet computers. Android was developed by the Open Handset Alliance, led
by Google, and other companies.

What is Android?

KL University, Department of Computer Science and


Engineering 44|page

Android is an open source and Linux-based Operating System for mobile devices such as
smartphones and tablet computers. Android was developed by the Open Handset Alliance, led
by Google, and other companies.

Android offers a unified approach to application development for mobile devices which
means developers need only develop for Android, and their applications should be able to run
on different devices powered by Android.

The first beta version of the Android Software Development Kit (SDK) was released by
Google in 2007 where as the first commercial version, Android 1.0, was released in
September 2008.

On June 27, 2012, at the Google I/O conference, Google announced the next Android version,
4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the
user interface, both in terms of functionality and performance.

KL University, Department of Computer Science and


Engineering 45|page

The source code for Android is available under free and open source software licenses.
Google publishes most of the code under the Apache License version 2.0 and the rest, Linux
kernel changes, under the GNU General Public License version 2.

7.9.1 Why Android ?

Fig. 16 Benefits of Android

7.9.2 Features of Android:


Android is a powerful operating system competing with Apple 4GS and supports great
features. Few of them are listed below:
Feature

Description

Beautiful UI

Android OS basic screen provides a beautiful and intuitive user


interface.

Connectivity

GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE,


NFC and WiMAX.

Storage

SQLite, a lightweight relational database, is used for data storage


purposes.

KL University, Department of Computer Science and


Engineering 46|page

Media support

H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC


5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP

Messaging

SMS and MMS

Web browser

Based on the open-source WebKit layout engine, coupled with


Chrome's V8 JavaScript engine supporting HTML5 and CSS3.

Multi-touch

Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.

Multi-tasking

User can jump from one task to another and same time various
application can run simultaneously.

Resizable
widgets

Widgets are resizable, so users can expand them to show more content
or shrink them to save space

Multi-Language

Supports single direction and bi-directional text.

GCM

Google Cloud Messaging (GCM) is a service that lets developers send


short message data to their users on Android devices, without needing
a proprietary sync solution.

Wi-Fi Direct

A technology that lets apps discover and pair directly, over a highbandwidth peer-to-peer connection.

Android Beam

A popular NFC-based technology that lets users instantly share, just by


touching two NFC-enabled phones together.

Table 4 Features of Android

KL University, Department of Computer Science and


Engineering 47|page

7.9.3 Android Applications:


Android applications are usually developed in the Java language using the Android Software
Development Kit.
Once developed, Android applications can be packaged easily and sold out either through a
store such as Google Play,SlideME,Opera Mobile Store,Mobango,F-droid and the Amazon
Appstore.
Android powers hundreds of millions of mobile devices in more than 190 countries around
the world. It's the largest installed base of any mobile platform and growing fast. Every day
more than 1 million new Android devices are activated worldwide.

7.9.4 Categories of Android applications:

KL University, Department of Computer Science and


Engineering 48|page

7.9.5 History of Android:


The code names of android ranges from A to L currently, such as Aestro, Blender, Cupcake,
Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat
and Lollipop. Let's understand the android history in a sequence.

Fig. 17 Android Versions


What is API level?
API Level is an integer value that uniquely identifies the framework API revision offered by
a version of the Android platform.
Platform Version

API
Level

VERSION_CODE

Android 5.1

22

LOLLIPOP_MR1

Android 5.0

21

LOLLIPOP

Android 4.4W

20

KITKAT_WATCH

Android 4.4

19

KITKAT

KitKat for Wearables


Only

KL University, Department of Computer Science and


Engineering 49|page

Android 4.3

18

JELLY_BEAN_MR2

Android 4.2, 4.2.2

17

JELLY_BEAN_MR1

Android 4.1, 4.1.1

16

JELLY_BEAN

Android 4.0.3, 4.0.4

15

ICE_CREAM_SANDWICH_MR1

Android 4.0, 4.0.1,


4.0.2

14

ICE_CREAM_SANDWICH

Android 3.2

13

HONEYCOMB_MR2

Android 3.1.x

12

HONEYCOMB_MR1

Android 3.0.x

11

HONEYCOMB

10

GINGERBREAD_MR1

GINGERBREAD

Android 2.2.x

FROYO

Android 2.1.x

ECLAIR_MR1

Android 2.0.1

ECLAIR_0_1

Android 2.0

CLAIR

Android 1.6

DONUT

Android 1.5

CUPCAKE

Android 1.1

BASE_1_1

Android 2.3.4
Android 2.3.3

Android 2.3.2

Table 5 Versions of Android

KL University, Department of Computer Science and


Engineering 50|page

7.9.6 Android IDEs :

Android Studio

Eclipse IDE

Android - User Interface:


The basic building block for user interface is a View object which is created from the View
class and occupies a rectangular area on the screen and is responsible for drawing and event
handling. View is the base class for widgets, which are used to create interactive UI
components like buttons, text fields, etc.
The ViewGroup is a subclass of View and provides invisible container that hold other Views
or other ViewGroups and define their layout properties.
At third level we have different layouts which are subclasses of ViewGroup class and a
typical layout defines the visual structure for an Android user interface and can be created
either at run time using View/ViewGroup objects or you can declare your layout using simple
XML file main_layout.xml which is located in the res/layout folder of your project.

Fig. 18 Basic Building Blocks of Android

KL University, Department of Computer Science and


Engineering 51|page

7.9.7 Android Layout Attributes:


Attribute

Description

android:id

This is the ID which uniquely identifies the view.

android:layout_width

This is the width of the layout.

android:layout_height

This is the height of the layout

android:layout_marginTop

This is the extra space on the top side of the layout.

android:layout_marginBottom

This is the extra space on the bottom side of the layout.

android:layout_marginLeft

This is the extra space on the left side of the layout.

android:layout_marginRight

This is the extra space on the right side of the layout.

android:layout_gravity

This specifies how child Views are positioned.

android:layout_weight

This specifies how much of the extra space in the layout should
be allocated to the View.

android:layout_x

This specifies the x-coordinate of the layout.

android:layout_y

This specifies the y-coordinate of the layout.

android:layout_width

This is the width of the layout.

android:layout_width

This is the width of the layout.

android:paddingLeft

This is the left padding filled for the layout.

KL University, Department of Computer Science and


Engineering 52|page

android:paddingRight

This is the right padding filled for the layout.

android:paddingTop

This is the top padding filled for the layout.

android:paddingBottom

This is the bottom padding filled for the layout.

Table 6 Android Layout Attributes

7.9.8 Android UI Controls:


S.N
.

UI Control & Description

TextView
This control is used to display text to the user.

EditText
EditText is a predefined subclass of TextView that includes rich editing capabilities.

AutoCompleteTextView
The AutoCompleteTextView is a view that is similar to EditText, except that it shows a list of
completion suggestions automatically while the user is typing.

Button
A push-button that can be pressed, or clicked, by the user to perform an action.

ImageButton
AbsoluteLayout enables you to specify the exact location of its children.

CheckBox
An on/off switch that can be toggled by the user. You should use check box when presenting
users with a group of selectable options that are not mutually exclusive.

ToggleButton

KL University, Department of Computer Science and


Engineering 53|page

An on/off button with a light indicator.


8

RadioButton
The RadioButton has two states: either checked or unchecked.

RadioGroup
A RadioGroup is used to group together one or more RadioButtons.

10

ProgressBar
The ProgressBar view provides visual feedback about some ongoing tasks, such as when you
are performing a task in the background.

11

Spinner
A drop-down list that allows users to select one value from a set.

12

TimePicker
The TimePicker view enables users to select a time of the day, in either 24-hour mode or
AM/PM mode.

13

DatePicker
The DatePicker view enables users to select a date of the day.

Table 7 Android UI Controls

7.10 HIBERNATE and JPA

Hibernate:

KL University, Department of Computer Science and


Engineering 54|page

Hibernate ORM (Hibernate in short) is an object-relational mapping framework for the Java
language, providing a framework for mapping an object-oriented domain model to a
traditional relational database. Hibernate solves object-relational impedance mismatch
problems by replacing direct persistence-related database accesses with high-level object
handling functions.
Hibernate is free software that is distributed under the GNU Lesser General Public License
2.1.
Hibernates primary feature is mapping from Java classes to database tables (and from Java
data types to SQL data types). Hibernate also provides data query and retrieval facilities. It
generates SQL calls and relieves the developer from manual result set handling and object
conversion. Applications using Hibernate are portable to supported SQL databases with little
performance overhead.

Fig. 19 JPA Flow Chart

7.10.1 Mapping:
Mapping Java classes to database tables is accomplished through the configuration of an
XML file or by using Java Annotations. When using an XML file, Hibernate can generate
skeleton source code for the persistence classes. This is unnecessary when annotations are
used. Hibernate can use the XML file or the annotations to maintain the database schema.
Facilities to arrange one-to-many and many-to-many relationships between classes are
provided. In addition to managing associations between objects, Hibernate can also manage
KL University, Department of Computer Science and
Engineering 55|page

reflexive associations where an object has a one-to-many relationship with other instances of
its own type. Hibernate supports the mapping of custom value types. This makes the
following scenarios possible: Overriding the default SQL type that Hibernate chooses when
mapping a column to a property.

Mapping Java Enum to columns as if they were regular properties.


Mapping a single property to multiple columns.

Definition: Objects in a front-end application follow OOP principles, while objects in the
back-end follow database normalization principles, resulting in different representation
requirements. This problem is called "object-relational impedance mismatch". Mapping is a
way of resolving the impedance mismatch problem. Mapping tells the ORM tool which java
class object to store in which database table

7.10.2 Architecture:
Layer, backhand API layer and database layer. Let's see the diagram of hibernate architecture
There are 4 layers in hibernate architecture java application layer, hibernate framework

KL University, Department of Computer Science and


Engineering 56|page

Fig. 20 JPA Architecture

7.10.3 Elements of Hibernate Architecture


For creating the first hibernate application, we must know the elements of Hibernate
architecture. They are as follows:

Session Factory
The Session Factory is a factory of session and client of Connection Provider. It holds second
level cache (optional) of data. The org.hibernate.SessionFactory interface provides factory
method to get the object of Session

Session
The session object provides an interface between the application and data stored in the
database. It is a short-lived object and wraps the JDBC connection. It is factory of
Transaction, Query and Criteria. It holds a first-level cache (mandatory) of data. The
org.hibernate.Session interface provides methods to insert, update and delete the object. It
also provides factory methods for Transaction, Query and Criteria.

Transaction
The transaction object specifies the atomic unit of work. It is optional. The
org.hibernate.Transaction interface provides methods for transaction management.

TransactionFactory
It is a factory of Transaction. It is optional.

JPA:
The Java Persistence API (JPA) is a Java application programming interface specification
KL University, Department of Computer Science and
Engineering 57|page

Fig. 21 Elements of Hibernate Architecture

That describes the management of relational data in applications using Java Platform,
Standard Edition and Java Platform, Enterprise Edition.

Fig. 22 JPA Platforms

7.10.4 Where to use JPA?


To reduce the burden of writing codes for relational object management, a programmer
follows the JPA Provider framework, which allows easy interaction with database instance.
Here the required framework is taken over by JPA.

KL University, Department of Computer Science and


Engineering 58|page

Fig. 23 Uses of JPA

CHAPTER-8
TASKS ACHEIVED

KL University, Department of Computer Science and


Engineering 59|page

Tasks Achieved
(Mobile Applications and Fixing Bugs in the Platform)
Has designed and developed over 52+ Applications on STOREONGO PLATFORM.All of
these developed apps were in the CREATIVE XPERTS, internal Server on STOREONGO.
Created APK files for those apps and made them ready to be deployed to the PLAYSTORE.
Apart from these Mobile App generation, has modified/fixed some issues in the internal
platform itself from On Job Training given by the Company.we have worked on four issues
in the platform.
They are as follows:

Database tables and columns creation using sqlite(db) in android - Modification done
on OngoDaoImpl, OngoDBHandler:Change reflected at DATABASE

Getting data from server as JSON format and store in SQLite(db) : Modification done on
GetAsyncTask-OngoDaoImpl,

OngoDBHandler:Change reflected at DATA BASE


& UI

New design for custom blocks -- > Modification done on Infofragment and
KeySlideActivity:Change reflected on UI

Updating database when add to cart and favourite clicked Modification

done on
HomeActivity and ProdFragments:Change reflected at both DATABASE&UI

Sample Code:
For APK Generation:

ANDROID MANIFEST XML


<!-- PERM_MAPS_RECEIVE -->
<permission android:name="
com.ongo.omgspaandsalon.permission.MAPS_RECEIVE"
KL University, Department of Computer Science and
Engineering 60|page

android:protectionLevel="signature" />
<!-- PERMC2D_MESSAGE -->
<permission android:name="
com.ongo.omgspaandsalon.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<!-- UPERMC2D_MESSAGE -->
<uses-permission android:name="
com.ongo.omgspaandsalon.permission.C2D_MESSAGE" />
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- UPERM_MAPS_RECEIVE -->
<uses-permission android:name="
com.ongo.omgspaandsalon.permission.MAPS_RECEIVE" />
<uses-permission
android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
/>

RESOURCESVALUESSTRINGS
<string name="mallname">Aaaj Marketing</string> <string
name="mall_id">3945</string> <string name="sharePattern">.app/3945/..*</string>
<!-- if all Malls true change promote pattern as ".m/..*" or else ".m/mallId..*"/ -->
<string name="promotePattern">.m/3945..*</string> <string
name="server_api_url">http://storeongo.com:8081</string> <string
name="shareURL">storeongo.com</string> <string name="ad_id">ca-app-pub2961740639249418/6413995088</string> <string
name="gcm_server_api_url">http://storeongo.com:9000/api</string> <!-http://storeongo.com:8084/mId=3/wId=Products/type=White/iId=312;313 --> <!-http://storeongo.com:8084/mId=3/wId=Products/type=White/iId=312 -->
<!-- ******************************* --> <!-- true or false --> <string
name="dateInKeys">false</string> <string name="basedOnStore">false</string>
<string name="default_image_in_products">false</string> <!-- if all Malls true
change promote pattern as ".m/..*" or else ".m/mallId..*"/ --> <string
name="allMallsApp">false</string> <!-- ******************************* -->
RESOURCESVALUESCOLORS

KL University, Department of Computer Science and


Engineering 61|page

<!-- Theme Color --> <color name="app_theme">#D60037</color> <color


name="app_theme_dark">#870020</color> <!-- Theme Color --> <color
name="screen_backgroung">#cccccc</color> <color
name="places_spinner_group_divider_color">#FFFFFF</color> <color
name="actionBarColor">#FFFFFF</color> <color
name="actionbarTitleColor">#000000</color>

A SAMPLE API FOR ONE OF THE APPLICATIONS IVE


CREATED:
{
"status": 1,
"userdetails": {
"id": "3945",
"fullname": "Aaaj Marketing", "email":"jagdishcm@gmail.com",
"website":"http://www.aaajmktg.com/",
"subdomain": "ongo_3945"
},
"jobs": [

{
"id": 23907,
"ItemCode": "abd61ac0-f0a9-4e6a-9255-8e0b29566c36",
"createdOn": "12:48 Jun 26, 2015", "createdById": 3945, "jobTypeId": 7955,
"jobTypeName": "Stores", "createdByFullName": "Aaaj Marketing",
"publicURL": "http://storeongo.com/app/3945/Stores;Stores;23907;_;SingleProduct",
"Category_Mall": " Real Estate Agents", "PackageName": "", "Name": "Aaaj Marketing in Real
State Agents", "Image": "", "Address": "Aaaj mrktng
Mr. Amit J Chhabria AAAJ Marketing Consultants P Ltd. 19 nanjappa road shanthi nagar
bangalore india 560027 Bangalore KA India, "Description": "We are currently marketing the
following projects

KL University, Department of Computer Science and


Engineering 62|page

Swiss Town, Devanahalli, Bangalore


Hollywood Town, Devanahalli, Bangalore
Oval Reef, Devanahalli, Bangalore
Ferns Aspen Heights, Bagalur, Bangalore
Jade Garden / Club Cabana, Devanahalli, Bangalore
The Hive, Opulent, Devanahalli, Bangalore
Shasta Gardenia, Narasapura
Aaspire Developers Projects at Narasapura / Marthahalli
Century Projects, Bangalore
S G R Builttech, Bangalore
Celtem Infrastructure Pvt. Ltd., Projects, Bangalore / Coorg
Jupiter Infrastructure (Bangalore) Pvt. Ltd., Projects
Goyal & Co., / Hariyana Group, Bangalore
Equinox Projects, Bangalore
Golden Gate Group, BangaloreJirah Serenity, off Doddaballapur Road, Bangalore",
"Street": "",
"State": "",
"Longitude": "77.546206",
"Latitude": "13.058087",
"City": "Bangalore",
"Contact Number": "9880566886",
"FaceBook": "Aaaj mrktng Property",
"Twitter": "",
KL University, Department of Computer Science and
Engineering 63|page

"District": "",
"PostalCode": "",
"Borough": "",
"Type": "",
"Country": "",
"Zoom": "",
"hrsOfOperation":
"Attachments": [],
"Additional_Details": {},
"jobComments": [],
"Current_Job_Status": "Active",
"Current_Job_StatusId": 19597,
"Next_Seq_Nos": "2",
"CreatedSubJobs": [],
"Next_Job_Statuses": [],
"Insights": [],
"overallRating": "0.0",
"totalReviews": "0",
"offersCount": "-1",
"productsCount": "-1",
"businessType": [],
"guestUserId": "16",
"guestUserEmail": "jagdishcm@gmail.com"},
{
"id": 23902,
KL University, Department of Computer Science and
Engineering 64|page

"ItemCode": "0a927a4f-0b00-411b-b84c-a77a218e5876",
"createdOn": "12:46 march 10, 2016",
"createdById": 3945,
"jobTypeId": 7955,
"jobTypeName": "Stores",
"createdByFullName": "Aaaj Marketing",
"publicURL": "http://storeongo.com/app/3945/Stores;Stores;23902;_;SingleProduct",
"Category_Mall": "Real Estate Agents", "PackageName": "",
"Name": "Aaaj Marketing",
"Image": "", "Address": "Aaaj mrktng Mr. Amit J Chhabria AAAJ Marketing
Consultants P Ltd. 19 nanjappa road shanthi nagar bangalore india 560027
Bangalore",
"Description": "Aaaj Marketing in Real Estate Agents ",
"Street": "",
"State": "",
"Longitude": "78.348917",
"Latitude": "17.440080",
"City": "Hyderabad",
"Contact Number": "+91 9880566886",
"FaceBook": "",
"Twitter": "",
"District": "",
"PostalCode": "",
"Borough": "",
"Type": "",
"Country": "",
"Zoom": "",
"hrsOfOperation": [],
"Attachments": [],
"Additional_Details": {},
"jobComments": [],
"Current_Job_Status": "Active",
"Current_Job_StatusId": 19597,
"Next_Seq_Nos": "2", "CreatedSubJobs": [],
"Next_Job_Statuses": [
{
KL University, Department of Computer Science and
Engineering 65|page

"Status_Id": "19598",
"SeqNo": "2",
"Status_Name": "Inactive",
"Sub_Jobtype_Forms": []
}
],
"Insights": [],
"overallRating": "0.0",
"totalReviews": "0",
"offersCount": "-1",
"productsCount": "-1",
"businessType": [],
"guestUserId": "16",
"guestUserEmail": guest@storeongo.com
},
],
"totalNumRecords": 9,
"count": 9,
"showFields": false,
"showInsights": false,
"showStatuses": false,
"showJTJobs": false,
"averageRating": 0,
"guestUserId": "16",
"guestUserEmail": guest@storeongo.com
}
KL University, Department of Computer Science and
Engineering 66|page

KL University, Department of Computer Science and


Engineering 67|page

CHAPTER-9
TASKS PERFORMED

KL University, Department of Computer Science and


Engineering 68|page

Tasks Performed
1. Database tables and columns creation using sqlite(db) in android:
For implementing the above task, we developed and modified two database classes,
OngoDaoImpl, OngoDBHandler, where one is used to IMPLEMENT DATABASE and the
other is used for DATABASE HANDLING. Code for DBHANDLER. These tasks are for
setting up databases so the changes will be implemented in the back end database. Sample
codes for ONGO DB HANDLER and ONGO DB IMPLEMENTATION were given below.

DATABASE HANDLER
package com.cx.ongo.db;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public abstract class DBHandler {


private int version;
private String database;
private String logTag;
private DBGen dbGen;
@SuppressWarnings("unused")
private DBHandler(){}
public DBHandler(Context context, String database, int version, String logTag){
this.database=database;
this.version=version;
this.logTag=logTag;
dbGen = DBGen.getInstance(context, this);
}
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
KL University, Department of Computer Science and
Engineering 69|page

this.database = database;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
public String getLogTag() {
return logTag;
}
public void setLogTag(String logTag) {
this.logTag = logTag;
}
public SQLiteDatabase getReadDB(){
return dbGen.open();
}
public SQLiteDatabase getWriteDB(){
return dbGen.open();
}
public void close(){
try
{
dbGen.close();
}
catch(SQLException sqlEx){
Log.e(logTag, "Exception while closing connection",sqlEx);
}
}
public abstract void onCreate(SQLiteDatabase db);
public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion);
}

KL University, Department of Computer Science and


Engineering 70|page

ONGO DB IMPLEMENTATION(Sample) :
package com.cx.ongo.db;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
importandroid.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class OnGoDaoImpl implements OnGoDao {
private SQLiteDatabase myDB;
private OnGoDBHandler dbHandler;
public String TAG = "OnGoDaoImpl";
public Gson gson; private Type hashMapType;
Context mContext;
public OnGoDaoImpl(Context context) {
dbHandler = new OnGoDBHandler(context);
gson = new Gson();
myDB = dbHandler.getWriteDB();
mContext = context;
hashMapType = new TypeToken<HashMap<String, Object>>() {
}.getType();
}
public void beginTransaction() { myDB.beginTransaction();
}
public void setTransactionSuccessful() {
myDB.setTransactionSuccessful();
} public void endTransaction() {
myDB.endTransaction();
}

ONGO DB HANDLER(Sample) :
// common
fields public static final String ID = "id";
public static final String ITEM_CODE = "ItemCode";
public static final String CREATED_BY_ID = "createdById";
public static final String CREATED_BY_FULL_NAME = "createdByFullName";
public static final String NAME = "Name";
public static final String DESCRIPTION = "Description";
KL University, Department of Computer Science and
Engineering 71|page

public static final String ICON_NAME = "Icon_Name";


public static final String ICON_URL = "Icon_URL";
public static final String PUBLIC_URL = "publicURL";
public static final String Image_Name = "Image_Name";
public static final String Image_URL = "Image_URL";
public static final String CITY = "City";
public static final String STREET = "Street";
public static final String STATE = "State";
public static final String OFFERSCOUNT = "Offerscount";
public static final String PRODUCTCOUNT = "Productcount";
public static final String FAVOURITE = "favourite";
public static final String ADDtoCART = "addToCart";
public static final String JSON = "json";
public static final String TYPE = "type";
public static final String CURR_JOB_STATUS = "Current_Job_Status";
public static final String ISCOVERIMAGE = "isCoverImage";
public static final String ALBUMNAME = "AlbumName";

Homeactivity class (cart counter):


public void changeCartCount(int i) {
try {
RelativeLayout badgeLayout = (RelativeLayout)
menu.findItem(R.id.menu_cart).getActionView();
cartCountText = (TextView) badgeLayout.findViewById(R.id.actionbar_cart_count);
Utils.setFont(cartCountText, Utils.regular_Font, "TextView");
int CartCountInt = 0;
if (mDaoImpl.get_CartProducts() != null) { CartCountInt =
mDaoImpl.get_CartProducts().size() + i;
}
Else
{
CartCountInt = i;
}
cartCountText.setText("" + CartCountInt);
if (CartCountInt > 0) {
cartCountText.setVisibility(View.VISIBLE);
}
else {
cartCountText.setVisibility(View.GONE);
}
} catch (Exception e) {
KL University, Department of Computer Science and
Engineering 72|page

}
}

9.1 Android Sample Code:


Android - Login Screen:
A login application is the screen asking your credentials to login to some particular
application.
The password TextView must have inputType set to password. Its syntax is given below :
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Define a button with login text and set its onClick Property.
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="login"
KL University, Department of Computer Science and
Engineering 73|page

android:text="@string/Login"
/>
In the java file, inside the method of onClick get the username and passwords text using
getText() and toString() method and match it with the text using equals() function.
EditText username = (EditText)findViewById(R.id.editText1);
EditText password = (EditText)findViewById(R.id.editText2);
public void login(View view){
if(username.getText().toString().equals("admin")&&
password.getText().toString().equals("admin")){

//correcct password
}else{
//wrong password
}
To provide a security mechanism, so that unwanted attempts should be avoided. For this
initialize a variable and on each false attempt, decrement it. And when it reaches to 0, disable
the login button.
int counter = 3;
counter--;
if(counter==0){
//disble the button, close the application etc.
}

10.1.1 Login application for AaaJ Marketing Mobile Apps:


Step
s

Description

You will use Android studio to create an Android application under a package
com.example.sairamkrishna.myapplication. While creating this project, make sure
you Target SDK and Compile With at the latest version of Android SDK to use
KL University, Department of Computer Science and
Engineering 74|page

higher levels of APIs.


3

Modify src/MainActivity.java file to add necessary code.

Modify the res/layout/activity_main to add respective XML components

Run the application and choose a running android device and install the application
on it and verify the results

Table 8 Description for Login

KL University, Department of Computer Science and


Engineering 75|page

Fig.24 Andoid Studio App Emulator

KL University, Department of Computer Science and


Engineering 76|page

Fig.25 Content_main.xml file


Following is the content of the main activity file
1. src/MainActivity.java:
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
KL University, Department of Computer Science and
Engineering 77|page

import android.widget.TextView;
import android.widget.Toast;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class MainActivity extends Activity {
Button b1,b2;
EditText ed1,ed2;
TextView tx1;
int counter = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
ed1=(EditText)findViewById(R.id.editText);
ed2=(EditText)findViewById(R.id.editText2);

b2=(Button)findViewById(R.id.button2);
tx1=(TextView)findViewById(R.id.textView3);
tx1.setVisibility(View.GONE);

b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ed1.getText().toString().equals("admin") &&

ed2.getText().toString().equals("admin")) {
Toast.makeText(getApplicationContext(),
"Redirecting...",Toast.LENGTH_SHORT).show();
}
KL University, Department of Computer Science and
Engineering 78|page

else{
Toast.makeText(getApplicationContext(),"Wrong
Credentials",Toast.LENGTH_SHORT).show();

tx1.setVisibility(View.VISIBLE);
tx1.setBackgroundColor(Color.RED);
counter--;
tx1.setText(Integer.toString(counter));

if (counter == 0) {
b1.setEnabled(false);
}
}
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
KL University, Department of Computer Science and
Engineering 79|page

// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

2. res/layout/activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">

<TextView android:text="Login" android:layout_width="wrap_content"


android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

KL University, Department of Computer Science and


Engineering 80|page

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Aaaj Marketing"
android:id="@+id/textView"
android:layout_below="@+id/textview"
android:layout_centerHorizontal="true"
android:textColor="#ff7aff24"
android:textSize="35dp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="Enter Name"
android:focusable="true"
android:textColorHighlight="#ff7eff15"
android:textColorHint="#ffff25e6"
android:layout_marginTop="46dp"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
KL University, Department of Computer Science and
Engineering 81|page

android:src="@drawable/abc"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText2"
android:layout_below="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/editText"
android:layout_alignEnd="@+id/editText"
android:textColorHint="#ffff299f"
android:hint="Password" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Attempts Left:"
android:id="@+id/textView2"
android:layout_below="@+id/editText2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="25dp" />

<TextView
KL University, Department of Computer Science and
Engineering 82|page

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView3"
android:layout_alignTop="@+id/textView2"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/textView2"
android:layout_toEndOf="@+id/textview"
android:textSize="25dp"
android:layout_toRightOf="@+id/textview" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="login"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/textview"
android:layout_toStartOf="@+id/textview" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:id="@+id/button2"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/textview"
android:layout_toEndOf="@+id/textview" />

KL University, Department of Computer Science and


Engineering 83|page

</RelativeLayout>
3. res/values/string.xml:
<resources>
<string name="app_name">AaaJ Marketing</string>
<string name="Real State Agents">Real State Agents!</string>
<string name="action_settings">Settings</string>
</resources>
4. AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity
android:name=".MainActivity"
android:label="@string/app_name" >

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
KL University, Department of Computer Science and
Engineering 84|page

9.1.2 Android - Sending Email:


Intent Object - Action to send Email
You will use ACTION_SEND action to launch an email client installed on your Android
device. Following is simple syntax to create an intent with ACTION_SEND action

Intent emailIntent = new Intent(Intent.ACTION_SEND);


Intent Object - Data/Type to send Email
To send an email you need to specify mailto: as URI using setData() method and data type
will be to text/plain using setType() method as follows :
Here is an example showing you how to assign extra data to your intent

emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"Recipient"});


emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(Intent.EXTRA_TEXT , "Message Body");
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");

Fig. 26 Email App Screen

KL University, Department of Computer Science and


Engineering 85|page

Ste
p

Description

You will use Android studio to create an Android application and name it as
myapplication77 under a package com.example.myapplication77. While creating this
project, make sure you Target SDK and Compile With at the latest version of Android
SDK to use higher levels of APIs.

Modify src/MainActivity.java file and add required code to take care of sending
email.

Modify layout XML file res/layout/activity_main.xml add any GUI component if


required. I'm adding a simple button to launch Email Client.

Modify res/values/strings.xml to define required constant values

Modify AndroidManifest.xml as shown below

Run the application to launch Android emulator and verify the result of the changes
done in the application.
Table 9 Description for Running Email App

src/com.example.Myapplication77/MainActivity.java.
package com.example.tutorialspoint;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

KL University, Department of Computer Science and


Engineering 86|page

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button startBtn = (Button) findViewById(R.id.sendEmail);


startBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendEmail();
}
});
}
protected void sendEmail() {
Log.i("Send email", "");
String[] TO = {""};
String[] CC = {""};
Intent emailIntent = new Intent(Intent.ACTION_SEND);

emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
emailIntent.putExtra(Intent.EXTRA_CC, CC);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");

try {
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
finish();
KL University, Department of Computer Science and
Engineering 87|page

Log.i("Finished sending email...", "");


}
catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this, "There is no email client installed.",
Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

res/layout/activity_main.xml file :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sending Mail Example"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp" />

KL University, Department of Computer Science and


Engineering 88|page

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point "
android:textColor="#ff87ff09"
android:textSize="30dp"
android:layout_above="@+id/imageButton"
android:layout_alignRight="@+id/imageButton"
android:layout_alignEnd="@+id/imageButton" />

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/sendEmail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/compose_email"/>
</LinearLayout>

res/values/strings.xml to define two new constants :


<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Tutorialspoint</string>
KL University, Department of Computer Science and
Engineering 89|page

<string name="Aaaj Marketing">Aaaj Marketing!</string>


<string name="action_settings">Settings</string>
<string name="compose_email">Compose Email</string>
</resources>

Following is the default content of AndroidManifest.xml:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.Myapplication77"
android:versionCode="1"
android:versionName="1.0" >

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.tutorialspoint.MainActivity"
android:label="@string/app_name" >

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

</activity>
</application>
</manifest>
KL University, Department of Computer Science and
Engineering 90|page

Fig. 27 Email Recipient Screen

KL University, Department of Computer Science and


Engineering 91|page

CHAPTER-10
SCREEN SHOTS FOR APPS DEVELOPMENT ON
STOREONGO

SCREEN SHOTS FOR APPLICATION DEVELOPMENT ON


STOREONGO PLATFORM USING FIVE STEPS :

KL University, Department of Computer Science and


Engineering 92|page

Step 1: LOCATING BUSINESS ON GOOGLE

Fig. 28 Locating Business on Google


Step 2 : PROVIDE THE FACEBOOK PAGE

Fig. 29 Facebook Page Identification


Step 3: PROVIDE THE WEBSITE

KL University, Department of Computer Science and


Engineering 93|page

Fig. 30 Providing Website


Step 4: SELECT THE CATEGORY OF THE BUSINESS

Fig. 31 Business Category Selection

Step 5 : PROVIDE THE EMAIL ADDRESS OF BUSINESS


KL University, Department of Computer Science and
Engineering 94|page

Fig. 32 Providing Email Address

Step 6 : APPLICATION CREATED

KL University, Department of Computer Science and


Engineering 95|page

Fig. 33 Application Created

APPLICATION LOGIN :

KL University, Department of Computer Science and


Engineering 96|page

Fig. 34 App login

10.1 Application Screen Shots:


1. CCDS Baking Store:

KL University, Department of Computer Science and


Engineering 97|page

App Launch:

KL University, Department of Computer Science and


Engineering 98|page

Fig. 35 CCDS Baking Store Home Screen

KL University, Department of Computer Science and


Engineering 99|page

Aaaj Marketing : (Aaaj mrktng)

KL University, Department of Computer Science and


Engineering 100|page

Fig. 36 Aaaj Marketing

KL University, Department of Computer Science and


Engineering 101|page

2. Perfx Technologies Private Limited:

3. Aquas Equipments and Projects (India) Pvt. Ltd:

KL University, Department of Computer Science and


Engineering 102|page

KL University, Department of Computer Science and


Engineering 103|page

Fig. 37 Aquas Equpiments and Project(india) Ltd.


KL University, Department of Computer Science and
Engineering 104|page

4. Eurydice FInancial services:

KL University, Department of Computer Science and


Engineering 105|page

Fig. 38 Eurydice Financial Services

10.2 APP FEATURES:

KL University, Department of Computer Science and


Engineering 106|page

KL University, Department of Computer Science and


Engineering 107|page

KL University, Department of Computer Science and


Engineering 108|page

KL University, Department of Computer Science and


Engineering 109|page

KL University, Department of Computer Science and


Engineering 110|page

KL University, Department of Computer Science and


Engineering 111|page

Fig. 39 App Features

10.3 APPLICATION READY TO DOWNLOAD:

KL University, Department of Computer Science and


Engineering 112|page

Fig. 40 App Ready to download

KL University, Department of Computer Science and


Engineering 113|page

10.4 APK GENERATION SCREEN SHOTS :


An application Package Generation of mobile (Apk generation):
Generating an an Apk

KL University, Department of Computer Science and


Engineering 114|page

KL University, Department of Computer Science and


Engineering 115|page

KL University, Department of Computer Science and


Engineering 116|page

KL University, Department of Computer Science and


Engineering 117|page

10.5 Renaming mipmap with drawable :

KL University, Department of Computer Science and


Engineering 118|page

Fig. 41 APK Generation Screen Shot


8.1

Icon and splash image generation of an androids mobile applications

KL University, Department of Computer Science and


Engineering 119|page

Fig.42 Icon Generation

KL University, Department of Computer Science and


Engineering 120|page

10.6 Renaming the package of mobile apps:

KL University, Department of Computer Science and


Engineering 121|page

KL University, Department of Computer Science and


Engineering 122|page

KL University, Department of Computer Science and


Engineering 123|page

KL University, Department of Computer Science and


Engineering 124|page

Fig. 43 Renaming the Packages

KL University, Department of Computer Science and


Engineering 125|page

10.7 Key Generation of apps:

KL University, Department of Computer Science and


Engineering 126|page

KL University, Department of Computer Science and


Engineering 127|page

KL University, Department of Computer Science and


Engineering 128|page

KL University, Department of Computer Science and


Engineering 129|page

Fig. 44 Keys Generation Screen


Finally, placing on google playstore.

KL University, Department of Computer Science and


Engineering 130|page

CHAPTER-11
CONCLUSION AND FUTURE SCOPE

KL University, Department of Computer Science and


Engineering 131|page

Conclusion And Future Scope


From this we conclude that by using Storeongo Platform and Android Studio/Eclipse IDE
I have developed and designed more than fifty five applications using STORE ONGO
platform. After a considerable amount of time getting habituated to the platform, Technical
modules were given to each of us.
I have done all the given modules. During this process there came a chance to explore in
depth of the actual real world application development process .This particular thing gave me
an insight of newer things which I previously hadnt had a chance of learning in the
University.
The technical and real world application knowledge I have acquired in this internship will
greatly help me during the B. Tech .This experience at the company will definitely useful in
my future life.
The Organizational exposure will surely help me to understand the work culture of the Firms,
which will aid me in the future employment opportunities.
Any one can able to create dynamic android mobile application based on business
requirements of a clients by using just five simple steps.
I have developed and designed more than five applications using STORE ONGO platform.
After a considerable amount of time getting habituated to the platform, Technical modules
were given to each of us.
I have done all the given tasks on timely basis according to the business requirement as per
demand of customer satisfaction. During this process we got the chance to explore in depth of
the actual real world android mobile application development .This particular things gave me
an insight of new experience of learning new technology.

KL University, Department of Computer Science and


Engineering 132|page

CHAPTER-12
BIBILIOGRAPHY

KL University, Department of Computer Science and


Engineering 133|page

Bibliography
http://storeongo.com/
http://storeongo.com:8081/Services/getMasters?type=allMalls
http://storeongo.com/MobileBuild/consumerApp
http://storeongo.com/Ams/home?showAllAppTabs=true&currentPage=home
http://storeongo.com/Ams/View?biCategory=Products
http://storeongo.com/Ams/viewServiceJobs?biCategory=Services
http://storeongo.com/ams/galleryview?jobId=0
http://storeongo.com/Application/howItWorks

KL University, Department of Computer Science and


Engineering 134|page

CHAPTER-13
GLOSSARY

KL University, Department of Computer Science and


Engineering 135|page

Вам также может понравиться