Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 53

INTERNSHIP REPORT ON

“Python Programming And Android Application


Development ”

Submitted in partial fulfilment of the requirements of the award of


degree Of
DIPLOMA ENGINEERING
In
Computer Engineering

BY:-

Diksha Laxman Yankikar

UNDER THE GUIDANCE:

Mr. Bandenawaz Bagwan


(Technowings Solutions Pvt. Ltd.,Solapur )
SVERI’S
COLLEGE OF ENGINEERING (POLY).
PANDHARPUR 2023-24

CERTIFICATE
The project report entitled

“Python Programming And Android Application Development”

Submitted by

Roll No Name of Student Enrollment No.


57 Diksha Laxman Yankikar 2110740395
58 Ankita Dhananjay Survase 2110740403

Is approved for the Diploma of Engineering in Computer Engineering


from SVERI’S College of Engineering (Polytechnic), Pandharpur.

Name of Guide Name of Mentor

Technowings Solutions Pvt.,Ltd. Department of Computer

Engineering Solpur-413001 SVERI’s COE(Poly),Pandharpur


. (Mr.Bandenawaz Bagwan) (Ms.V.B.Maskar)

Name of H.O.D Name of Principle


Department of Computer Engineering SVERI’S COE (Poly), Pandharpur
. SVERI’S COE (Poly), Pandharpur.

(Prof. P. S. Bhandhare) (Prof.) (Prof. Dr. N. D. Misal)

Date:

Place: Pandharpur Examiner Principal


Declaration by candidate

I hereby declare that the Industrial Training based on “Python Programming And Android
Application Development” completed in Technowings Solutions Pvt. Ltd.,Solapur, Solapur.
Submitted to Maharashtra State Board of Technical Education (MSBTE),for Computer Engineering
in Shri Vithal Education and Research Institute College of engineering polytechnic Pandharpur under
the guidance of Mr.Bandenawaz Bagwan.

I further declare that it has not been submitted to any other university or institution for the award of
diploma. I also confirm that all the literature which I have borrowed from other source and
incorporated in seminar report is duly acknowledge. If any literature is not duly acknowledge and
found incorporated in this report, it entirely my responsibility

Date:
Place: [Yankikar Diksha Laxman]
Certificate by Guide

This is to certify that Ms. Diksha Laxman Yankikar has completed the Industrial Trainning under
my guidance and supervision and that, I have verified the work for its originality in documentation,
problem statement, implementation and results presented in the Industrial Trainning . Any
reproduction of other necessary work is with the prior permission and has given due ownership and
included in the references.

Place:
Date: Signature of Guide
(Prof .Bandenawaz Bagwan)
Contents:

Acknowledgement………………… I

Abstract…………………………… II

List of Figures…………………….. III

List of Tables………………………. IV

List of Abbreviations………………. V
ACKNOWLEDGEMENT

We take this opportunity to thank all the individuals for their guidance, help and timely support
which made us to complete the project in stipulated time. It gives us agreat pleasure and immense

satisfaction to present this project report on “Python Programming And Android

Application Development” which is the result of unwavering support, guidance and focused
direction of our guide Prof. Bandenawaz Bagwan whom I express our deep sense of gratitude and
humble thanks, for his valuable guidance throughout the project work.
The success of this project has throughout depended upon an exact blend of hard work and
unending co-operation and guidance, extended to us by the superiors at our college.
Furthermore, we are indebted to Prof. P.S.Bhandhare, H.O.D, Computer Engineering and
Dr.N.D.Misal Principal whose constant encouragement and motivation inspired us to do our best.
Lastly, we offer my regard for all those, in particular our parents, who supported us in every
respect during this project

Diksha Laxman Yankikar


ABSTRACT

The Company :
TechnoWings is a complete IT Solutions & IT enabled Services Company for offering services like
Software Development & Consulting, IT Infrastructure Services, IT Training & Services, Manpower
recruitment & Outsourcing Consultancy Services are some of the major working area of our company.
TechnoWings has evolved as an organization by continuously adding value to the businesses of our clients
by innovative use of Training & Technology. Today, our operations have taken a flying shape to serve the
industry verticals such as Educational Industry (Institutions, Schools & Colleges), Retail Industry,
Manufacturing Industry, Healthcare Industry, and Financial Services & Government Sectors with a business
solution.

• Programmers and opportunities:


INPLANT TRAINING IN TechnoWings - WHY ITS IMPORTANT?

The term, Inplant Training in TechnoWings -> Inplant training is really important to gain knowledge of
real time technologies and to get job. TechnoWings Inplant Training focus towards latest job oriented
technologies and improve interview related aspects. The breadth of Engineering may be best understood
in terms of the general areas of software systems, hardware, theory and applications. Now a days it has
been significant improvement in the usability and efficiency of computing technology.

