java format

40
CHAPTER 1: INTRODUCTION COMPANY PROFILE: Banglore computer Education was established in 2001 with the vision to create an efficient man power in the field of software development and to promote the adjoining regions to participate in IT revolution. The institute provides training in various languages like CORE and Advance JAVA, PHP, Android, Hibernate, Spring, .Net, C++,etc. It was founded by Mr. Rajesh K. Bansal who is a SCJP (Sun Certified Java Programmer) having strong programming skills and 14 years of training experience. Over these years of working the institute has gained a reputation among the masses as an institute, which means quality and has contributed to its maximum for the uplifting of an educated modern society. BCE is certified that management system of company has been assessed and found to comply with the requirements of ISO 9001:2008. TEAM : We have a committed team of professionals with experience in variety of tools and platforms. Our assistants keep themselves updated with the latest technology trends. Our skilled people share a common vision of growth. We do what we believe in, and we believe in what we do. BELIEF : We believe in utilizing technology to make things simple and easy to use. We also believe in thinking ahead and delivering training about technology that can fit well with upcoming future technologies. Page 1

Upload: anchal-dhir

Post on 12-Jul-2016

28 views

Category:

Documents


1 download

DESCRIPTION

Java Format File

TRANSCRIPT

CHAPTER 1: INTRODUCTION

COMPANY PROFILE:

Banglore computer Education was established in 2001 with the vision to create an efficient man power in the field of software development and to promote the adjoining regions to participate in IT revolution. The institute provides training in various languages like CORE and Advance JAVA, PHP, Android, Hibernate, Spring, .Net, C++,etc.

It was founded by Mr. Rajesh K. Bansal who is a SCJP (Sun Certified Java Programmer) having strong programming skills and 14 years of training experience.Over these years of working the institute has gained a reputation among the masses as an institute, which means quality and has contributed to its maximum for the uplifting of an educated modern society. BCE is certified that management system of company has been assessed and found to comply with the requirements of ISO 9001:2008. 

TEAM: We have a committed team of professionals with experience in variety of tools and platforms. Our assistants keep themselves updated with the latest technology trends. Our skilled people share a common vision of growth. We do what we believe in, and we believe in what we do. 

BELIEF: We believe in utilizing technology to make things simple and easy to use. We also believe in thinking ahead and delivering training about technology that can fit well with upcoming future technologies. 

VALUES: We believe that the rich learning experiences our programs offer can effect powerful and positive transformation in individuals, in their communities, and in their institutions.  We work with our partners and sponsors worldwide to design and implement programs in which participants reach across – and live across – boundaries and borders.  And we do this in an atmosphere of mutual respect, organized collaboration, and fun.

FACILITIES:

Some of the facilities offered in BCE are as follows:

Trainers at the centre have 5 years of experience in all languages. To ensure the quality, all the trainers are certified in their own domain .

Page 1

For learning to be comprehensive, the requirement is to automate complex scenarios. Project assignments are given to students to help them realize real time experience.

Students are trained on Test Automation Framework, Scripting and given assignments on a project which equip them to handle any automation project independently.

Also focus is on developing the soft skills of the students which is a key differentiator in the IT industry today. Soft skills training include interview facing, resume drafting, client interaction, email etiquette, cross cultural interaction, etc.

Labs are provided to students for working on their projects. Assistants are always available to help students.

CHAPTER 2 : TECHNOLOGIES USED

Page 2

2.1 JAVA:

Java is an object-oriented programming language with a built-in application programming

interface (API) that can handle graphics and user interfaces and that can be used to create

applications or applets. Because of its rich set of API's, similar to Macintosh and Windows, and

its platform independence, Java can also be thought of as a platform in itself. Much of the syntax

of Java is the same as C and C++. One major difference is that Java does not have pointers.

Java applications are typically compiled to bytecode that can run only on Java virtual

machine (JVM) regardless of computer architecture.

In Java we distinguish between applications, which are programs that perform the same functions

