USA: +1(715)227-4880, UK: +44-7896988486, AU:+61-452503850


Computing Skills Assignment Help

Matlab Assignment Help

ITECH3229–Mobile Dvice Programming

ITECH3229–Mobile Dvice Programming


ITECH3229–Mobile Dvice Programming

Due Date: 11 pm, Sunday of Week 11


This assignment will test your Android development skills and is worth 20% (Type A) of your overall course mark.

Android Development


This assignment requires you to develop a simple Android application which uses a number of Activities which are related through the use of Intents. To write the application you will need to use the Android Studio Integrated Development Environment (IDE).


Your application must perform all tasks listed in this document, and be capable of running on any Android device with a minimum API 21: Android 5.0 (Lollipop). 

Your application should be created to display correctly on an emulated Nexus 4 (4.7" screen, 768x1280 pixels in portrait orientation) - however, by using sizes specified in "density independent pixels" (dp) the application should also be able to display correctly on any Android device with any sized screen and resolution.


Do not add any additional activities or features that are not outlined by the specifications to follow. You will not be marked higher for additional functionality, instead you will be penalized for not matching the program specifications!

Plagiarism Policy


The Federation University policy on plagiarism can be found at the following location:




I highly recommend that you familiarise yourself with what is and what is not considered plagiarism, but I'll summarise the key aspects below:


       Do NOT share code with fellow students. I mean it. These are individual assignments, not group projects. If the same code is found in multiple students’ projects, you’ll be called in for a chat and risk getting zero for the assignment and having a plagiarism flag put on your record.


       You may, and are in fact encouraged to, discuss the project with your fellow students. The goal being that you understand how to create good, high-quality Android applications – and that understanding then flows into the exams where you'll be asked questions on Android application development. Just don't share projects/code – code it yourself, learn from your mistakes, and become a great developer.

Application Specification

Project Settings


Your Android application should have the following settings:


Minimum SDK: API 21


Target / Compilation SDK: API 27


Project/Application Name: Game_15


For example, Game_15 12345678


Company URL: federation.edu.au

0. Introduction


The following information and images were taken from https://en.wikipedia.org/wiki/15_puzzle 

The Game of Fifteen, or 15-Puzzle is a sliding puzzle that consists of a frame of numbered square tiles in random order with one tile missing. The object of the puzzle is to place the tiles in order by making sliding moves that use the empty space. 

Fig1. Game of Fifteen 

Fig2. A Solved Puzzle


Half of the starting positions for the n-puzzle are impossible to resolve, no matter how many moves are made. For example, the following puzzle is unsolvable:

Fig3. An Unsolvable Puzzle

By the way (and this is not from Wikipedia), if the 15-Puzzle does not have a left-to-right solution (like in the Fig2), then it has a right-to-left solution, and vice versa.

1. Application Description 

In this assignment, you are required to develop an android app that allows you to play The Game of Fifteen on a mobile device.


(a) When the application starts, it should look similar to the following:

(b)    When you click the “START NEW GAME” button, a random puzzle will be generated (you will be provided with the method that generates a random puzzle):


       The TextView at the top of the activity, tells you if the puzzle is solvable or not (you will be provided with the method that calculates solvability).


       You can play the game by clicking on the cell adjacent to the empty cell to move it to the empty space. For example, if you click the cell labelled “9” in the figure above you will get the following:

       Please note, that the TextView at the top of the app has changed and now shows the number of moves (clicks on the cells) made.


       When you solve the puzzle, and in case your result (the number of moves made to solve the puzzle) is less than the previous record, the following CustomDialog appears on the screen:

       If you want to save the result, enter your name and click SAVE RECORD button. Otherwise, click cancel. After saving the result you will get something like:

       The Best Result should be saved permanently, use SharedPreferences for that.


       To play another game click START NEW GAME button.

       This time, as you can see, the puzzle is unsolvable. So you, probably, will want to start another game.


       If someone else’s Best Result irritates you, click CLEAR BEST RESULT button. The record will be erased from the SharedPreferences, and you will get the following picture:

       In this case, the next puzzle solution (yours) will be the best.

The game model should be presented in the class named “Model15”.


It has two instance variables:


       int [] cells – integer array representing the game board. You should initialise it as follows:


int [] cells = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};


Array element with the value 0, represents the empty cell, the rest represent game pieces with labels equal to their value. When you move a piece adjacent to the empty cell, corresponding array elements swap values. This is a linear representation of a 2-dimensional board, so, you need to figure out, which cells are neighbours.


       int moves – represents the number of moves made in the game. At the beginning of a new game should be set to 0.


And the methods: 

       public boolean moveCellAt(int i) – moves piece at index i to the empty cell, if they are neighbours, if they are not – nothing happens. Increases the value of variable moves by 1. Returns true if the resulting array configuration is a solution, i.e. the array is {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}, and false otherwise. This is how you will know if the game finished or not.


       shuffle – method that generates a random game (permutation of the array cells). The code is



public void shuffle() {

Random random = new Random();

for (int i = 16; i > 1; i--) {


int j = random.nextInt(i);


swap(i - 1, j);




       isSolvable – returns true if the game has a solution, false otherwise. The code is provided:


public boolean isSolvable() {

int[] temp = {cells[0], cells[1], cells[2], cells[3], cells[7], cells[6], cells[5], cells[4], cells[8], cells[9], cells[10], cells[11], cells[15], cells[14], cells[13], cells[12]};

ArrayList temp1 = new ArrayList();

for (int k = 0; k < 16; k++) {


if (temp[k] != 0) {





int parity = 0;

for (int i = 0; i < 15; i++) {

for (int



  • Number of views:
  • PRICE :
    AU$ 220.00
Security Code  
Urgent Assignment Help

Our Top Experts

Karen Betty

Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...

55 - Completed Orders

Daphne Lip

Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...

52 - Completed Orders

Mr Roberto Tuzii

Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...

102 - Completed Orders

Harsh Gupta

To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...

109 - Completed Orders


JOB OBJECTIVE Seeking entry level assignments in Marketing & Business Development with an organization...

202 - Completed Orders


Current work profile Project manager- The Researchers Hub (2nd Jan 2016 to presently working) Researc...

20 - Completed Orders

Tan Kumar Ali

Sales Assistant, Mito Marina Assigned to the Stationery dept – assisted in merchandising, stock taking...

100 - Completed Orders

Wesenu Irko

Personal Profile Dedicated and highly experienced private chauffeur. High energy, hardworking, punctua...

200 - Completed Orders

Lizzy Darley

I'm Lizzy, full time education specialist in English, Essay Writing, Economics and Maths. Having Assi...

109 - Completed Orders


HSC PREPARATION I specialise in English coaching programs for HSC students. My personalised and results-...

202 - Completed Orders