• Methodology:
This project is to provide classifieds information. The GUI will provide different kinds of
facilities to the user related Online Examination System. Each user will be given 10 question . After
Completing the Quize user will get output of or Result in the percentage on correct answers.

• Benefits to the company / institution through your report:


The Institute combines pioneering research with top class education. An innovative curriculum
allows the student flexibility in selecting courses and projects. Students, even at the undergraduate level,
get to participate in on-going research and technology development - an opportunity unprecedented in
India.
WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES

E
DATE DAY NAME OF THE
E

TOPIC/MODULE
t

s
W

COMPLETED
1

14/06/23
Wednesday Basic Of Python ,Python Introduction

15/06/23 Thursday
Installation Of Python

16/06/23 Friday
Identifiers and Keywords in Python

17/06/23 Saturday
Indention ,Comments

Monday
19/06/23 Variables,Python Environment setup

20/06/23 Tuesday , Operators in Python


K

E
DATE DAY NAME OF
E

THETOPIC/MODULE
d
W

COMPLETED
n

21/06/23 Wednesday
Datatypes In Python,Syntax

22/06//23 Thursday
Conditinal Statements,And Loops In Python

23/06/23 Friday Practical Assignments.

24/06/23 Saturday
Control Flow Statements In Python

26/06/23 Monday
Numbers And Methods of Math

27/06/23 Tuesday
Strings, List and Tupels
DATE DAY NAME OF
THETOPIC/MODULE
COMPLETED
28/06/23 Wednesday Python Built in Function, User defined
function:calling ,arguments & parameter
passing
28/06/23 Thursday Global and local variables
modules :Importing module

30/06/23 Friday Python Packages ,Namespace, Creating


classes and
objects

01/07/23 Saturday Data hiding and data abstraction,


Inheritance ,types of
inheritance

03/07/23 Monday Exception handling introduction, Exception


handling
using try : and except:

04/07/23 Tuesday Files Input/Output in Python , Files and


their Methods
NAME OF THE
K

E
DATE DAY
E

TOPIC/MODULE
W

h
COMPLETED
05/07/ Final Lecture and Project Presentation
23 Wednes
day
06/07/ Introduction to android.
23 Thursda
y

07/07/ Fr Installing Android Studio and its Information


23 id
ay
08/07/ Creating a Sample Project
23 Saturda
y
10/07/ Adding Labels in And Creating xml Files
23 Monda
y
K

E DATE DAY NAME OF THE


TOPIC/MODULE
E

COMPLETED
W

12/07/23 Wednesday Control flow directory structure,Layouts


in Android

Thursday Giving Permissions Like Camera access


13/07/23 StorageAccess

Friday Simple Picture Taking Application.


14/07/23

Simple Message Sending Application.


15/07/23 Saturday

Monday Connecting Mysql database To the Android.


17/07/23

Tuesday Inserting Data to the Database.


18/07/23

E
DATE DAY NAME OF THETOPIC/MODULE COMPLETED
E

19/07/23 Wednesday Updating and Deleting the data in database.


t

20/07/23 Thursday How to store data in database

21/07/23 Friday Store data using firebase

22/07/23 Saturday Validating form data using database

24/07/23 Monday Final lecture. How to create github Account and


19/07/23 Wednesday push the code on github.
Updating and Deleting the data in database.
INDEX

1. Structure Of Industry

2. Introduction to

Organization Types,Services

Number Of Employees

3. Eqipments Used

4. Process Of Development

Planning and Control

Methods

5. Testing

6. Safety Products

7. Maintainance

8. Project In Training

9. Screenshot

10.Conclusion
Learning Objectives/Internship Objectives

 Internships are generally thought of to be reserved for college students looking to


gainexperience in a particular field. However, a wide array of people can benefit from
Training Internships in order to receive real world experience and develop their skills.
 An objective for this position should emphasize the skills you already possess in
the area andyour interest in learning more
 Internships are utilized in a number of different career fields, including
architecture,engineering, healthcare, economics, advertising and many
more.
 Some internship is used to allow individuals to perform scientific research while others
are specifically designed to allow people to gain first-hand experience working.
 Utilizing internships is a great way to build your resume and develop skills that can be
emphasized in yourresume for future jobs. When you are applying for a Training
Internship, make sure to highlight any special skills or talents that can make you stand
apart from the rest of the applicants so that you have an improved chance of landing the
position.
1. INTRODUCTION

