ITP4501讲解 、辅导 Java/c++编程
            
                 Page 1 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 (2024/2025)
Institute of Vocational Education
Department of Information and Communications Technology
HDSE (IT114105)
ITP4501 Programming Techniques for Mobile Systems
Summer Semester 2024-2025
Assignment
Submission Guidelines
• This is an individual assignment.
• The submission deadline of the assignment to is 11:55pm, 5 July 2025 (Saturday).
• You need to submit all program sources (in a single zip file) to the Moodle website 
http://moodle.vtc.edu.hk assignment dropbox before the deadline. You are advised to 
upload your work at a time reasonably earlier than the cut-off date and time. Moodle
allows multiple submissions, however, only the latest copy will be retained. You will 
receive NO MARKS for LATE SUBMISSION.
• You are also required to give a demonstration. 40% of total marks will be deducted if 
demonstration is not done.
• If you do NOT meet 70% attendance requirement of IVE Higher Diploma Programme, 
your mark in this assignment will be ZERO!
1 Aims and Objectives
Ø To gain experience in mobile application UI and program design.
Ø To gain practical skill of Android application development.
Ø To understand the constraints and limitation of mobile application and the ways to 
overcome them.
Ø To obtain knowledge on connecting the mobile device to the internet services and 
building a multi-tier distributed system.
2 Introduction
In this assignment, you are required to develop an Android Application to play a "15,20" game by 
selecting a player on a server. You can use the following website to get the detail of this game:
https://zh.wikipedia.org/wiki/%E6%95%B8%E5%AD%97%E6%8B%B3
https://www.youtube.com/watch?v=IrYzM-NCIEs
3 Functional Requirements
Listed below are the basic requirements of your application. You need to refer to the Local 
Database section for the database schema.
 Page 2 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 (2024/2025)
a) A main activity which contains a main menu for players to 
choose. The three main functions are: Play, Your Records and 
Close.
b) Game Play
When a player touches the "Play" button on the main menu, they start 
to play the game. The game will let player choose an opponent from a 
ListView.
And then player should choose his/her left and right hand coming 
screens. The last step is choosing your guess from a ListView.
Finally, the game will download the hands and guess of your opponent 
from an api server in a json format:
{"left":0,"right":5,"guess":10}
Since this stage is your turn, you should ignore the guess number in 
the above json.
If you win the game, the game will show the result. For the example 
below, the game will show a "Continue" button to let player to go to 
next round.
For next round (your opponent's round), you only select your left and right hand and then show 
the result, at this round, you should download and use the guess in the json.
 Page 3 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 (2024/2025)
For the above example, since your opponent correctly guess the number, the game will show the 
result and a "Finish!" button to end the game and then go back to Main menu.
To simplify your work, you are always the first one to start the guess.
Note: 
1. The above UI design is only a reference for a game play, you should design your own UI, 
otherwise, your marks on UI design will get ZERO!
2. You are encouraged to design and implement extra features. 15% of the total mark will be 
allocated on such additional functions. Refer to section 7 Marking Guidelines for more 
details.
4 Local Database
A database GamesLog which contains a table to store the game history 
for yours which store the date and time, the name of your opponents, the 
result of the game (Win or Lost) and the number of rounds to end game.
An activity for GamesLog properly show the data stored in the local 
database. Your list should show the result of a game.
The database scheme described here is an extremely simple one. Many 
fields are intended not to be included in order to reduce the complexity of 
this assignment. You are free to add columns and tables to the database to 
fit for your own needs. 
GamesLog (gameDate, gameTime, opponentName, winOrLost, rounds)
5 Opponents JSON Server
You can find your opponent from the server by using following url:
https://assign-mobileasignment-ihudikcgpf.cn-hongkong.fcapp.run
and the data returned is in JSON format.
The sample JSON string returned is shown below:
{"left":5,"right":5,"guess":15}
6 Additional Constraints
Ø The UI of the mobile application must be produced with Android widgets such as 
TextView, CheckBox, and Spinner etc. Web-based UI is NOT allowed.
7 Marking Guidelines
You project will be assessed according to the items below. 
Ø Database initialisation
Ø Level of completion
Ø Correctness
Ø UI design
Ø Program design and implementation
 Page 4 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 (2024/2025)
Ø Program style and comments
Ø Driving Question: How can a company get benefit from a purchase order management 
system by using a mobile app? Briefly discuss how the assignment or project in ITP4510, 
ITP4522 and ITP4915M modules help you to finish this assignment.
20 marks will be allocated to extra features not described in section 3. Each student can develop 
at most 3 additional functions such as animation effect, sound effect or using images to represent 
the numeric data and operators, or any other relevant and useful functions.
40 marks will be deducted if demonstration is not done.
END