Question: We need an app that will help organize a show - keeping a list of cast members, each of whom have one or more roles

We need an app that will help organize a show - keeping a list of cast members, each of whom have one or more roles to play within the show.There are multiple scenes within an act. Actors will need to know what roles they will be playing and which scenes those roles appear in. They will log into our app to view this information.
Create a newAndroid project in Android Studio. Your project will contain the following: In theedu.utsa.cs3443.abc123_lab5package: MainActivity.java, activity_main.xml, RoleActivity.java, activity_role.xml, ActActivity.java, activity_act.xml
In themodelpackage: User.java, Role.java, Act.java, Scene.java
Your application will read in data from text files placed in theassetsdirectory. Create a new assets folder in your project (note: this new folder mustnotbe in your src folder),and move all sample files (.csv files) into it.
Your program will show a view that displays a label with an app logo on it and a login screen - labels, input areas, and a button for the user to enter their username and password to log in. This view will beactivity_main.xml. If the user does not successfully log in, they will be shown an error message on this view - make a toast with an appropriatemessage to the user. Users do not successfully log in if their credentials (username and password) do not match that which is stored in the provided users file.
If the user successfully logs in, they are taken to a screen with a logo for a broadway show. The view is pre-populated with their name and roles in this show. Each role is shown on 1 line in the roles area. (for example actor has 2 roles)This view will beactivity_role.xml.From this view, users can choose to log out (taking them to the previous login viewand removing their login credentials), or they can click buttons to view Act I or Act II to move to the next (and final) view.The final view of the app displays all of the scenes which the current user appears in for a chosen act (the act is selected by the user on the previous view). This will beactivity_act.xml.An example is that the example actor appears in several scenes in act 1. If the actor has no roles which appear in any scene in the chosen act, the message no scenes should be displayed to the user. The app must have the described GUI components on each view.
Model: organize some functionality in the model classes.There are many correct ways to write the code for the model classes, in terms of representing the relationships described in this section. Draw a rough UML diagram to get an idea of how you want to create your classes. Our model must contain the classes listed above -User,Role,Act, andScene.Any additional classes are optional. Users of the app will be cast members, who have roles in a show. Each show has 2 acts, and each act has a list of scenes. (see the provided app views for examples of this data).
User: EachUserhas a username and a password. Since all users are also actors, they will also have a real name, as well as a list of roles that they play (each user can have 0 or more roles). The fileusers.csv contains information forUsers of the app. Each line in the file contains a user's information, in the following order: username,password,real name,name of role 1, name of role 2, etc. The User class will contain a method calledvalidatewhich should take in a user name and password. This method can be an object method or a class method, and must be called from the controller for the purpose of authenticating the user for log in. You may decide what to return from this method. If the user exists in the app (if their user name is found in the given file), then the password should be verified. If the given password is correct, then they should be permitted to move to the next view.If the user does not exist in the app (if their user name is not found in the given file), or if the password provided is incorrect, they should not be permitted to move to the next view.
Scenes, Acts, and Roles: Each user has a list ofRoles, which are parts that they play within a scene. EachRolehas a name for the character. EachScenehas an identification number (the order in which it occurs in the act), a title (given in quotes in our data file), and a list of roles which appear in that scene. EachActhas a number (in our case, 1 or 2) and a list of Scenes in the act. Each Act has its own data file containing all of the scenes in that act. Decide on how you would like to represent the relationships needed between the classes described in this model. Again, there are many correct ways, and it is your choice.
Exception Handling: Is the user able to get beyond the login screen without a valid username and password? Once they log out, is the user able to get beyond the login screen again (without logging back in)? If the user does not have any roles (at all, or in the selected act), does the app crash, or does it show the "no scenes" message?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!