TechnoWings is a complete IT Solutions & IT enabled Services Company for offering services like Software
Development & Consulting, IT Infrastructure Services, IT Training & Services, Manpower recruitment &
Outsourcing Consultancy Services are some of the major working area of our company. TechnoWings has
evolved as an organization by continuously adding value to the businesses of our clients by innovative use of
Training & Technology. Today, our operations have taken a flying shape to serve the industry verticals such
as Educational Industry (Institutions, Schools & Colleges), Retail Industry, Manufacturing Industry,
Healthcare Industry, and Financial Services & Government Sectors with a business solution.

Our Vision
Our Vision is to help the Customers with the latest Technologies & Training so become the preferred choice
to be the business Partner

Our Mission
Our Mission is to “Help the Customers to Build the Business”.
Chapter 2

Introduction To Organization

TechnoWings is not an entity, it’s a family that represents togetherness for over two decades of a
successful journey. For TechnoWings, the definition of success is to transcend innovative ideas of people to
reality with the help of our tech expertise, this is what we, as a Team, want to be remembered for!
Our vision has led TechnoWings to become a top IT company in Worldwide for delivering various industry-
led mobility solutions. The goal is to empower clients and businesses by creating new possibilities
leveraging the technologies of today and tomorrow with the utmost quality, satisfaction, and transparency.

Our enthusiasm has led us to become a top IT company in Worldwide for delivering various
industry- led mobility solutions in web and mobile application development domains leveraging futuristic
technologies like Internet of Things (IOT), AI-ML, AR-VR, Voice assistants and Voice Skills, DevOps &
Cloud computing, etc.We feel empowered with our certified tech experts and our R&D team who have
always challenged themselves to help global clientele with a plethora of IT services and solutions.
Engagement with our team guarantees our clients to save huge money on project development with faster
delivery.
Chapter 3

Equipment’s Used

 Traditional Methodologies

o The Waterfall Model

o The Critical Path Method

o The Critical Chain Method

 Agile Methodologies

o Agile Project Management

o The Scrum Framework

o Kanban

o Extreme Programming

o Adaptive Project Framework

 Change Management Methodologies

o Event Chain Methodology

o Extreme Project Management

 Other Methodologies

o Rational Unified Process

o Program Evaluation & Review Technique

o The PMBOK Method

 Project Management Tools


.Recruitment life cycle diagram:
Chapter 4

Process Of

Development

The Waterfall Model


The Waterfall approach suggests a sequential approach to managing projects. After stakeholders and
customers agree on and document project requirements, it’s executed in a step-by-step manner until it’s
finished. After that, the customer reviews the project to make sure that it meets the requirements. Some
projects require a post-production maintenance stage, e.g., software projects, where the customer reports
bugs and requests new features to ensure lasting project performance and success.

The most commonly preferred tool for the Waterfall model is the Gantt chart which visualizes subtasks,
dependencies and project phases as it goes through the project life cycle.

Best for: short and simple projects with clear guidelines that require a strict work structure to ensure project
success.

 Requirement Gathering and analysis − All possible requirements of the system to be developed
are captured in this phase and documented in a requirement specification document.
 System Design − The requirement specifications from first phase are studied in this phase and the
system design is prepared. This system design helps in specifying hardware and system requirements
and helps in defining the overall system architecture.
 Implementation − With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and tested for its
functionality, which is referred to as Unit Testing.
 Integration and Testing − All the units developed in the implementation phase are integrated into a
system after testing of each unit. Post integration the entire system is tested for any faults and failures.

 Deployment of system − Once the functional and non-functional testing is done; the product is
deployed in the customer environment or released into the market.
 Maintenance − There are some issues which come up in the client environment. To fix those issues,
patches are released. Also to enhance the product some better versions are released. Maintenance is
done to deliver these changes in the customer environment.
Chapter 5

Testing

There are different methods that can be used for software testing. This chapter briefly describes the methods
available.

Black-Box Testing
The technique of testing without having any knowledge of the interior workings of the application is called
black-box testing. The tester is oblivious to the system architecture and does not have access to the source
code. Typically, while performing a black-box test, a tester will interact with the system's user interface by
providing inputs and examining outputs without knowing how and where the inputs are worked upon.
The following table lists the advantages and disadvantages of black-box testing.

Advantages Disadvantages

Well suited and efficient for large code segments. Limited coverage, since only a selected
number of test scenarios is actually
performed.
Code access is not required. Inefficient testing, due to the fact that the
tester only has limited knowledge about an
application.

Clearly separates user's perspective from the Blind coverage, since the tester cannot
developer's perspective through visibly defined target specific code segments or errorprone
roles. areas.
Large numbers of moderately skilled testers can test The test cases are difficult to design.
the application with no knowledge of implementation,
programming language, or operating systems.

