辅导案例-CSC73010-Assignment 2
CSC73010 – Programming Mobile Systems Assignment 2 (S3 2019) This assignment is due on Monday, 7 February 2020 at 11:00 pm. You should submit your source code as a ZIP archive for all parts of the assignment to assignment 2 submission link on the unit website. If the file size is too large to upload via the submission link, please submit only the SRC folder of the projects as a ZIP file, then send the entire project folders via a method specified by your tutor. Note that marks will be deducted for poorly structured or uncommented code. All submitted source code files must include title comments that at least identify the author and the assignment part. The separate parts of the assignment are to be submitted in separate subdirectories (e.g. Part1, Part2 etc) Please note that this assignment will be due after the weekly sessions have covered the last of the required materials. Do not leave this assignment to the last minute – do 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 Ionic framework in part 2. You can use either Tabs or Sidemenu Ionic templates for your apps for Part 1 and Part 2. To ensure every aspect of the implemented apps work properly, test your apps in a real device or in an emulator, before the submission, as browser platforms do not support some of the plugins and hardware sensors, they cannot be tested in a browser window. Part 1 – An Ionic app using Ionic native (13 marks) In this section, you will develop an app to use Ionic native plugins that access some of the mobile device’s hardware sensors (3 marks). It is not necessary to test your app on a real device, but you could if you have one available. However, the app should be working properly on an emulator (it will be tested). A. Use ‘Text To Speech’ Ionic native plugin in your app. On the home page, add • an input field to enter a string • a range control to select 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 (5 marks). B. On the second page, the app should have: • a button that plays a sound when swiped and another sound when swiped again. You can have more than two sounds if you like (cycle through them with each swipe) (2 marks). • a button that toggles the flashlight on/off using the Flashlight plugin (1 mark). C. On the third page, display the current charge level of your battery. Have your app also displays different messages when (2 marks): • The battery goes critical • The battery goes low status • The battery starts charging or stops charging Part 2 – An Ionic app (12 marks) The aim is to develop an Ionic multipage app that uses Ionic UI components, to maintain a small database of media library information while the app is running on a mobile device, or in a browser window. You can initialize your app with hardcoded data or you can start with an empty data structure. Implement an injectable service that provides data records with the following components (1 marks): • ID number – this will be the unique key for the data. • Title • Author • Publisher • Type (“video”, “game”, “music”, “other”) • Notes (one line of comments that user can enter) The data has the following requirements (1 mark): • Each record must have a value for all fields. Only the Notes field can be blank. • The media ‘Type’ must be one of the options shown. • The ID number can only be entered and saved once (it must be unique for each medium). Your app will have several pages: • Home page with greetings and your name as app author (1 marks) • A page for listing all media records (2 marks) • A page for adding new media (2 marks) • A page for editing existing media. This will also allow searching and deleting media from the database (3 marks). Your app will have help information that appears over the current page when requested. The delete operation will require a prompt to confirm the delete. In your app, use proper messages when needed to improve user experience. (2 marks). Your app will be a stand-alone app without server contact for data. The app will not save data after the app is closed in a mobile device, or the browser window is closed, but you will need to maintain a proper data structure so that changes made remain while the app is running. Use appropriate Ionic user interface components to implement the app. Several things are missing here from the usual app. For example, there is no server contact, no splash screen, no media or other native interfaces (e.g. cover pictures of the media). You can add them if you wish but these have not been added to simplify the app.