安卓代写-component system

Practical 01 Android App Development

Aim s and O bjectives

Your aim in this practical is:

  • To gain hands-on experience of developing a component system.

  • Be familiar with one type of component technologies.

  • Be able to build a small-scale component-based application.

  • Understand how to decompose a system into components and how to address communications between components.

    By the end of this practical you should be able to:

  • Use several component types on Android.
  • Design components conforming to a standard model so as to be reusable.

    Overview

    This practical involves designing and implementing an Android Pseudo-Uber Client- side app. You will need to use public components and design customised components to implement the app. You will need to test your app carefully.

    Please check MMS for the submission date. You are expected to demo your solution after submission, and please sign the demo slot sheet on my door. This practical is worth 40% of your coursework mark and 16% of your overall module mark for CS3301.

    Your submission should include:

  • The source code for your project. This should be well presented and commented and in a form that can be compiled by the markers.
  • The byte code that can be installed on a mobile device to run.
  • A report of up to 1,500 words describing
    • Requirements being identified for your app. You could choose from the list of the features from the Assessment Section.
    • Design decision, focusing on
      • How to use and customise existing system/third-party components, and how to design and implement new components with a goal to be reused;
      • Communications between components;
    • Test and evaluation, focusing on
      • How the testing is designed based on the design decisions
    • Discussion, focusing on
      • Aspects of your app that you are most proud of;
      • Future work you would like to extend if you had more time.

        Note: Your report must be structured as follows:

  • Overview: Give a short overview of the practical: what were you asked to do?

  • Design: Describe the design of your program. Justify the decisions you made.

    • Focus on components and their communications
  • Evaluation: Evaluate the success of your program against what you were asked to do.

  • Conclusion: Conclude by summarising what you achieved, what you found difficult, and what you would like to do given more time.

Don’t forget to add a header including your matriculation number, and the date.

The submission for this practical contains the main part of your work, including the source code, byte code, and a PDF copy of your report. You need to package up into a zip file and submit it using MMS, in the slot for P1.

Assessm ent

The main, compulsory, part of the practical is the design and implementation of components, reuse and customisation of the existing components, and composition of the components for the app. You should use at least two kinds of components on Android.

A list of features of the application is given as follows.

1. User account creation and login.

2. Once the user logs in, the app will display a map of the user’s current location

and the available drivers within a reasonable distance.

  1. Request of trip:
    1. Basic version: send out a request of a trip in a form including the pickup location, the destination, the time for the journey, along with any other useful or desirable information

      b. Advanced version: the user is able to mark the pickup location and the destination by placing the location pins at a desired pickup location

  2. Reply of requests:
    1. Display a list of drivers who are available and reply to the request. The list could display the driver’s name, profile image, and rating, and their car info. There will be an option to contact the driver, check the fare, receive the estimated time of arrival (ETA), confirm the trip, and cancel the trip
  3. Progress checking:
    1. Track the driver’s location and display in real time
  4. Trip completion:
    1. When the trip is completed, a summary page will be displayed, including the total cost and distance of the journey, the rating, and an option to write a review
  5. History:
    1. Present the historical trips in various aspects: distances, fares, drivers, etc
    2. Use a visualisation component to present the historical trips in a meaningful way
  6. Interactions with users
    1. Use a notification component to notify users when their drivers arrive
    2. Use a call component to initiate a call to to the driver
  7. Payment
    1. Use various payment components to support fare payment

A decent implementation of the features (1, 2, 3.a, 4, and 6) with a good understanding of component technologies in mobile platforms will lead up to a mark

16. To achieve a mark more than 16, you will need to implement the features (3.b, 5, and 7-9, or any other extra features that you have identified), using appropriate components in location sensing (GPS), and visualisation.

Resources

The following resources are the starting point to learn how to program in Android. Please feel free to use any other useful resources:

  1. Official Android developer website:

    https://developer.android.com/training/index.html

  2. SensingKit: A Multi-Platform Mobile Sensing Framework for Large-Scale Experiments. This will facilitate your access to the sensing capability on Android, in case you would like to introduce more advanced sensing-based features. http://sensingkit.org

  3. Ionic framework: a hybrid app development, which allows you to define UI components as HTML templates.

https://ionicframework.com

To note that if you are a beginner to Android, have modest capability of programming, and aim for the basic features of the system, the first resource is most useful. The second and third resources might be useful for achieving more advanced features.

Adm inistrative note

Your attention is drawn to the following:

  • Assignments are marked in accordance with the mark descriptors at: https://info.cs.st-andrews.ac.uk/student-handbook/learning- teaching/feedback.html#Mark_Descriptors

  • The penalty applied for late submissions:

    https://info.cs.st-andrews.ac.uk/student-handbook/learning-teaching/assessment.html#lateness- penalties

  • The University policy on Good Academic Practice:

https://info.cs.st-andrews.ac.uk/student-handbook/academic/gap.html