White-Box Testing
White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing
is also called glass testing or open-box testing. In order to perform white-box testing on an application, a
tester needs to know the internal workings of the code.
The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving
inappropriately.
The following table lists the advantages and disadvantages of white-box testing.

Advantages Disadvantages

As the tester has knowledge of the source code, it Due to the fact that a skilled tester is needed
becomes very easy to find out which type of data to perform white-box testing, the costs are
can help in testing the application effectively. increased.

It helps in optimizing the code. Sometimes it is impossible to look into every


nook and corner to find out hidden errors that
may create problems, as many paths will
go untested.

Extra lines of code can be removed which can bring It is difficult to maintain white-box testing, as
in hidden defects. it requires specialized tools like code analyzers
and debugging tools.

Due to the tester's knowledge about the code,


maximum coverage is attained during test
scenario writing.

Black-Box Testing White-Box Testing

The internal workings of an application need not Tester has full knowledge of the
be known. internal workings of the application.

Also known as closed-box testing, data-driven Also known as clear-box testing,


testing, or functional testing. structural testing, or code-based testing.

Performed by end-users and also by testers Normally done by testers and developers.
and developers.

Testing is based on external expectations - Internal Internal workings are fully known and
behavior of the application is unknown. the tester can design test data
accordingly.
It is exhaustive and the least time-consuming. The most exhaustive and time-consuming
type of testing.

Not suited for algorithm testing. Suited for algorithm testing.

This can only be done by trial-and-error method. Data domains and internal boundaries can
be better tested.
Chapter 6

Safety Products

SAFETY CASE ARCHITECTURES AND NEGATIVE REQUIREMENTS

The previous section describes how software to software techniques can be used in conjunction with
software to system techniques in order to identify unwanted software behaviour. However, it is sometimes
the case that the software is not amenable to sufficiently rigorous examination that would allow us to claim
that all unwanted behaviours have been identified [7]. Safety arguments, therefore, have typically considered
the absence of specified behaviours only. For example, software FMEA [10] can demonstrate that certain
defined software failures do not contribute unacceptably to system safety. However, such safety arguments
do not always justify the omission of other software failures from the analysis, and as a result can sometimes
be judged insufficiently complete. The concept of well-behavedness [3] enables us to address this
incompleteness problem. Well-behavedness of software in a SoS refers to the general integrity [5] of that
software’s behaviours: in essence, well-behavedness is a requirement that certain categories of undesirable
behaviour should not occur. Examples of well-behavedness requirements include those relating to non-
interference between components, the absence of unintended communications between components, absence
of data corruption across communication paths, and absence of resource starvation. A single well-
behavedness requirement can therefore be seen as an abstraction away from specific undesirable behaviours
to describe an entire class of unwanted behaviour. For example, instead of arguing about the absence of all
possible behaviours resulting from corruption of some specified communication data between two specified
components, we can simply argue the well-behavedness property that the components and methods
responsible for communication within a SoS do not corrupt (any) data.
Chapter 7

Software Maintainance

What is Software Maintenance?

Software maintenance is the process of changing, modifying, and updating software to keep up with
customer needs. Software maintenance is done after the product has launched for several reasons including
improving the software overall, correcting issues or bugs, to boost performance, and more.
Software maintenance is a natural part of SDLC (software development life cycle). Software developers
don’t have the luxury of launching a product and letting it run, they constantly need to be on the lookout to
both correct and improve their software to remain competitive and relevant.

Using the right software maintenance techniques and strategies is a critical part of keeping any software
running for a long period of time and keeping customers and users happy.

Why is software maintenance important?

Creating a new piece of software and launching it into the world is an exciting step for any company. A lot
goes into creating your software and its launch including the actual building and coding, licensing models,
marketing, and more. However, any great piece of software must be able to adapt to the times.

This means monitoring and maintaining properly. As technology is changing at the speed of light, software
must keep up with the market changes and demands.

What are the 4 types of software maintenance?

The four different types of software maintenance are each performed for different reasons and purposes. A
given piece of software may have to undergo one, two, or all types of maintenance throughout its lifespan.

The four types are:


Corrective Software Maintenance
Preventative Software Maintenance
Perfective Software Maintenance
Adaptive Software Maintenance
Corrective Software Maintenance

Corrective software maintenance is the typical, classic form of maintenance (for software and anything else
for that matter). Corrective software maintenance is necessary when something goes wrong in a piece of
software including faults and errors. These can have a widespread impact on the functionality of the
software in general and therefore must be addressed as quickly as possible.

Many times, software vendors can address issues that require corrective maintenance due to bug reports that
users send in. If a company can recognize and take care of faults before users discover them, this is an added
advantage that will make your company seem more reputable and reliable (no one likes an error message
after all).
Preventative Software Maintenance

