Mobile Application Development
Mobile Application Development
MICRO-PROJECT REPORT
PREPARED BY:-
This is to certify that Mr./ Ms. SHAILESH KOSHE of 6th Semester of Diploma in
COMPUTER ENGINEERING of Institute Shreeyash College of engineering and
technology [Polytechnic] has successfully completed Micro-Project Work in Course of
MOBILE APPLICATION DEVELOPMENT for the academic year 2023-24 as prescribed
in the I- Scheme Curriculum.
Seal of Institute
ACKNOWLEDGEMENT
Aim: -
a) For Server-Side Scripting
b) For Entrepreneurship
c) For Cross-Platform Compatibility
d) For Open-Source Community
e) For Efficiency and Effectiveness
Benefits:-
a. It has Higher demand
b. For Integration Capabilities
f) Rapid Development
g) For Portfolio Enhancement
h) Continuous Learning and Innovation
i. Action Plan (Sequence and time required for major activity. The following is for Reference,
The Activities can be Added / reduced / Modified )
Name of
Sr. Planned Planned Responsible
Details of activity
No. Week Start Finish Team Members
date date
1 1 &2 Discussion & Finalization of SHAILESH
Topic KOSHE
2 3 Preparation of the Abstract SHAILESH
KOSHE
3 4 Literature Review SHAILESH
KOSHE
4 5 Submission of Microproject SHAILESH
Proposal ( Annexure-I) KOSHE
5 6 Collection of information about SHAILESH
Topic KOSHE
6 7 Collection of relevant content / SHAILESH
materials for the execution of KOSHE
Microproject.
7 8 Discussion and submission of SHAILESH
outline of the Microproject. KOSHE
8 9 Analysis / execution of
Collected data / information and
preparation of Prototypes / SHAILESH
drawings / photos / charts / KOSHE
graphs / tables / circuits / Models
/ programs etc.
9 10 Completion of Contents of SHAILESH
Project Report KOSHE
10 11 Completion of Weekly progress SHAILESH
Report KOSHE
11 12 Completion of Project Report ( SHAILESH
Annexure-II) KOSHE
12 13 Viva voce / Delivery of SHAILESH
Presentation KOSHE
j. Resources Required (major resources such as raw material, some machining facility,
software etc.)
Micro-Project Report
Format for Micro-Project Report (Minimum 4 pages)
Aim: -
a) For Server-Side Scripting
b) For Entrepreneurship
c) For Cross-Platform Compatibility
d) For Open-Source Community
e) For Efficiency and Effectiveness
Benefits:-
a) It has Higher demand
b) For Integration Capabilities
b) Rapid Development
c) For Portfolio Enhancement
d) Continuous Learning and Innovation
3.0 Course Outcomes Achieved (Add to the earlier list if more Cos are addressed)
a. Interpret features of Android operating system
b. Configure Android environment and development tool
c. Develop rich user interfaces by using layouts and controls
d. Use user interface components for Android application development
e. Create android application using database
f. Publish Android application
4.0 Literature Review:- ( you can include all the resources which you have used to gather the information
for the Micro-project)
• https://www.geeksforgeeks-tictactoe-project-in MOBILE APPLICATION
• https://www.techjockey.com/blog/free-open-source-Tictactoe- Mobile Application
Development -software
5.0 Actual Methodology Followed
The development methodology for a Tic Tac Toe mobile application typically involves
several key phases. Initially, the team gathers and analyzes requirements, defining features and
constraints. Then, design takes center stage, with wireframes and game logic conceptualized.
Development follows suit, with the chosen technology stack bringing the game to life. Testing
ensures functionality across various scenarios and devices, with bug fixes and optimizations applied
as needed. Deployment to app stores is executed with attention to guidelines and requirements,
leading to public release. Post-launch, maintenance and support ensure the app’s continued success,
with updates and patches addressing user feedback and evolving needs. Throughout the process,
adherence to best practices and effective collaboration are paramount.
Project Overview
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android
Studio. Note that select Java as the programming language.
Step 2: Before going to the coding section first you have to do some pre-task
Add Images: All the images are listed below. Save them in your drawable folder in resources. Go to the
app > res > drawable and paste the following files:
Grid
O
X
Change the style to NoActionBar in themes.xml file:
The XML codes are used to build the structure of the activity as well as its styling part. It contains a
TextView at the very top of the activity to display the title. Then it contains an ImageView of the grid
and in each box, there is an ImageView. At the bottom of the activity, there is a TextView to display the
status of the game. Below is the code for the activity_main.xml file.
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="420dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="@+id/imageView"
app:layout_constraintStart_toStartOf="@+id/imageView"
app:layout_constraintTop_toTopOf="@+id/imageView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="3" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="4" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="5" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="6" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="7" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="playerTap"
android:padding="20sp"
android:tag="8" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
We will create a two-dimensional array that will store all the winning positions. We will create a
function that will run when a box inside the grid is clicked. Inside this function, we will first check if the
box selected is empty or not. After that, we will set the image of X if the last move was of O or we will
set the image of O if the last move was of X. Then we will check if the move has reached the move
position and then reset the game. Below is the code for the MainActivity.java file. Comments are added
inside the code to understand the code in more detail.
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
// Player representation
// 0 - X
// 1 - O
int activePlayer = 0;
int[] gameState = {2, 2, 2, 2, 2, 2, 2, 2, 2};
// State meanings:
// 0 - X
// 1 - O
// 2 - Null
// put all win positions in a 2D array
int[][] winPositions = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8},
{0, 3, 6}, {1, 4, 7}, {2, 5, 8},
{0, 4, 8}, {2, 4, 6}};
public static int counter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Output
:
6.0 Actual Resources Used (Mention the actual resources used).
sr.
Name of Resource/material Specifications Qty Remarks
No.
(A) (B)
Process and Product Individual Presentation/ Total Marks
Assessment (6 marks) Viva (4 marks) 10
Dated Signature:-