共计 5048 个字符,预计需要花费 13 分钟才能阅读完成。
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3
Institute of Vocational Education
Department of Information and Communications Technology
HDSE (IT114105)
ITP4501 Programming Techniques for Mobile Systems
Summer Semester 2021-2022
Assignment
Submission Guidelines
• This is an individual assignment. • The submission deadline of the assignment to is 11:55pm, 3 July 2022 (Sunday). • You need to submit all program sources (in a single zip file) and your answer of two
questions in section 7 (in a MS Word 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 ZERO MARKS for LATE SUBMISSION. • You are also required to give a demonstration. 40 marks will be deducted if
demonstration is not done. 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 Tic-Tac-Toe
Game. This app will also record the result and corresponding time required to complete a game
and use charts to show the history records.
You can use following link to know how to play a Tic-Tac-Teo game:
https://en.wikipedia.org/wiki/Tic-tac-toe
Page 2 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 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.
- A main activity which contains a main menu for players to choose.
The four main functions are: Play, Game Ranking, Your Records and
Close. - When players touch the “Play” button on the main menu, they start to play the game with
CPU. Players will mark an ‘O’ on an available button which does not contain any mark (‘O’
or ‘X’) by touching it. After players touch on an available button, CPU will RANDOMLY
to mark a ‘X’ on an available button. To simplify your workload, you are not required to
write an AI for CPU to win the game.
When players or CPU who succeed in placing three of their marks in a horizontal, vertical,
or diagonal row is the winner. Your app will save the record of this game to the GamesLog
table in a local database and then your app will show a “Continue” for players to restart the
game. - When players touch the “Game Ranking” button on the main
menu, your app will download a JSON from your own api
server. You MUST use a ListView to show all the records
in the JSON string.
Page 3 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 - When players touch the “Your Records” button on the main menu, Your app will load the
records in the GamesLog table from your local database. You MUST use a ListView to
show all these records. Your app will provide a button “Show in Pie Chart” which let
players to show winning status (Win, Lose, Draw) by using a Pie Chart.
Note: You are encouraged to design and implement extra features. 10 marks will be allocated on
such additional functions. Refer to section 7 Marking Guidelines for more details. - Local Database
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 (gameID, playDate, playTime, duration, winningStatus) 5 Ranking JSON Server
You can obtain a ranking list from your own api server and the data returned is in JSON format.
The JSON string returned is shown below:
[{“Name”:”Kenny Lam”,”Duration”:104},
{“Name”:”Peter Kwong”,”Duration”:25},
{“Name”:”John Chan”,”Duration”:38},
{“Name”:”Johnny Kwong”,”Duration”:117},
{“Name”:”Mary Lam”,”Duration”:23},
{“Name”:”David Wong”,”Duration”:49},
{“Name”:”Alan Ma”,”Duration”:18},
{“Name”:”Carrie Lam”,”Duration”:68},
{“Name”:”Chris Lam”,”Duration”:93},
{“Name”:”Mary Cheung”,”Duration”:78}]
You need to sort the JSON data by using duration in ascending order to obtain the ranking.
Page 4 of 4
ITP4501 Programming Techniques for Mobile Systems
Assignment
Semester 3 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.
Ø The statistical charts must be produced using Android built-in graphics API such as
drawRect() and drawText(). Using any other external drawing packages or libraries is
NOT allowed. - Marking Guidelines
You project will be assessed according to the items below.
Ø Database initialisation. Ø Level of completion. Ø Correctness. Ø UI design (no mark will be given if you are using the same design in this document). Ø Program design and implementation. Ø Program style and comments. Ø Driving Question: How can an organization get benefit from a central computerized
management system by using a mobile app? Ø Briefly discuss how ITP4510, ITP4522 and ITP4915M modules help you to finish this
assignment. - 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 or sound effect on the Android device or
any other relevant and useful functions. - marks will be deducted if you do not submit your answer of last two questions in section 7:
Driving Question: How can an organization get benefit from a central computerized
management system by using a mobile app?
Briefly discuss how ITP4510, ITP4522 and ITP4915M modules help you to finish this
assignment. - marks will be deducted if demonstration is not done.