Preventative software maintenance is looking into the future so that your software can keep working as
desired for as long as possible.

This includes making necessary changes, upgrades, adaptations and more. Preventative software
maintenance may address small issues which at the given time may lack significance but may turn into
larger problems in the future. These are called latent faults which need to be detected and corrected to make
sure that they won’t turn into effective faults.

Perfective Software Maintenance

As with any product on the market, once the software is released to the public, new issues and ideas come to
the surface. Users may see the need for new features or requirements that they would like to see in the
software to make it the best tool available for their needs. This is when perfective software maintenance
comes into play.

Perfective software maintenance aims to adjust software by adding new features as necessary and removing
features that are irrelevant or not effective in the given software. This process keeps software relevant as the
market, and user needs, change.

Adaptive Software Maintenance

Adaptive software maintenance has to do with the changing technologies as well as policies and rules
regarding your software. These include operating system changes, cloud storage, hardware, etc. When these
changes are performed, your software must adapt in order to properly meet new requirements and continue
to run well.

1.1 MODULES:
1.Group Information
2.Qustion Pages
3. Submitting Test
4. Result
Chapter 8

Project In Trainning
Frontend

1.We will create data.Students for storing the data.

The data for the Students is defined in data.Students with student data which are name/ Email-address ,
password and Confirm password. We have defined sample data for the student as shown below :
In order to create the Tution Application, we will need some data. We can define this data in a Students
file, called data.Student, with student data which are name/Email-address,password and Confirm
password.

Python

global p
class canteen:
def Canteen_Details():
for k in range(3):
print("\n ***** ********** Welcome in Sarthak Canteen ********* *****")
print("\n 1] View Details of Canteen")
print("\n 2] New Account Opening in
Canteen") print("")
p =int(input("Enter Choice:-"))
if p==1:
print("Name Of The Canteen Is Sarthak \n")
print("The Sarthak Canteen Serving Indian Food \n")
print("Canteen Accept the Special Orders \n")
print("Canteen Stroes the Different Type of Drink \
n")
print("Canteen take Less charge per item rather than other Canteen \
n") elif p == 2 :
print("\n ......Account Opening.....")
ch = int(input("\n 1. Account for Student \n 2. Account for Staff \n"
)) if ch == 1:
n=input("Enter the Name of Student:-")
#print("\n Name of Account Holder:-",n)
s=int(input("Enter the Password:-"))
#print("\n Password of Account
Holder:-",s) print(".....Account Create
Successfully...............................................")

d={"Name of Student":n,
"Password of
Student":s
}
print(d)
else :
m=str(input("Enter the Name of Staff:-"))
#print("\n Name of Account Holder:-",m)
t=int(input("Enter the Password:-")) #print("\
n Password of Account Holder:-",t)
print("......Account Create Successfully......")
print("\n Password:-",t)

x={"Name of Staff":m,
"Password for Staff":t
}
print(x)

elif p==3:
break

def Canteen_Ticket():
b=" "
while(b!=0):
print("")
print("\n Canteen Card Price is 15 $")
print("\n Enter 1 for Book Canteen
Ticket") print("\n Enter 0 for Espace")
print("")
b=int(input("Enter choice:-"))
if b == 1:
print("Canteen charge is 30 $ per
Hours") def Menu_Card():
d=""
while (d!=0):
print("")
list1='''
[*]Food Items Price
1]Panir Tikka 10 $
2]Pani Puri 15 $
3]Pizza 20 $
4]Maggi 10 $
[*]Drinks Price
11]Water Bottle 10 $
12]Mango Juice 20 $
13]Apple juice 15 $

[*]Enter 0 for Espace

'''
print(list1)
d=int(input("Choose:-"))
if d == 1 and 2 and 3 and 4:
print("Thanks For a Order")
print("Anymore")
elif d == 11 and 12 and 13:
print("Thanks For a Order")
print("Anymore")
for k in range(4):
message='''
***** ********** Welcome in Sarthak Canteen ********* *****
1] Canteen_Details
2] Canteen_Ticket
3] View Menu_card
4] Exit

'''

print(message)
p=int(input("Choice:-"))
if p == 1:
Canteen_Details()
elif p == 2:
Canteen_Ticket()
elif p == 3:
Menu_Card()
elif p == 4:
exit()

obj=canteen()
obj.Canteen_Details()
obj.Canteen_Ticket()
obj.Menu_Card()
Android Code

Activity_Main.xml Welcome Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center">

<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome..."
android:textStyle="bold"
android:layout_marginTop="50dp"
android:textSize="50dp"
/>

<Button
android:id="@+id/button"
android:layout_width="264dp"
android:layout_height="72dp"
android:text="Open"
android:textStyle="bold"
android:textSize="30dp"
android:layout_marginTop="30dp"
/>

</LinearLayout>
//Activity_Main.Java

package com.example.androidtutionapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends

AppCompatActivity{TextView tv;
Button btn;

@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.textview);
btn = findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, eightactivity.class);
i.putExtra("Name", tv.getText().toString());
startActivity(i);
}

});
}
}
// Register Login Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".eightactivity"
android:orientation="vertical"
android:gravity="center">