as those written in other programming languages, and applets, which are programs that can be

embedded in a Web page and accessed over the Internet. Our initial focus will be on writing

applications. When a program is compiled, a byte code is produced that can be read and executed

by any platform that can run Java.

There were five primary goals in the creation of the java language:

It should be "simple, object-oriented and familiar"

It should be "robust and secure"

It should be "architecture-neutral and portable"

It should execute with "high performance"

It should be "interpreted, threaded, and dynamic"

2.1.1 LIBRARIES

java.lang: Provides classes that are fundamental to the design of the Java programming

language. The most important classes are Object, which is the root of the class hierarchy,

and Class, instances of which represent classes at run time.

java.io : Provides for system input and output through data streams, serialization and the

file system. Unless otherwise noted, passing a null argument to a constructor or method

in any class or interface in this package will cause a NullPointerException to be thrown.

Page 3

java.applet: Provides the classes necessary to create an applet and the classes an applet

uses to communicate with its applet context.

java.sql : Provides the API for accessing and processing data stored in a data source

(usually a relational database) using the Java programming language. This API includes

a framework whereby different drivers can be installed dynamically to access different

data sources.

java.awt : Contains all of the classes for creating user interfaces and for painting graphics

and images. A user interface object such as a button or a scrollbar is called, in AWT

terminology, a component. The Component class is the root of all AWT components.

See Component for a detailed description of properties that all AWT components share.

javax.swing: Provides a set of "lightweight" (all-Java language) components that, to the

maximum degree possible, work the same on all platforms.

2.1.2 JAVA RUNTIME ENVIRONMENT (JRE)

The Java Runtime Environment (JRE) is a set of software tools for development of Java

applications. It combines the Java Virtual Machine (JVM), platform core classes and libraries.

JRE is part of the Java Development Kit (JDK), but can be downloaded separately. JRE was

originally developed by Sun Microsystems Inc., a wholly owned subsidiary of Oracle

Corporation. Also known as Java runtime.

JRE consists of the following components:

1. Deployment technologies, including deployment, Java Web Start and Java Plug-in.

2. User interface toolkits, including Abstract Window Toolkit (AWT), Swing, Java 2D,

Accessibility, Image I/O, Print Service, Sound, drag and drop (DnD) and input methods.

3. Integration libraries, including Interface Definition Language (IDL), Java Database

Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method

Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP)

and scripting.

Page 4

4. Other base libraries, including international support, input/output (I/O), extension

mechanism, Beans, Java Management Extensions (JMX), Java Native Interface (JNI), Math,

Networking, Override Mechanism, Security, Serialization and Java for XML Processing

(XML JAXP).

2.1.3 JAVA VIRTUAL MACHINE (JVM)

A Java virtual machine (JVM) is an abstract computing machine. There are three notions of the

JVM: specification, implementation, and instance. An instance of the JVM can execute any

executable computer program compiled into Java bytecode. It is the code execution component

of the Java platform.

In the Java programming language, all source code is first written in plain text files ending with

the .java extension. Those source files are then compiled into .class files by the javac compiler.

A .class file does not contain code that is native to your processor; it instead

contains bytecodes — the machine language of the Java Virtual Machine (Java VM).

The java launcher tool then runs your application with an instance of the Java Virtual Machine.

FIG.2.1: Compilation and Interpretation of Java [https://www.google.co.in/search?

q=compilation+and+interpreter+of+java&biw=1024&bih=677&source=lnms&tbm=isch&sa=X

Page 5

&ei=TbpQVNWpIYmA8QWhoIC4AQ&ved=0CAcQ_AUoAg#facrc=_&imgdii=_&imgrc=GM

IdMUo_ObV3eM%253A%3B5fCKi1acGhAi9M%3Bhttp%253A%252F

%252Fwww.roseindia.net%252Fjava%252Fjava-introduction%252Fjavatools%252Fjava-

interpreter.gif%3Bhttp%253A%252F%252Fwww.roseindia.net%252Fjava%252Fjava-

introduction%252Fjavatools%252Fjava-inetrpreter.shtml%3B547%3B297]

