Reference no: EM132911164
PROG2005 - Programming Mobile Systems
Please note that this assignment will be due after the weekly sessions have covered the last of the required materials, and covers several laboratory sessions and topics. Do not leave this assignment to the last minute - complete the relevant parts of the assignment while concepts are fresh in your mind. If you require an extension, you must apply to your tutor before the due date to be considered. Unless an extension is approved, there is a penalty (see Unit Information Guide). This assignment requires you to develop two applications to demonstrate your knowledge of Cordova and Ionic framework. It will start with a Cordova application in part 1, and you will implement a multipage application using the Ionic framework in part 2. You must use only the Tabs Ionic template for your apps for Part 1 and Part 2.
To ensure every aspect of the implemented apps work properly, test your apps on a real device or in an emulator before the submission. The browser platforms do not support some of the plugins and hardware sensors, so the applications may not be tested thoroughly in a browser window.
Part 1 - Ionic app using Ionic Native APIs
In this section, you will develop an app to use Cordova and Ionic Native plugins which access some of your device's hardware sensors (1 mark for the correct use of Ionic native). It is unnecessary to test your app on a real device, but you should if you have one available. The app should be working correctly on an emulator (it will be tested).
You are requested to develop a multipage Ionic app. The pages required are:
1. A page to implement Text-To-Speech service. Add (3 marks)
• an input field to enter a string
• a range control to select the speed rate of the speech (0 ~ 1)
• a button to call and execute the speak function
• a button to stop the playback
Users will need to enter a text. When the speech button is tapped, the app starts generating the synthesized audio output of the input text. You can also add a list for locale (a string like ‘en- US', ‘zh-CN', etc.) if you wish, but this is optional. You will need to research the ‘text to speech' plugin for this.
2. A page to display the following device information:
• Cordova version running on the device
• device's model
• device's operating system name and version
• device's hardware serial number
To display the above information, you will need to add ‘Device' Ionic native plugin to your application.
3. A page to display the current magnetic compass heading in degrees (2 marks). This uses the ‘Device Orientation' plugin. For full marks, have the page show the heading in symbols N, NW, SE, SSE, etc. (to three levels) (2 marks). For instance, SSE means South-South-East, which is south of South-East. If you want to impress (no extra marks), display a compass and needle pointing to the correct points of the compass.
4. A page that has an audio player implemented to play audio files (3 marks). Your player needs
• a button that plays the audio when tapped
• a button to stop the play
• a range input to adjust the volume
To implement the above, you will need to use the ‘Native Audio' Ionic native plugin. Add the audio file to the ‘assets' folder of the Ionic project.
Part 2 - Ionic app to manage a veterinary clinic's animal database
The aim is to develop an Ionic multipage app for a veterinary clinic that uses Ionic components, to maintain a small database of animal information while the app is running on a mobile device or in a browser window. The app will access a remote website using RESTful operations (see below) to create, edit and delete records on the website.
Your app will implement an injectable service to access the remote website using AJAX techniques. Each page component will access this injectable service for remote HTTP operations.
The data records have the following format (1 mark):
• Animal name - string. This will be a unique key for the data.
• Animal species - string (must be "dog", "cat", "rabbit", "guinea pig", "bird" or "other")
• Animal age - number (will be the whole number of years)
• Animal sex - string (must be "male" or "female")
• Phone number (owner's number) - string The data has the following requirements:
• Each record must have a value for all fields. No field can be blank.
• The animal ‘species' and ‘sex' must be one of the options shown.
• The animal name can only be entered and saved once (it must be unique for each animal). Your app will have several pages:
• Home page with greetings and your name as app author
• A page for listing all animals
• A page for adding new animals
• A page for editing the existing animals. This page will also allow searching for animals and deleting an animal from the data.
Your app will have help information that appears over the current page when requested (each page require a help widget). The delete operation will require a prompt to confirm the delete. This prompt should be an Ionic dialogue (not a JavaScript alert!). You must have at least four pages on your app, and if you chose the tabs template, you must change the icons to be appropriate (3 marks for all of these).
Use appropriate Ionic user interface components to implement the app. Several things are missing here from the usual app. For example, there is no splash screen requested and no media or other native interfaces (e.g. pictures of animals). You can add them if you wish, but these have not been added as requirements to simplify the app.
Attachment:- Programming Mobile Systems.rar