<TextView
android:id="@+id/textView"
android:layout_width="384dp"
android:layout_height="77dp"
android:layout_margin="30dp"
android:text="Register Login"
android:textAlignment="center"
android:textColor="#C82020"
android:textSize="30dp"
android:textStyle="bold" />

<EditText
android:id="@+id/editTextName"
android:layout_width="344dp"
android:layout_height="69dp"
android:layout_marginTop="30dp"
android:ems="10"
android:inputType="text"
android:hint="Enter Student Name"
android:textStyle="bold"/>

<EditText
android:id="@+id/editTextEmail"
android:layout_width="344dp"
android:layout_height="69dp"
android:layout_marginTop="40dp"
android:ems="10"
android:hint="Email_id"
android:textStyle="bold"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/editTextPassword"
android:layout_width="344dp"
android:layout_height="69dp"
android:layout_marginTop="40dp"
android:ems="10"
android:hint="Password"
android:textStyle="bold"
android:inputType="textPassword" />

<EditText
android:id="@+id/editTextPass"
android:layout_width="344dp"
android:layout_height="69dp"
android:layout_marginTop="40dp"
android:ems="10"
android:hint="Confirm Password"
android:textStyle="bold"
android:inputType="textPassword" />

<Button
android:id="@+id/buttonReg"
android:layout_width="238dp"
android:layout_height="wrap_content"
android:text="Register"
android:textSize="30dp"
android:layout_marginTop="50dp"/>

</LinearLayout>

// Java File

package com.example.androidtutionapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.jar.Attributes;

public class eightactivity extends AppCompatActivity

{TextView tvres;
EditText edtname,edtemail,edtpassword,edtconfirm;
Button btnreg;

DBHelper DB;

@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.eightactivity);
tvres = findViewById(R.id.textView);
edtname = findViewById(R.id.editTextName);
edtemail = findViewById(R.id.editTextEmail);
edtpassword = findViewById(R.id.editTextPassword);

btnreg = findViewById(R.id.buttonReg);
edtconfirm=findViewById(R.id.editTextPass);

DB = new DBHelper(this);

btnreg.setOnClickListener(new View.OnClickListener()
{@Override
public void onClick(View view) {

String user = edtname.getText().toString();


String emil = edtemail.getText().toString();
String pass = edtpassword.getText().toString();
String cpass=edtconfirm.getText().toString();

if (user.equals("")|| emil.equals("")||pass.equals(""))
Toast.makeText(eightactivity.this, "Please Enter All Feilds",
Toast.LENGTH_SHORT).show();

else {
if (pass.equals(cpass)) {
Boolean checkname = DB.checknameuser(user);
if (checkname == false) {
Boolean insert = DB.insertData(user, emil,pass,cpass);
if (insert = true) {
Toast.makeText(eightactivity.this, "Registered Susseccfully",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext().
loginactivity.class);
startActivity(intent);
} else {
Toast.makeText(eightactivity.this, "Registration Failed",
Toast.LENGTH_SHORT).show();

}
}
else {
Toast.makeText(eightactivity.this, "User Already Exists Please
Signin", Toast.LENGTH_SHORT).show();
}

} else {
Toast.makeText(eightactivity.this, "Password Not Maching ",
Toast.LENGTH_SHORT).show();
}
}

}
});
}
}
// Login Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".loginactivity"
android:orientation="vertical"
android:layout_gravity="center">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Wel-Come"
android:textSize="30sp"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Student Login"
android:textSize="48sp"
android:textStyle="bold"
android:textColor="@android:color/holo_purple"
android:layout_marginLeft="50sp"
android:layout_marginTop="30dp"
/>
<EditText
android:id="@+id/editTextemail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:textSize="20sp"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginTop="40dp"
android:hint="@string/email_id"
/>

<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:inputType="textPassword"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginTop="40dp"
android:hint="Password"
tools:ignore="HardcodedText" />

<LinearLayout
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="20dp"
android:layout_marginRight="40dp"
android:orientation="vertical">

