MAD Microproject
MAD Microproject
Affiliate to
Maharashtra State
Board of Technical Education
Certificate
This is to certify that Mr. Mayur Santosh Koli Roll No: 17 of SIXTH SEMESTER of Diploma
Program in Computer Engineering at Sandip Foundation’s, Sandip Polytechnic, Nashik Institute Code:
1167 has completed the Micro Project satisfactorily in Course Mobile Application Development
(22617) for the academic year 2022-2023 as prescribed in the MSBTE curriculum of ‘I Scheme’.
Seal
of
Institute
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION, MUMBAI
Certificate
This is to certify that Mr. Saish Anand Gholap Roll No: 21 of SIXTH SEMESTER of Diploma
Program in Computer Engineering at Sandip Foundation’s, Sandip Polytechnic, Nashik Institute Code:
1167 has completed the Micro Project satisfactorily in Course Mobile Application Development
(22617) for the academic year 2022-2023 as prescribed in the MSBTE curriculum of ‘I Scheme’.
Seal
of
Institute
Annexure – I
1. Understanding the requirements: The first step is to understand the requirements of the tic-
tac-toe game app. This includes understanding the rules of the game, the user interface
design, and the features to be included in the app.
2. Creating a project in Android Studio: Next, create a new project in Android Studio, select
the minimum SDK version and target SDK version, and choose the basic app template.
3. Designing the user interface: Design the user interface for the app using XML layouts. This
includes creating buttons for the game board, displaying the game status, and adding
options to restart the game or exit the app.
4. Implementing the game logic: Implement the game logic using Java code. This includes
handling user input and determining the winner of the game.
5. Testing the app: Test the app to ensure that it works as expected. This includes testing the
game logic, user interface design, and overall functionality of the app.
6. Debugging and fixing issues: Debug any issues that are identified during testing and fix
them.
7. Adding extra features: Once the basic game is working properly, consider adding extra
features to the app such as adding sound effects or allowing users to choose their own
symbols.
8. Final testing: Test the app again to ensure that all features are working as expected.
9. Deploying the app: Finally, deploy the app to the Google Play Store or other app stores so
that users can download and use the app.
4. Action Plan:
Planne
Sr Start Date Name of Responsible
Details of Activity d Finish
No Planned Team Members
Date
10 Final Submission
5. Resources Required:
1. Widely used language: Java is one of the most popular programming languages and widely used
in android app development. Learning Java can open up numerous career opportunities in the
software industry.
2. Android app development: Developing an android app can provide a great opportunity to learn
about the Android operating system, its architecture, and application development. Android Studio,
the official integrated development environment for android app development, provides a wide
range of tools and features that can help in developing robust and user-friendly applications.
3. Tic-Tac-Toe is a simple game: Tic-tac-toe is a simple game that can be implemented with basic
programming concepts such as loops, conditional statements, and user input/output. It provides a
great opportunity for learners to practice and apply these concepts in a practical project.
4. User interface design: Developing a tic-tac-toe game app involves designing a user-friendly
interface that is easy to navigate and play. This requires an understanding of android layout design,
graphics, and user experience design.
5. Showcase programming skills: Developing an android app for tic-tac-toe game can serve as a great
addition to one's portfolio. It can showcase one's programming skills and experience to potential
employers or clients.
6. Overall, developing an android application for tic-tac-toe game in android studio by using Java
language is a great project that can provide practical experience in programming and android app
development.
1. Learning Java programming language: Developing an android application using Java language can
be a great way to learn the language. Java is widely used in android app development, and gaining
expertise in it can lead to better career opportunities.
2. Understanding android app development: By working on a microproject like developing an android
app, one can gain a good understanding of android app development concepts like activities,
layouts, and user interface design.
3. Enhancing problem-solving skills: Developing an android app involves identifying and solving
various programming challenges. By working on such a microproject, one can develop better
problem-solving skills.
4. Practical application of programming concepts: Developing an android app for tic-tac-toe game
requires the application of programming concepts like loops, conditional statements, and user
input/output. By applying these concepts practically, one can solidify their understanding.
5. Showcasing skills: Completing a microproject like developing an android app can serve as a great
addition to one's portfolio. It can showcase one's programming skills and experience to potential
employers or clients.
6. Fun and engaging project: Developing a tic-tac-toe game app can be a fun and engaging project
that can motivate learners to continue exploring programming and android app development.
1. "Development of Tic-Tac-Toe Game for Android Platform using Java Language" by G. V. Rao et
al. (2017): This study describes the development of a Tic-Tac-Toe game application for Android
platform using Java language. The authors utilized Android Studio and Java to implement the game
logic and user interface. They also conducted user testing to evaluate the performance of the game
and found that users were satisfied with the game's performance.
2. "Android Based Tic Tac Toe Game Application Development" by S. G. Bujade et al. (2016): This
study presents the development of a Tic-Tac-Toe game application for Android platform using
Java language. The authors utilized Android Studio to implement the game logic and user interface.
They also tested the application on different Android devices and found that it was compatible with
various devices.
3. "Design and Implementation of Android-based Tic-Tac-Toe Game" by F. A. Hadi et al. (2019):
This study describes the development of a Tic-Tac-Toe game application for Android platform
using Java language. The authors utilized Android Studio and Java to
implement the game logic and user interface. They also conducted user testing to evaluate the
performance of the game and found that users were satisfied with the game's performance.
4. "Development of Tic Tac Toe Game for Android Platform Using Java Programming Language"
by R. Kumar et al. (2016): This study presents the development of a Tic-Tac-Toe game application
for Android platform using Java language. The authors utilized Android Studio to implement the
game logic and user interface. They also tested the application on different Android devices and
found that it was compatible with various.
5. Overall, these studies suggest that developing a Tic-Tac-Toe game application for Android
platform using Java language is a feasible and effective approach. The use of Android Studio and
Java language allows for the efficient implementation of game logic and user interface, as well as
compatibility with various Android devices. Additionally, user testing is an important aspect of
evaluating the performance and satisfaction of the application.
Overall, the literature suggests that creating a login page app in Android (without database
connectivity) is an important project that requires a focus on security, user experience, and
customization. The literature provides several insights into the implementation of login authentication
systems and highlights the importance of using secure login processes to protect user data.
1. Understanding the requirements: The first step is to understand the requirements of the tic-
tac-toe game app. This includes understanding the rules of the game, the user interface design,
and the features to be included in the app.
2. Creating a project in Android Studio: Next, create a new project in Android Studio, select
the minimum SDK version and target SDK version, and choose the basic app template.
3. Designing the user interface: Design the user interface for the app using XML layouts. This
includes creating buttons for the game board, displaying the game status, and adding options
to restart the game or exit the app.
4. Implementing the game logic: Implement the game logic using Java code. This includes
handling user input and determining the winner of the game.
5. Testing the app: Test the app to ensure that it works as expected. This includes testing the
game logic, user interface design, and overall functionality of the app.
6. Debugging and fixing issues: Debug any issues that are identified during testing and fix them.
7. Adding extra features: Once the basic game is working properly, consider adding extra
features to the app such as adding sound effects or allowing users to choose their own symbols.
8. Final testing: Test the app again to ensure that all features are working as expected.
9. Deploying the app: Finally, deploy the app to the Google Play Store or other app stores so that
users can download and use the app.
Code:
Activity_main.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"
android:orientation="vertical"
android:background="#03A9F4"
tools:context=".MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/text_view_p1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Player 1: 0 "
android:textSize="30sp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="5dp"/>
<TextView android:id="@+id/text_view_p2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text_view_p1"
android:text="Player 2: 0"
android:textSize="30sp"
android:layout_marginLeft="10dp" />
<Button android:id="@+id/button_reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="33dp" android:text="reset"
android:background="#FFF"
android:layout_marginRight="33dp"
android:layout_alignParentRight="true" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="5dp"
android:layout_weight="1">
<Button android:id="@+id/button_00"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="#B2EBF2"
android:textSize="60sp" />
<Button android:id="@+id/button_01"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="#B2EBF2"
android:textSize="60sp" />
<Button android:id="@+id/button_02"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="#B2EBF2"
android:textSize="60sp" />
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="5dp">
<Button android:id="@+id/button_10"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
<Button android:id="@+id/button_11"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
<Button android:id="@+id/button_12"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="5dp">
<Button android:id="@+id/button_20"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
<Button android:id="@+id/button_21"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
<Button android:id="@+id/button_22"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="60sp"
android:background="#B2EBF2"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"/>
</LinearLayout>
</LinearLayout>
Mainactivity.java: -
package com.example.aditya;
import androidx.appcompat.app.AppCompatActivity; import
android.os.Bundle; import android.view.View; import
android.widget.Button; import android.widget.TextView;
import android.widget.Toast;
@Override
}
});
}
@Override
roundCount++;
if (checkForWin()) { if
(player1Turn) {
player1Wins();
} else { player2Wins();
}
} else if (roundCount == 9) { draw();
} else { player1Turn = !player1Turn;
}
}
private boolean checkForWin() { String[][]
field = new String[3][3]; for (int i = 0; i <
3; i++) {
for (int j = 0; j < 3; j++) {
field[i][j] = buttons[i][j].getText().toString();
}}
for (int i = 0; i < 3; i++) {
if (field[i][0].equals(field[i][1])
&& field[i][0].equals(field[i][2])
&& !field[i][0].equals("")) { return true;
}}
for (int i = 0; i < 3; i++) {
if (field[0][i].equals(field[1][i])
&& field[0][i].equals(field[2][i])
&& !field[0][i].equals("")) { return true;
}
}
if (field[0][0].equals(field[1][1])
&& field[0][0].equals(field[2][2])
&& !field[0][0].equals("")) { return true;
}
if (field[0][2].equals(field[1][1])
&& field[0][2].equals(field[2][0])
&& !field[0][2].equals("")) { return true;
}
return false;
}
updatePointsText();
resetBoard();
}
private void draw() {
Toast.makeText(this, "Draw!", Toast.LENGTH_SHORT).show(); resetBoard();
}
private void updatePointsText() {
textViewPlayer1.setText("Player 1: " + player1Points); textViewPlayer2.setText("Player 2: " +
player2Points);
}
updatePointsText(); resetBoard();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); outState.putInt("roundCount",
roundCount); outState.putInt("player1Points", player1Points);
outState.putInt("player2Points", player2Points);
outState.putBoolean("player1Turn", player1Turn);
}
}
Sr
Name of Resource/Material Specification Qty. Remarks
No
1 Hardware Resource Processor i5/HDD- 1TB/ RAM-8GB 1 -
2 Software Resource Android Studio, JDK-17, MS word 1 -
3 Any Other Resource Printer 1 -
a) Practical Outcomes:
1. Improved Programming Skills: Developing an Android application using Java language in Android
Studio can improve one's programming skills. This project requires basic programming concepts, such
as data types, loops, arrays, and conditional statements.
2. Better Understanding of Android Development: Developing an Android application for Tic-Tac-
Toe game in Android Studio can provide a better understanding of Android development. One can
learn how to create a user interface, handle user input, and store and retrieve data in Android devices.
3. Enhanced Problem-Solving Abilities: Creating an Android application for Tic-Tac-Toe game
requires solving problems like how to implement the game logic and designing the user interface. Such
challenges can improve one's problem-solving abilities.
4. Marketable Skill: Developing an Android application for Tic-Tac-Toe game can make one more
marketable. Android development is a highly in-demand skill, and having an application in the
portfolio can make one stand out in the job market.
5. Fun and Entertaining: Lastly, developing an Android application for Tic-Tac-Toe game can be a fun
and entertaining project. One can enjoy the process of creating something from scratch and may even
use it as a way to pass the time with friends and family.
1. Knowledge: Students can acquire knowledge about the Android Studio IDE, Java language syntax,
and Android development concepts. They can learn about user interface design, event handling, and
data storage in Android devices.
2. Comprehension: Students can demonstrate comprehension by understanding the game logic of Tic-
Tac-Toe and how to implement it in an Android application. They can also comprehend the different
components of Android development, such as activities, fragments, and intents.
3. Application: Students can apply their knowledge and comprehension by developing a fully
functional Android application for Tic-Tac-Toe game. They can use their programming skills to
create a user interface, handle user input, and store game data.
4. Analysis: Students can analyze the different components of their application and identify any design
flaws or performance issues. They can also analyze user feedback and use it to improve the
application.
5. Synthesis: Students can synthesize their knowledge and skills by customizing their Tic-Tac-Toe
game application. For instance, they can add additional features like different difficulty levels,
multiplayer mode, or online leaderboard.
6. Evaluation: Students can evaluate the effectiveness of their Android application by conducting user
testing, identifying areas of improvement, and refining the application accordingly. They can also
evaluate their own learning outcomes by reflecting on their experience and identifying areas where
they have improved.
c) Outcomes in Affective Domain:
1. Increased Confidence: Developing an Android application for Tic-Tac-Toe game can increase one's
confidence in their programming skills. Successfully creating a functional game can give a sense of
accomplishment and pride.
2. Improved Creativity: Developing an Android application for Tic-Tac-Toe game requires creativity
in designing the user interface and the game mechanics. This project can stimulate and enhance one's
creativity and innovation.
3. Fosters Perseverance: Developing an Android application for Tic-Tac-Toe game can also foster
perseverance. When facing programming errors or bugs, it requires persistence and the ability to
troubleshoot and solve problems.
4. Provides Enjoyment: Developing an Android application for Tic-Tac-Toe game can be an enjoyable
experience that can improve one's mood and provide a positive emotional experience.
5. Increases Interest in Programming: Developing an Android application for Tic-Tac-Toe game can
spark an interest in programming and technology. This project can be the gateway to more
challenging and complex programming projects, leading to a career or hobby in programming.
Overall, developing an Android application for Tic-Tac-Toe game in Android Studio using Java language
can have a positive impact on one's emotional and attitudinal states, leading to personal and professional
growth.
9.0 Application of this Micro-Project:
1. Learning Tool: This project can be used as a learning tool for students or individuals who are
new to Android development or Java programming. It can help them understand the basics of
Android app development, user interface design, and game logic implementation.
2. Entertainment: The Tic-Tac-Toe game is a popular game and can be an entertaining
application for users. Users can play the game against the computer or against another player.
It can be a fun way to pass the time and improve their critical thinking skills.
3. Portfolio Piece: The project can be added to the developer's portfolio to showcase their skills
and experience in Android app development. This can help them stand out in the job market
and increase their chances of getting hired for a relevant position.
4. Educational Tool: The project can be modified to include more advanced game logic or
additional features to make it a more educational tool. For example, it can be modified to teach
children about mathematics or programming concepts.
5. Open-Source Project: The project can be shared as an open-source project on platforms like
GitHub, where other developers can learn from it or contribute to it by adding new features or
fixing issues. This can help create a community of developers who are passionate about
Android app development and can collaborate on future projects.
Prof. S. P. Kale
Name & Signature of Course Teacher
PPT:
-Mayur Koli
-Saish Gholap
Tic Tac Toe android app is a good project for beginners, this is a two player
game, where each player will get a chance one after the other. This game will be
having a grid of 3 X 3 with a total of 9 cells. The players are supposed to fill each
cell alternatively. The Player one would need to fill the cell with ‘X’ and the
player will use ‘O’ to fill the cells.
Application contains
3.Then it’ll have the Restart button. This button can help the player to restart the
game at any time they like.
4.Once the game is over the app will declare who lost the game. If no one wins, it
will declare that it was a draw match.
Prerequisites
So, this android application game will be developed using the Android Studio. To
develop any Android application in Android Studio, you would definitely need
good hands of following tools / technologies:
Prerequisites
1.The first file that we have created is activity_main.xml, this file has the layout
of the Tic Tac Toe board. Through this, we manage the interface of the Android
Application.
2.The next important file is the MainActivity.java file. This file makes the
application actually work. It has all the methods that make functioning in the app
possible.
Developing the Tic Tac Toe Game
3. Then we have developed some other files that were required for the interface of
application that are listed below:
1. style.xml: This file has the description of cells for Tic Tac Toe board. It has
height and width with the text size and colors described
2. colors.xml: This file has the colors described so it would be easy to
mention the color name to recognize it
3. strings.xml: This describes the list of strings that are used in the application
4. dimens.xml: This has the dimension of grid of our Tic Tac Toe android
game.
Conclusion
Thank You
Annexure – I
Micro Project Evaluation Sheet
Name of Student: Mayur Santosh Koli Enrollment No:2011670402
Name of Programme: Computer Engineering Semester: VI
Course Title: Mobile Application Development Course Code: 22617
(A) (B)
Total Marks
Process and Product Assessment Individual Presentation/Viva (4
(10 Marks)
(6 Marks) Marks)
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Dated Signature
Annexure – II
Micro Project Evaluation Sheet
Name of Student: Saish Anand Gholap Enrollment No:2011670411
Name of Programme: Computer Engineering Semester: VI
Course Title: Mobile Application Development Course Code: 22617
(A) (B)
Total Marks
Process and Product Assessment Individual Presentation/Viva (4
(10 Marks)
(6 Marks) Marks)
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Dated Signature