Because the Java VM is available on many different operating systems, the same .class files are

capable of running on Microsoft Windows, the Solaris™ Operating System (Solaris OS), Linux,

or Mac OS. Some virtual machines, such as the Java SE HotSpot at a Glance, perform additional

steps at runtime to give your application a performance boost. This include various tasks such as

finding performance bottlenecks and recompiling (to native code) frequently used sections of

code.

Fig 2.2: Platform Independence of java

[https://www.google.co.in/search?q=platform+independence+of+java&biw=1024&bih=677&source=lnms&tbm=isch&sa=X&ei=wblQVIL5Ncfm8AXe6oKQBg&ved=0CAYQ_AUoAQ#facrc=_&imgdii=_&imgrc=51MHXemQlGic9M%253A%3BEgM3MgvUBUUqoM%3Bhttp%253A%252F%252Fwww.javatpoint.com

%252Fimages%252Fplateform.JPG%3Bhttp%253A%252F%252Fwww.javatpoint.com%252Ffeatures-of-java%3B474%3B391]

Page 6

2.1.4 FEATURES OF JAVA

Platform Independent.

Object-Oriented

Robust and Secure

Distributed

Multithreaded and Interactive

Dynamic and Extensible Code

Architectural Neutral

2.2 FRAMEWORK AND SOFTWARE USED:

2.2.1 SWINGS

Swing implements a set of GUI components that build on AWT technology and provide a

pluggable look and feel. Swing is implemented entirely in the Java programming language, and

is based on the JDK 1.1 Lightweight UI Framework.

Swing features include:

All the features of AWT.

100% Pure Java certified versions of the existing AWT component set (Button, Scrollbar,

Label, etc.).

A rich set of higher-level components (such as tree view, list box, and tabbed panes).

Pure Java design, no reliance on peers.

Pluggable Look and Feel.

Swing components do not depend on peers to handle their functionality. Thus, these components

are often called "lightweight" components.

Pros

Portability: Pure Java design provides for fewer platform specific limitations.

Page 7

Features: Swing supports a wider range of features like icons and pop-up tool-tips for

components.

Vendor Support: Swing development is more active. Sun puts much more energy into

making Swing robust.

Look and Feel: The pluggable look and feel lets you design a single set of GUI

components that can automatically have the look and feel of any OS platform (Microsoft

Windows, Solaris, Macintosh, etc.).

Cons

1. Applet Portability: Most Web browsers do not include the Swing classes, so the Java

plugin must be used.

2. Performance: Swing components are generally slower and buggier than AWT, due to

both the fact that they are pure Java and to video issues on various platforms. Since

Swing components handle their own painting (rather than using native API's like DirectX

on Windows) you may run into graphical glitches.

2.2.2 JDBC

The JDBC is a set of the database access classes. The term JDBC stands for "Java database

Connectivity" and it was developed by Javasoft.

JDBC technology is an API (application program interface) that allows visual access to any

tabular data source from java programming languages by mean of some connecting software

called drives. it provide cross-DBMS connectivity to wide range of SQL database JDBC allows

java applets, servlets and applications to access data in famous database management system.

It also provides access to other tabular data source such as spread sheets or flat files. The JDBC

API allows developer to take advantage of the java platforms “write once, run anywhere"

capabilities for industrial strings cross platforms applications that require access to enterprise

data. The JDBC API is the industry standard for data base-independent connectivity’s between

Page 8

the java programming language and a wide range of the database. The JDBC API makes it

possible to do these things

Establish a connection with a database or access tabular data source.

Send SQL statements and process the results.

Because JDBC is a standard specification, a Java program that uses the JDBC API can connect

to any database management system (DBMS) for which there is a JDBC driver.