<Button
android:id="@+id/buttonsubmit"
android:layout_width="184dp"
android:layout_height="61dp"
android:layout_marginLeft="40dp"
android:layout_marginTop="40dp"
android:layout_marginRight="40dp"
android:layout_weight="1"
android:text="Submit"
android:textSize="20sp"
android:textStyle="bold" />

<Button
android:id="@+id/buttoncancel"
android:layout_width="191dp"
android:layout_height="63dp"
android:layout_marginLeft="40dp"
android:layout_marginTop="20dp"

android:layout_marginRight="40dp"
android:layout_weight="1"
android:text="Cancel"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>

//Java File

package com.example.androidtutionapp;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

import java.util.jar.Attributes;

public class loginactivity extends AppCompatActivity {


//TextView tvRes,
Tv; EditText ed1, ed2;
LinearLayout Ly;
DBHelper DB;
Button btnsub, btnCancel;

@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.loginactivity);
//tvRes = findViewById(R.id.textView);
//Tv = findViewById(R.id.textView1);
ed1 = findViewById(R.id.editTextemail);
ed2 = findViewById(R.id.editTextPassword);
btnsub = findViewById(R.id.buttonsubmit);
btnCancel = findViewById(R.id.buttoncancel);
String user = ed1.getText().toString().trim();
String password =
ed2.getText().toString().trim();

DB = new DBHelper(this);

btnsub.setOnClickListener(new View.OnClickListener()
{@Override
public void onClick(View v) {
String email = ed1.getText().toString();
String pass = ed2.getText().toString();

if (email.equals("") || pass.equals(""))
Toast.makeText(loginactivity.this, "Please Enter All the feilds",
Toast.LENGTH_SHORT).show();
else {
Boolean checkemailpass = DB.checkemailpass(email,pass);
if (checkemailpass ==true) {
Toast.makeText(loginactivity.this, "Login Successfully",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(loginactivity.this, FourthActivity.class);
startActivity(intent);

} else {
Toast.makeText(loginactivity.this, "Invalid credentials",
Toast.LENGTH_SHORT).show();
}
}

}
});
btnCancel.setOnClickListener(new View.OnClickListener()
{@Override

public void onClick(View v)


{ed1.setText(null);
ed2.setText(null);

}
});
}
}
// Subject Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FourthActivity"
android:orientation="vertical"
android:gravity="center"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Choose Subject.."
android:textSize="30dp"
android:textStyle="bold"
android:textColor="#E41212"
/>
<RadioGroup
android:layout_width="333dp"
android:layout_height="85dp"
android:layout_marginTop="30dp">
<RadioButton
android:id="@+id/radioButtonAJ"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="AdvanceJava"
android:textSize="20sp"
android:textStyle="bold"/>
<RadioButton
android:id="@+id/radioButtonA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Android"
android:textSize="20sp"
android:textStyle="bold"/>
</RadioGroup>

<Button
android:id="@+id/buttonS"
android:layout_width="267dp"
android:layout_height="wrap_content"
android:layout_marginTop="30sp"
android:text="ButtonSubmit" />

<TextView
android:id="@+id/textViewRes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result"
android:textSize="30sp"
android:textStyle="bold"
android:textAlignment="center"
android:layout_marginTop="30sp"/>
</LinearLayout>

// Java file

package com.example.androidtutionapp;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;

public class FourthActivity extends AppCompatActivity

{RadioButton rbAJ,rbA;
TextView tvres;
Button btnSubmit;

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

initializer();
eventHandler();

}
public void initializer(){

rbAJ=findViewById(R.id.radioButtonAJ);
rbA=findViewById(R.id.radioButtonA);
tvres=findViewById(R.id.textViewRes);
btnSubmit=findViewById(R.id.buttonS);
}
public void eventHandler(){

btnSubmit.setOnClickListener(view ->

{if (rbAJ.isChecked()) {
tvres.setText("Advance Java");

} else if (rbA.isChecked())
{tvres.setText("Android");
}
Intent ii=new Intent(FourthActivity.this,Fifth_Activity.class);
ii.putExtra("sub",tvres.getText().toString());
startActivity(ii);

});
}
}
// Open Link Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Fifth_Activity"
android:gravity="center"
android:orientation="vertical"
>

<TextView
android:id="@+id/textViewview"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:textStyle="bold"
android:textAlignment="center"
android:text="TextView" />

<Button
android:id="@+id/button3"
android:layout_width="300dp"
android:layout_marginTop="40dp"
android:textSize="30dp"
android:textStyle="bold"
android:layout_height="wrap_content"
android:text="Open Link" />
</LinearLayout>

// Java File

package com.example.androidtutionapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Fifth_Activity extends AppCompatActivity


