Report
Report
BELAGAVI – 590018
S.J.P.N Trust’s
HIRASUGAR INSTITUTE OF TECHNOLOGY, NIDASOSHI-591236
Inculcating Values, Promoting Prosperity
Approved by AICTE, Recognized by Govt. of Karnataka, Affiliated to VTU Belagavi.
Recognized under 2(f) &12B of UGC Act, 1956
Accredited at “A” Grade by NAAC
Programmes Accredited by NBA: CSE & ECE
Academic Year 2023-2024
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
BELAGAVI – 590018
It is our pleasure to acknowledge the help we have received from individuals and the institute.
We would like to thank our Principal Dr. S. C. Kamate in particular for excellent facilities
provided.
We are very thankful and highly obliged to our beloved H.O.D Dr. K. B. Manwade for his
encouragement and insightful comments at virtually all stages of my mini-project.
We also wish to express our warm and grateful thanks to our respected guide Prof . Prasanna
Patil for giving us the advice and valuable guidance.
We also thank all Professors and Staff of CSE department for their constant encouragement.
i
ABSTRACT
ii
INDEX
Acknowledgement i
Abstract ii
1. Introduction 1-4
4. Code 08-24
5. Screenshots 15-21
Conclusion 22
References 23
Sparrow Campus 2023-24
INTRODUCTION
CHAPTER 1
For developing your first app, you need to download Android Studio for your preferred
platform (Windows®, MacOS, or Linux)from the Android developers site. Android Studio can
develop and test your application on either areal device or an emulator.
1.2 Structure
Each project in Android Studio contains one or more module switch source code files and
resource files. Types of modules include:
• Library modules
By default, Android Studio displays your project files in the Android project view, as shown
infigure1.This view is organized by modules to provide quick access to your project's key
source files.
All the build files are visible at the top level under Gradle Scripts and each app module contains
the following folders:
• manifests: Contains theAndroidManifest.xml file.
• java: Contains the Java source code files, including J Unit test code.
• res: Contains all non-code resources, such as XML layouts, UI strings, and
bitmap images.
The Android project structure on disk differs from this flattened presentation. To see the actual
file structure of the project, select Project from the Project dropdown.
You can also customize the view of the project files to focus on specific aspects of your app
development. For example, selecting the Problems view of your project displays links to the
source files containing any recognized coding and syntax errors, such as a missing XML
element closing tag in layout file.
1.3 Installation
Solet's launch AndroidStudio.exe, Make sure before launch Android Studio, Our Machine
should require installed Java JDK .
Once you launched Android Studio, it’s time to mention JDK7 path or later version in android
studio installer.
Need to check the components, which are required to create applications, below the image
has selected Android Studio, Android SDK, Android Virtual Machine and performance (Intel
chip).
Need to specify the location of local machine path for Android studio and Android SDK, below
the image has taken default location ofwindows8.1 x64 bit architecture.
This work deals with the development of android-based application that provides the
details of the given college like its faculty’s details, time table of students based on their
semester, circular’s on daily bases, to show that whether the faculty is present or not.
CHAPTER 2
SOFTWARE REQUIREMENT SPECIFICATION
➢ Android Studio
➢ RAM: 4 GB or Higher
➢ Monitor: Color
CHAPTER 3
DESIGN IMPLEMENTATION
Here by using bottom bar you can shift between pages and can add time table by clicking on time table
botton
➢ Update:
By can even update your phone number ,email and time table based on your need.
➢ Surroundings:
By clicking on map option you will get a map based on college surroundings that will display buildings
surrounding near the college.
➢ Details:
By clicking on faculty botton you can get the information regarding each faculty.
CHAPTER 4
CODE
MainActivity.java
package com.example.sparrowcampus;
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.TextView;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
TextInputLayout textInputLayout1,textInputLayout2,textInputLayout3,textInputLayout4;
LinearLayout linearLayout;
float v=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_register);
sign_in=findViewById(R.id.sign_in);
name=findViewById(R.id.fullName);
phone=findViewById(R.id.phone);
password=findViewById(R.id.password);
confPassword=findViewById(R.id.confPassword);
sign_up=findViewById(R.id.register);
textView1=findViewById(R.id.textView1);
textView2=findViewById(R.id.textView2);
textInputLayout1=findViewById(R.id.textInputLayout1);
textInputLayout2=findViewById(R.id.textInputLayout2);
textInputLayout3=findViewById(R.id.textInputLayout3);
textInputLayout4=findViewById(R.id.textInputLayout4);
linearLayout=findViewById(R.id.linearLayout);
sign_in.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(Register.this, Login.class);
startActivity(intent);
finish();
}
});
textView1.setTranslationX(-300);
textView2.setTranslationX(-300);
textInputLayout1.setTranslationY(300);
textInputLayout2.setTranslationY(300);
textInputLayout3.setTranslationY(300);
textInputLayout4.setTranslationY(300);
linearLayout.setTranslationY(300);
sign_up.setTranslationY(300);
textView1.setAlpha(v);
textView2.setAlpha(v);
textInputLayout1.setAlpha(v);
textInputLayout2.setAlpha(v);
textInputLayout3.setAlpha(v);
textInputLayout4.setAlpha(v);
linearLayout.setAlpha(v);
sign_up.setAlpha(v);;
textView1.animate().translationX(0).alpha(1).setDuration(1000).setStartDelay(200);
textView2.animate().translationX(0).alpha(1).setDuration(1000).setStartDelay(200);
textInputLayout1.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(300);
textInputLayout2.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(400);
textInputLayout3.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(500);
textInputLayout4.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(500);
sign_up.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(600);
linearLayout.animate().translationY(0).alpha(1).setDuration(1000).setStartDelay(600);
sign_up.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String fullName=name.getText().toString();
String confPasswordText=confPassword.getText().toString();
if(fullName.isEmpty())
Toast.makeText(Register.this, "Please Enter Your Name!",
Toast.LENGTH_SHORT).show();
else if(phoneNum.isEmpty())
Toast.makeText(Register.this, "Please Enter Your Email!",
Toast.LENGTH_SHORT).show();
else if(passwordText.isEmpty())
Toast.makeText(Register.this, "Please Enter Your Password!",
Toast.LENGTH_SHORT).show();
else if(confPasswordText.isEmpty())
Toast.makeText(Register.this, "Please Confirm Your Password!",
Toast.LENGTH_SHORT).show();
else if(!passwordText.equals(confPasswordText))
Toast.makeText(Register.this, "Passwords doesn't match!",
Toast.LENGTH_SHORT).show();
else{
reference.child("users").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if(snapshot.hasChild(phoneNum))
Toast.makeText(Register.this, "User from this number is already registered!",
Toast.LENGTH_SHORT).show();
else {
reference.child("users").child(phoneNum).child("fullName").setValue(fullName);
reference.child("users").child(phoneNum).child("password").setValue(passwordText);
Toast.makeText(Register.this,"RegisteredSuccessfully!",Toast.LENGTH_SHORT).show();
Intent intent= new Intent(Register.this, Login.class);
startActivity(intent);
finish();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
});
}
}
Home.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".HomeFragment">
<Spinner
android:id="@+id/semesterSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:entries="@array/semester_array" />
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="horizontal"
android:layout_marginTop="13dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/monday"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"
android:padding="16dp"
android:text="Monday"
android:textColor="#455A64"
android:textSize="18sp" />
<TextView
android:id="@+id/tuesday"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:padding="16dp"
android:text="Tuesday"
android:textColor="#616161"
android:textSize="18sp" />
<TextView
android:id="@+id/wednesday"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_orange_light"
android:padding="16dp"
android:text="Wednesday"
android:textColor="#546E7A"
android:textSize="18sp" />
<TextView
android:id="@+id/thursday"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:padding="16dp"
android:background="@android:color/holo_red_light"
android:text="Thursday"
android:textSize="18sp"
android:textColor="@android:color/white" />
<TextView
android:id="@+id/friday"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:padding="16dp"
android:background="@android:color/holo_purple"
android:text="Friday"
android:textSize="18sp"
android:textColor="@android:color/white" />
<TextView
android:id="@+id/saturday"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:padding="16dp"
android:background="@android:color/holo_blue_light"
android:text="Saturday"
android:textSize="18sp"
android:textColor="@android:color/white" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
</FrameLayout>
CHAPTER 5
SCREENSHOTS
19
Department of CSE, HIT Nidasosi
Sparrow Campus 2023-24
Figure 5.7 Faculty details(Administrator) Figure 5.8 Add new Faculty Member
CONCLUSION
College Management Application assists in automating the existing manual system. This is a
paperless work. It can be monitored and controlled remotely. It reduces the man power required. It
provides accurate information always. All gathered information can be saved and can be accessed at
any time. The data which is stored in the repository helps in taking intelligent decisions by the
management. So, it is better to have an Application Based Information Management system. All the
Students, Faculty and Management can get the required information without delay. This system is
essential in the Colleges and Schools Institutions.
REFERENCES
Books:
1. Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition,
Wiley India Pvt Ltd, 2014.
Websites:
1. www.stackoverflow.com
2. https://developer.android.com
3. www.github.com
4. https://developer.android.com