Shorr Android Development 2021-22-Per 2 Assignments

Upcoming Assignments RSS Feed

No upcoming assignments.

Past Assignments

Due:

Final Project Submission in Google Classroom

Final Project Submission

1. A link to the github repository with the final project.
2. A gif made using GIPHY capture showing the basic functionality of the app.
3. If in a group, a brief breakdown of what each member did to contribute.

Created by Garrett Shorr: Tuesday, May 31 10:46 AM

Due:

Project Planning in Google Classroom

Project Planning

Finish this before starting to code your app.

1. Group members (solo is okay)
2. Purpose of the app
3. Features of the app
4. Sketches/Design of the app
Sketches can be done on paper, in whatever paint program you choose, or using Figma.

Figma Material Design link to get copies of the various design kits: https://www.figma.com/@materialdesign
You can make your own project and have the design kit open in another tab. You can then copy and paste between the two tabs.
Created by Garrett Shorr: Tuesday, April 26 3:14 PM

Due:

Navigation Intro in Google Classroom

Navigation Intro

Part A:

Create a new project and choose Navigation Drawer Activity as the template. Call it LearningNavigation.
Create a new project and choose Empty Activity as the template. Call it ControlGroup.

1. Compare the LearningNavigation project to ControlGroup. In the LearningNavigation project, what additional files and folders are given to you in...

a. the java folder?
b. the res folder?


2. Look at activity_main.xml and switch to the code view. The root layout is a DrawerLayout rather than a ConstraintLayout. Inside, there are two tags: include and NavigationView. Each of those tags nest further layouts inside them. You can tell that because there are references to items with @layout/{some_file_name} in the list of attributes.

a. What other layouts are referenced in activity_main.xml?

b. Dive further into each of those referenced layouts and look at the code. Are there any more references to other layouts? If so, list which file has a reference to another layout and name that linked layout file. Keep searching until you hit the bottom level where all linked layout files have no further references to other layout files.

3. Run the LearningNavigation program. Click on the hamburger menu in the top left corner to see the drawer pop out. There are three destinations. Look in the java folder and subfolders to find the kotlin files that match each destination. You'll notice there aren't activities for each of those screens. What do they use instead? 


4. Go to https://material.io/components?platform=android and look at information regarding usage and principles of Bottom Navigation and Drawer Layout. When should you use each?

Part B:

1. Replace the picture of the Android in the top left of the navigation drawer.

2. Change the gradient colors and direction in the navigation header. (These are the background colors behind the image in the navigation drawer)

3. Change the icon of the Home menu item

4. Remove the floating action button and snackbar.

5. Add another menu item called Custom1
Screenshot these changes and include it in the doc.


Submit the doc with Part A & B complete. For part B, show screenshots of those changes.
Created by Garrett Shorr: Thursday, April 28 5:14 PM

Due:

Navigation Part 2 in Google Classroom

Navigation Part 2

1. Make a Fragment to add to the menu called GreetingFragment. The layout will contain an editText asking for the user's name and a submit button

2. Make a Fragment not to add to the menu called Greeting2Fragment. The layout will just have a textView

3. Clicking on GreetingFragment's submit button will get whatever the user typed in the editText and pass it to the Greeting2Fragment

4. The Greeting2Fragment will read the arguments and say "Hello, $name"

Hint: Add both of these fragments to the mobile_navigation.xml, linking the GreetingFragment to the Greeting2Fragment with an action

Use GIPHYCapture to show this working and submit the movie file
Created by Garrett Shorr: Monday, April 18 5:48 PM

Due:

What are the topics you are interested in? in Google Classroom

What are the topics you are interested in?

Post the 3 topics and your favorite problems you want to solve in those categories here.
Created by Garrett Shorr: Friday, April 8 9:06 AM

Due:

Brainstorming Part 1 in Google Classroom

Brainstorming Part 1

Come up with at least 3 categories or topics that you like or are interested in. My 3 would be politics, rock climbing, board games.



For each category, come up with at least 3 problems you'd like to solve with an app. 



For each category, go to either the apple or android app store and look for apps related to your topic that ideally address some or all of the problems you wanted to solve. Try to find 2 apps for each topic. 



For each of the apps:

What are the primary featuers?

What do user reviews say is good?

What do user reviews say is bad?

Does it address any of your problems?

Created by Garrett Shorr: Friday, April 8 9:06 AM

Due:

Database Submission in Google Classroom

Database Submission

Using Giphy Capture, make a gif showing all 4 CRUD functions in your app.

1. Load the backendless Person table in a browser window.
2. Put your emulator over that window so that the Name column of the person table is visible and expand the green recording area so that it shows your emulator, that name column, and your username from you being logged into Backendless in the browser.
3. Login to your app so that you have the BirthdayListActivity showing. This demonstrates the Read functionality.
4. Start the recording.
5. Demo Create: click the floating action button to bring up the detail activity with a new object. Click the edit menu item and save immediately.
6. Demo Delete: click the item you just created in your list activity. Click the delete button. 
7. Demo Update: click any person that already exists. Click the edit menu item. Change the name. Click the save button. Click the back button in the bottom left corner of the device to return to the list.
8. Stop the recording. 
9. Save the recording as an MP4. You can do this by selecting the recording in the bottom left area below the green recording area, then click save as and change the type from gif to mp4. Name it CRUD_{YourName}.mp4.
10. Upload your video here.