{Button btn;
TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fifth);
tv=findViewById(R.id.textViewview);
btn=findViewById(R.id.button3);

tv.setText(getIntent().getExtras().getString("sub"));

if (tv.equals("Android Java")) {
tv.setText(getIntent().getExtras().getString("sub"));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent iii = new Intent(Fifth_Activity.this, sixthActivity.class);
startActivity(iii);
}
});
} else {
tv.setText(getIntent().getExtras().getString("sub"));

btn.setOnClickListener(new View.OnClickListener()
{@Override
public void onClick(View v) {
Intent iii = new Intent(Fifth_Activity.this, SevenActivity.class);
startActivity(iii);
}
});
}
}
}

// Link Page

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".sixthActivity"
android:gravity="center"
android:orientation="vertical">

<TextView
android:id="@+id/textViewadvancejava"
android:layout_width="350dp"
android:layout_height="50dp"
android:textAlignment="center"
android:text="@string/linktosite"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="20dp"/>
</LinearLayout>

// Java File

package com.example.androidtutionapp;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.widget.TextView;

public class sixthActivity extends AppCompatActivity


{TextView t;

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sixth);
t=findViewById(R.id.textViewadvancejava);
t.setMovementMethod(LinkMovementMethod.getInstance());
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{ getMenuInflater().inflate(R.menu.menu_sixth,menu)
;return true;
}

}
// Android Studio Xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SevenActivity"
android:gravity="center"
android:orientation="vertical">

<TextView
android:id="@+id/textViewandroid"
android:layout_width="350dp"
android:layout_height="50dp"
android:textAlignment="center"
android:text="@string/linktosite"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="20dp"
/>
</LinearLayout>

//Java File

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.widget.TextView;

public class SevenActivity extends AppCompatActivity


{TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_seven);
tv=findViewById(R.id.textViewandroid);
tv.setMovementMethod(LinkMovementMethod.getInstance());
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{ getMenuInflater().inflate(R.menu.menu_seven,menu)
;return true;

}
}

// AndroidManifest xmlFile

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" >
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AndroidTutionApp"
tools:targetApi="31" >
<activity
android:name=".HomeActivity"
android:exported="false" />
<activity
android:name=".eightactivity"
android:exported="false" />
<activity
android:name=".SevenActivity"
android:exported="false" />
<activity
android:name=".sixthActivity"
android:exported="false" />
<activity
android:name=".Fifth_Activity"
android:exported="false" />
<activity
android:name=".FourthActivity"
android:exported="false" />
<activity
android:name=".loginactivity"
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
</application>
</manifest>

//XML File

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


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HomeActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

// Java File

package com.example.androidtutionapp;
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle;
public class HomeActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
// DBHelper.java

package com.example.androidtutionapp;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

public static final String DBNAME = "login.db";

public DBHelper(Context context) {


super(context, "login.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase MyDB) {
MyDB.execSQL("create Table login(name TEXT primary key,email String ,pass TEXT,cpass

TEXT) ");

}
@Override
public void onUpgrade(SQLiteDatabase MyDB, int i, int i1)
{MyDB.execSQL("drop table if exists login");

}
public Boolean insertData(String name, String email,String pass,String cpass)
{SQLiteDatabase MyDB = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name", name);

contentValues.put("email", email);
contentValues.put("pass",pass);
contentValues.put("cpass",cpass);

long result = MyDB.insert("login", null, contentValues);


if (result == -1) return false;
else

return true;

}
public Boolean checknameuser(String name)
{ SQLiteDatabase MyDB =
this.getWritableDatabase();
Cursor cursor = MyDB.rawQuery("Select * from login where name = ?", new String[]
{name});

if (cursor.getCount() > 0)
return true;
else
return false;
}
public Boolean checkemailpass( String email,String pass )
{SQLiteDatabase MyDB = this.getWritableDatabase();
Cursor cursor = MyDB.rawQuery("Select * from login where email = ? and pass = ? ", new
String[]{email,pass});
if (cursor.getCount() > 0)
return true;
else
return false;
}
Chapter 9
Screenshot
Weblinks:

1) https://www.freeprojectz.com/project-source-code-database-download/canteen-management-system-project
2) https://www.otootuitions.com/
3) https://www.javatpoint.com/android-tutorial
Chapter 10

Conclusion

To assist students in understanding and learning subject material from the course. To help students achieve
their personal academic goals by preparing them for upcoming class material. To help students become
independent learners. To deploy the exact solution for your users, giving them the right entry path is
mandatory. Once you successfully put them on the right path, your users won’t have any difficulty using the
application. Smart search is one of the options that app owners should include in their applications. Through
smart search, the user can get to the place where they want to be.

You might also like