2.2.3 ECLIPSE

Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Haskell, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy and Scheme. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.The initial codebase originated from VisualAge. The Eclipse SDK (which includes the Java development tools) is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.

ARCHITECHTURE:

The Eclipse Platform subproject provides the core frameworks and services upon which all plug-in extensions are created. It also provides the runtime in which plug-ins are loaded, integrated, and executed. The primary purpose of the Platform subproject is to enable other tool developers to easily build and deliver integrated tools.It can deal with any type of resource (Java files, C files, Word files, HTML files, JSP files, etc) in a generic manner but doesn't know how to do anything that is specific to a particular file type. The Eclipse platform, by itself, doesn't provide a great deal of end-user functionality - it is what it enables that is interesting. The real value comes from tool plug-ins for eclipse that "teach" the platform how to work with these different kinds of resources. This pluggable architecture allows a more seamless experience for the end user when moving between different tools than ever before possible.

Page 9

The Eclipse platform defines a set of frameworks and common services that collectively make up "integration-ware" required to support a comprehensive tool integration platform. These services and frameworks represent the common facilities required by most tool builders including a standard workbench user interface and project model for managing resources, portable native widget and user interface libraries, automatic resource delta management for incremental compilers and builders, language-independent debug infrastructure, and infrastructure for distributed multi-user versioned resource management.In addition, the Eclipse platform defines a workbench user interface and a set of common domain-independent user interaction paradigms that tool builders plug into to add new capabilities. The platform comes with a set of standard views which can be extended by tool builders. Tool builders can both add new views, and plug new domain-specific capability into existing views.

Fig 2.3 Eclipse Indigo Workspace

2.3DATABASE : MySQL

Page 10

MySQL is a relational database management system (RDBMS), and ships with no GUI tools to

administer MySQL databases or manage data contained within the databases. Users may use the

included command line tools, or use MySQL "front-ends", desktop software and web

applications that create and manage MySQL databases, build database structures, back up data,

inspect status, and work with data records. It is named after co-founder Michael Widenius's

daughter, My. SQL stands for structured query language, better known as "sequel".

It is used for:

1) Querying a database by editing the SQL statement

2) Querying a database with a program.

3) Defining the data organization.

4) Administrating data.

5) Accessing multiple data server.

6) Managing transaction.

2.3.1 QUERIES: These are used to retrieve the data based on specific criteria. This is the most

important element of sql.

Some basic queries in sql:

Creating a table:

Syntax: create table table_name(column_name1 datatype(size), column_name2

datatype(size),……,column_name datatype(size));

Inserting into a table:

Syntax: insert into table_name values(x,y,z);

Updating a table:

Page 11

Syntax: update table_name set column_name=’value’ where column_name=’value’;

Deleting a column of table:

Syntax: delete from table_name where column_name=value;

Selecting columns of table:

Syntax: select * from table_name;

2.3.2 SOFTWARE USED: NAVICAT PREMIUM

Navicat Premium is a multi-connections Database Administration tool allowing you to connect to MySQL, PostgreSQL and Oracle databases simultaneously within a single application, making database administration to multiple kinds of database so easy. It supports most of the features in MySQL, Oracle and PostgreSQL including Event, Trigger, Function/Procedure, View, etc. Navicat Premium is available on three platforms - Microsoft Windows, Mac OS X and Linux. It can connect users to local/remote server, providing several utility tools such as Data/Structure Synchronization, Import/Export, Backup and Report to facilitate the process for data maintenance. Navicat Features:

Latest MySQL versions support

Compatible with any MySQL server version. Support of Events. Support of Triggers. Support of Procedures and Functions. Support of Views. VARCHAR Data Type support. Value from 0 to 65,535 in 5.0.3 and later versions. BIT Data Type support. BINARY/VARBINARY Data Type support.

DESIGNS OF TABLE INVOLVED:

Page 12

Table 2.1: Design of Log In Table

Table 2.2: Design of contacts table

Table 2.3 Design of history table

Page 13