A demo video is attached.
Created by Garrett Shorr: Wednesday, April 6 11:18 AM

Due:

Public API Project Submission in Google Classroom

Public API Project Submission

Print the following files to a pdf:
Your Activities
Your Data Classes
Your Adapter(s)
Your Layouts (activity layouts and any recyclerview item layouts)
Print using the following settings:
JetBrains Mono font size 8
Margins of 0.25 all around
Color Printing
Save as a pdf (you can open in preview first to see that the settings were correct, but then you'll have to open the print dialog again from within preview and save as pdf from there)



I'll also be looking at your individual projects on the emulators over the next couple weeks in between the other lessons.
Created by Garrett Shorr: Thursday, March 3 2:29 PM

Due:

Sem 1 Final in Google Classroom

Sem 1 Final

Submit the google doc with all your work you did throughout the period.
Created by Garrett Shorr: Tuesday, December 21 12:23 PM

Due:

Unit Tests Submission in Google Classroom

Unit Tests Submission

Print the following files:

RegistrationUtil.kt
RegistrationUtilTest.kt
Submit those as a pdf. Remember to use the font size 8 and 0.25" margins. See attached images.
Created by Garrett Shorr: Tuesday, December 7 3:08 PM

Due:

Soundboard Intro in Google Classroom

Soundboard Intro

Download and unzip the SoundboardStarter project and open it in Android Studio. Follow along with the questions in the google doc and answer them in a different color.


I've attached a zip with sounds for a full piano, if you want more than the 2 octaves I've provided. They are listed by key number and you'll have to figure out which key number matches up with each note.
Created by Garrett Shorr: Friday, November 5 10:27 AM

Due:

Quiz App Submission in Google Classroom

Quiz App Submission

Print the following files to a pdf:
MainActivity.kt
Quiz.kt
Question.kt
activity_main.xml
both question.json files 
both strings.xml files
Print using the following settings:
JetBrains Mono font size 8
Margins of 0.25 all around
Color Printing
Save as a pdf (you can open in preview first to see that the settings were correct, but then you'll have to open the print dialog again from within preivew and save as pdf from there)
Created by Garrett Shorr: Wednesday, October 13 11:07 AM

Due:

Review: Kotlin Data Classes & JSON in Google Classroom

Review: Kotlin Data Classes & JSON

Watch the attached video. Correct your answers as you go along. Keep a reflection document of what you missed and explain what your error was and what the right answer is. Submit that by the end of class.



Created by Garrett Shorr: Monday, September 27 5:48 AM

Due:

Kotlin Data Classes & JSON in Google Classroom

Kotlin Data Classes & JSON

One thing programmers often do is learn by reading through tutorials. Use the various resources provided in the document to find the answers to the questions and use a different color when answering.


Will probably be due near the end of class on Thursday. You can work in groups but each turn in an individual document.
Created by Garrett Shorr: Tuesday, September 21 6:14 PM

Due:

Stopwatch Submission in Google Classroom

Stopwatch Submission

1. Start/Stop works & doesn't skip time
2. Maintain state through orientation change

 *if it were running, stay running & not skip time
 *if it were stopped, stay stopped & not skip time

having a rounding error of 1 second is okay.

To turn this in, you'll show me that you have it working on your virtual device.
Created by Garrett Shorr: Saturday, September 18 1:32 AM

Due:

Useless Machine Wrap-Up in Google Classroom

Useless Machine Wrap-Up

Use a different color font to answer the questions directly inline with your copy of the document.
Created by Garrett Shorr: Tuesday, September 7 7:37 PM

Due:

Syllabus in Google Classroom

Syllabus

With your folks at home, read and digitally sign the attached syllabus using the google form, then mark this assignment as complete.
Created by Garrett Shorr: Thursday, September 2 3:57 PM

Due:

Kotlin vs Java? in Google Classroom

Kotlin vs Java?

What are 5 differences that you see in the Main Activity between Kotlin and Java?











Kotlin vs Java

1. no semi-colons

2. default visibility for classes is public

3. : is extends 

4. when extending, you put the constructor instead of just the name

5. override in method header (mandatory, not an annotation)

6. void isn't necessary to write

7. parameters now go:

       (varName : DataType)

8. ? at the end of a datatype means it *CAN* be null

9. there are no primitives in Kotlin. All objects.  (though it technically compiles to primitives for us where needed, we don't have to deal with them)
Created by Garrett Shorr: Tuesday, August 31 12:54 AM

Due:

First Day Survey in Google Classroom

First Day Survey

Fill out the attached google form.
Created by Garrett Shorr: Monday, August 30 2:15 PM