COMP3013 Mobile Application Development
对于这个作业,我们需要创建一个简单的MovieBuddy Android应用程序。应用程序应包括影院列表和现有电影的库存。该应用程序的主屏幕包含一个或多个装饰性图片以及选项(例如按钮、菜单项、选项卡等)。
The App has the following main functions aside from the home screen:
1. Allow user to view and manipulate movie inventory.
2. Allow user to view and manipulate a list of cinemas.
3. Allow user to delete movie and/or cinema records.
4. Allow user to view and manipulate images that are associated with movie items.
5. Allow user to search for a movie/movies from the movie inventory.
For the purposes of this assignment the details of the items in the movie and cinema inventories should be stored in some kind of “database”. For high marks this should be an SQLite database. For a basic pass, some kind of array, list or file structure is acceptable. Where the word “database” appears below it can refer to any of these types of structures, however refer to the marking guide to see what will attract high marks.
Please note that the application must have exact elements described in this assignment specifications, extra elements are NOT accepted. For example: implementing an extra element for a screen (eg price for a movie item where it is not required by the specification) will not be accepted. You can implement features in higher levels (eg credit, distinction or high distinction) to gain marks even you skip some features in lower (eg pass) levels. The provided simple screenshots are for your reference only, you are encouraged to design your own look and feel for your application.
Pass level (up to 64%):
1. For Movie inventory:
Provide the main interface and corresponding actions where user can select an option from buttons (or other controls) including:
• Add a new movie record: The movie information includes Id (a unique string for each item), title, directors, casts, release date and poster (for pass level, poster/image is NOT required, image field can be empty).
• View movie records as a list
• Edit a movie record: the user can select an item from the list. The program will display all details of the item in the corresponding fields where the information can be edited. The page should also include an option to delete the current record in addition to the edit option.
2. For Cinema items:
Provide the main interface and implemented actions where the user can select an option from the buttons/menus for manipulating cinema items including:
• Add a new cinema item. The cinema information includes Id (unique string for each cinema), cinema name, location (cinema address), list of movie items. Please note that user should be able to choose one or more movies from a list of movies items. You can use checkboxes or background colours to indicate selected items. This list can be hardcoded (pass or credit level) or taken from the “database” of movies as described above (distinction level or above). If you use hardcoded list of groceries, make sure you have at least title and release date for each movie. There are at least three movie items in the hardcoded movie list.
• View the cinema items. User is able to view the list of cinema items.
• Edit a cinema item. When the user clicks on an item in the list of cinemas, the program will display full detail information of the selected cinema in the corresponding fields where they can be changed. For the list of movies, the user will choose again the movie items from the list as in Add a new item function. The page should also include an option to delete the current record in addition to the edit option.
3. Other functionalities should be included in the pass level:
• Be able to return to the home page or the previous page.
• Provide an acceptable quality user interface - Are the screens easy to use? Are they laid out neatly? Do they look good?
• For a pass it is not necessary to store data in an SQLite database.
Credit level (up to 74%):
Include all functions of the pass level, plus
- Store data in a local SQLite database, and implement INSERT, UPDATE, SELECT and DELETE on the database.
- Delete multiple items: From “View Movie Records” and/or “View Cinema Records” pages, user is able to delete one or more movie records and/or cinema records from the lists. You may use checkboxes or background colours to indicate selected items to be removed from the list.
Distinction level (up to 84%):
Include all functions up to the credit level, plus
- When adding/editing a cinema record, the list of movies is NOT hardcoded but is queried from the movie database (SQLite database).
- When viewing the movie records, the movies are listed in two categories “Released” and “Coming Soon” by checking the release dates of the movies.
High Distinction level (up to 95%):
Include all functions up to the distinction level, plus
- Assign an image to a grocery item: provide an interface and corresponding actions where user can select an image and assign the image to a grocery item. The images can be manually stored within the app itself OR user can browse and choose an image from the device.
Another way is to take a picture using the device camera and assign the picture to a grocery item. The app should be able to display the assigned image when showing the grocery information.
- Search function: provide an interface and corresponding actions where users can type in some words to find a movie/movies in the existing database. The search interface should allow users to enter some text for title and/or directors and/or casts. The results are displayed as a list of movies matching the input words.
Outstanding works: (up to 100%)
Include all functions up to the high distinction level, plus
- Coding practice with excellent choice of object-oriented programming structure and functions. The program has clear coding style and comprehensive supportive comments.
- Profesional look with advance controls used (eg date picker, input validation tabbed activities) and creative/useful features might be considered as extra contributions. Note: simply adding an extra GUI element is not considered as a bonus feature and is usually NOT allowed as stated at the beginning of the specifications.
咨询 Alpha 小助手,获取更多课业帮助。