CHAPTER 3 PROJECT DESCRIPTION

Page 14

3.1 OVERVIEW OF PROJECT

SMS App is a windows application that allows users or admin to send SMS to the contacts added

by them directly from their PC or laptop.

The app has various modules. It creates admin-user environment. Admin can add users who can

access the SMS app by providing them with User ID’s and passwords. An administrator can add

a user, delete the registration of user, search info. of user and update the records i.e., it can

change the records of users.

User and Admin log in to the project from one panel only. An interesting feature has been added

that allows the users to access the password, in case they have forgotten it. All they have to do is

click on Forgot password? and provide their User ID’s and click on Send SMS button and a

message of their password will be send to their mobile phones.

Furthur, users can add the contacts they want in Contact Juggler. Various fields like D.O.B,

Address, Mobile number, category, country, etc are provided in Contact Juggling to add

information of new contacts. Along with adding contacts, user can delete, search and update the

records of added contacts.

A user can view the records created by him/her anytime he/she wants, directly from menu. Also

the app maintains history logs of the operations performed so far which includes many features

like: viewing messages sent, time and date of sending messages, name of person whom message

has been sent along with the category he/she belongs to, etc.

The app also brings in the facility of searching contacts and history. It is inconvenient to look for

a record serially in database with so many records i.e. , it is a time consuming process, so the app

gives you the facility to view specific contact and history log by short listing them on basis of

category, mobile no., message send and the date and time when the message was sent.

It is to be worth noting that user don’t have to provide the full message, exact date and time and

full mobile no. to search contact list and history logs. User just have to provide the characters

that may be initials or in middle or present at last. The results matching the input will be

displayed.

Page 15

And at last once user send the message or perform the operations whatever he/she wish to, can

logout from the app from menu and again login next time to avail benefits of app.

3.2 ADVANTAGES OF PROJECT:

The various advantages of SMS app are as follows:

New concept of sending SMS through PC is introduced.

Security:

-administration has the highest authority to edit/delete/create users and database.

-password is in hidden characters form and it can’t be lost if a user forgot because a

message of password is send to that particular user’s phone only.

Ease of Use : The app is easy is to made user friendly and can be handled easily.

Saves time : User can easily search for contacts and history logs without searching in

database.

Portability :

-the application is built using eclipse which has support to run on any platform provided

the required compilers are available.

- for database: mysql has been used , that to has extensive support over many popular

architecture and operating system.

Easy update :

Everything is stored in computer database, so it is easy to update.

Efficient and fast searching of records .

Availability : User can access the app anytime and anywhere, provided internet

connection is present.

Page 16

3.3 SCOPE:

The app can be widely used in companies, institutes, schools, colleges and organizations.

The messages are sent within seconds.

Can be used in environments where security of user and time saving for searching records

are of utmost importance.

The environments requiring ease of everything can use the app with features like

maintain history logs, contacts logs, searching history and contacts is required.

Unlimited records can be saved.

CHAPTER 4: PROJECT SNAPSHOTS

Page 17

Fig 4.1: Log In Page

This is the first page of my project. Here admin and the users created by admin can log in to access the app by filling in provided user id’s and passwords and clicking Sign Up. If a user Sign up then it will be directed to welcome page of app and admin will be directed to administration panel on sign up.If password or ID filled is wrong then a message of Invalid ID is displayed.

Also on clicking Cancel the User ID and Password fields will be emptied.

If someone forgets the password then he/she don’t have to worry because additional features like Forgot password? is added. On clicking on this button user can move to Forgot password page.

Page 18

Fig 4.2: Forgot password page

Forgot password? Option in Log in page will open this page. Here if user forgets the password then he/she can get it by providing the User id in User id field and clicking on Send SMS button. On performing above procedure one SMS will be send to user’s phone.

Also a Back button is provided for user to get back to Log In page.

Page 19

Fig 4.3 Administration Panel

This is Administration Panel. Only Admin will be directed to this page if he logs in. This page creates user who can access the app. Some salient features are:

Register: Admin creates user by clicking on Register after filling in required fields.

Find: This is a search option in Panel. User can view the details of registered user by providing his id and clicking Find button and this will display the whole information of user.

Cancel Reg.: This is used to Cancel Registration of user.

Update: Admin can modify the records of any user by using Update Option.

New: This clears each and every field and allows to enter new records.

Menu: Menu directs the Admin to welcome page of app.

Back: Admin will be directed to Log in page.

Page 20

Fig 4.4: Welcome Page

Main page or welcome page of app looks like one shown above. This page contains menu bar which directs us to various pages. Following are options on this page:

1. Manager : Manager have five options:About: Brief description of app.All Contacts: Shows all contacts created by user or admin.Contact Juggler: It allows to add the contacts to whom we can send SMS.Contact Finder: Used to find contacts.Log Out: One can logout from app by clicking logout.

2. SMS :SMS Sender: This will direct to the page from where we can send the SMS.

3. History :History logs: Used to view history logs.History quest: History quest helps you to search history.

Page 21

Fig 4.5: Contact juggler

Contact Juggling allows user to add contacts. Some of the salient features are:

Save: This button at the bottom allows one to save records.

New: This clears each and every field and allows to enter new records.

Search: User can view the details of added contacts by providing his id and clicking Search button and this will display the whole information of user.

Update: User can modify the records of added contacts by using Update Option.

Cancel Record: This is used to Cancel added contact.

Back: User will be directed to Main page or welcome page.

Page 22

Fig 4.6: Contact finder

User can search contacts by selecting category and clicking on Go. This will display all the contact names of that category in names field. Select a name and click Go and this will give each and every detail of that contact under details.

One can search by giving mobile no. and clicking Go.

An additional interesting feature is that you can provide initials, ending or middle digits of mobile no. and you will get the matching results.

Page 23

Fig 4.7: History finder

This page will be displayed if one clicks on History >> History quest in main page. This panel is used to find history. User can search history in three ways:

1. Message: User can input message extracts and the contacts whom we send that message will be displayed after clicking on Go.

2. Date/Time: One can even put in date or time and messages send on that time or date will be displayed.

3. Category: User can even select the category and messages send to that category will be displayed.

Page 24

Fig 4.8: SMS Sender

This is the panel behind sending SMS.

User can select category and on selecting category names and contact nos. will be displayed in particular fields. Select the required name and click proceed >>. This will show the no. in Mobile no. box.

After this write your message in Message text box and click Send.

On sending a dialog box with message ‘Message send’ will be displayed. Make sure internet is connected.

User can also directly input the mobile no. in mobile text area and send message.

Page 25

4.1 SNAPSHOTS FROM DATABASE INVOLVED:

Fig 4.9: Log In Table in database

Fig 4.10: Log In Table as shown in project

This is not included in menu because this page contains user id’s and password of admin and users created by admin with other secret details.

Page 26

Fig 4.11: Contacts record in database

Page 27

Fig 4.12: Contact Book as shown in project

A table shown above will be displayed if we click on ‘All contacts’ on main page. This page is created in database and contains all the info. of contacts created by users.

Page 28

Fig 4.13: History logs in database

Page 29

Fig 4.14: History logs in project

History logs contain all the messages send by user to various people along with other information parameters.

Page 30

BIBLIOGRAPHY AND REFERENCES

The following books are used to fulfill the requirements of project and are helpful in

understanding, development and the maintenance of the project.

Head First Java by Kathy Sierra and Bert Bates Database Concepts by Henry F Korth The Complete Reference Java 2

REFERENCES:

http://www.w3schools.com

http://guruzon.com

http://docs.oracle.com

http://www.programmerinterview.com

http://www.ehow.com

http://javatpoint.com

http://iconarchive.com

www.google.co.in

www.wikipedia.com

www.4shared

www.eclipse.org

www.studytonight.com

Page 31