1. Homepage
  2. Programming
  3. [2022] CSCI571 - Web Technologies - Homework 9: Artist App

[2022] CSCI571 - Web Technologies - Homework 9: Artist App

Engage in a Conversation
CSCI571Web TechnologiesUSCUniversity of Southern California

Homework 9: Artist App CourseNana.COM

  CourseNana.COM

1. OBJECTIVES CourseNana.COM

Become familiar with Java, JSON, Android Lifecycle and Android Studio for Android app development. CourseNana.COM

Build a good-looking Android app. CourseNana.COM

Learn the essentials of Google’s Material design rules for designing Android apps CourseNana.COM

Learn to use the Artsy APIs and the Android SDK. CourseNana.COM

Get familiar with third party libraries like Picasso, Glide and Volley. CourseNana.COM


CourseNana.COM

CourseNana.COM

The objective is to create an Android application as specified in the document below and in the reference video. CourseNana.COM

  CourseNana.COM

2. BACKGROUND CourseNana.COM

2.1 Android Studio CourseNana.COM

Android Studio is the official Integrated Development Environment (IDE) for Android application development, based on IntelliJ IDEA - a powerful Java IDE. On top of the capabilities you expect from IntelliJ, Android Studio offers: CourseNana.COM

● Flexible Gradle - based build system. CourseNana.COM

● Build variants and multiple apk file generation. CourseNana.COM

● Code templates to help you build common app features. CourseNana.COM

● Rich layout editor with support for drag and drop theme editing. CourseNana.COM

● Lint tools to catch performance, usability, version compatibility, and other problems. CourseNana.COM

● ProGuard and app-signing capabilities. CourseNana.COM

● Built-in support for Google Cloud Platform, making it easy to integrate Google CourseNana.COM


CourseNana.COM

Cloud Messaging and App Engine. CourseNana.COM

More information about Android Studio can be found at: CourseNana.COM

http://developer.android.com/tools/studio/index.html CourseNana.COM

  CourseNana.COM

2.2 Android CourseNana.COM

Android is a mobile operating system initially developed by Android Inc. a firm purchased by Google in 2005. Android is based upon a modified version of the Linux kernel. As of Nov 2018, Android is the number 1 mobile OS, in unit sales, surpassing iOS, while iOS was still the most profitable platform. CourseNana.COM


CourseNana.COM

The Official Android home page is located at: CourseNana.COM

http://www.android.com/ CourseNana.COM

The Official Android Developer home page is located at: CourseNana.COM

http://developer.android.com/ CourseNana.COM

  CourseNana.COM

4. HIGH LEVEL DESIGN CourseNana.COM

This homework is a mobile app version of Homework 6 and Homework 8. In this exercise, you will develop an Android application, which allows users to search for different artists and look at the detailed information about them. Users can also save their favorite artist to view them or track their artworks. The App contains 3 screens: CourseNana.COM


CourseNana.COM

Home screen, Search Result screen and Detailed Artist Information screen. However, the App has multiple features on each of these screens. CourseNana.COM

This homework contains 5 API calls. There are the calls to the Artsy APIs for authentication, search, artist, artwork, gene (category). Each of these 5 API calls are the same as Homework #8. So, you can use the same Node.js backend as Homework #8. In case you need to change something in Node, make sure you do not break your Angular assignment (or deploy a separate copy) as the grading for homework will not be finished at least until 1 week later. CourseNana.COM

We suggest you to use Java. Kotlin is allowed but will not be supported in piazza. PS: This app has been designed and implemented in a Pixel 5 emulator by using SDK CourseNana.COM

API 30. It is highly recommended that you use the same virtual device and API to ensure consistency. CourseNana.COM

Demo will be on an emulator using Zoom, no personal devices allowed, see the rules: CourseNana.COM

  CourseNana.COM

5. IMPLEMENTATION CourseNana.COM

5.1 App Icon and Splash Screen CourseNana.COM

In order to get the app icon/image, please see the hints section. The app begins with a welcome screen (Figure 1.2) which displays the icon provided in the hint above. CourseNana.COM

This screen is called Splash Screen and can be implemented using many different methods. The simplest is to create a resource file for the launcher screen and add it as a style to AppTheme.Launcher (see hints). Please refer to Figure 1.1 and Figure 1.2. CourseNana.COM

  CourseNana.COM

5.2 Home screen CourseNana.COM

When you open the app, there will be an initial progress bar while the data is being fetched using volley as shown in Figure 2.1. The home screen will have a toolbar at the top with title “ArtistSearch” and the search icon. Below that, it will show the current date as shown CourseNana.COM

in Figure 2.2. There is 1 Section on the home screen called Favorites Section which is described below CourseNana.COM

  CourseNana.COM

Figure 2.1 Figure 2.2 Figure 2.3 CourseNana.COM

  CourseNana.COM

Progress Bar Initial Home Screen Home Screen CourseNana.COM

If the user starts the app for the first time, they will not have any artist in the favorites section. CourseNana.COM

Please refer to the Hints section for these icons CourseNana.COM

  CourseNana.COM

● Favorites Section - This section will show all the artists that have been marked as “favorite” by the user. This is the new feature in addition to Homework #8. For each favorited artist show: CourseNana.COM

o Artist Name CourseNana.COM

o Nationality CourseNana.COM

o Birthday CourseNana.COM

Each artist listing also has a button on the extreme right, next to the birthday field (right arrow (or) a chevron-right button). On clicking the button, the detailed artist information screen will open for the selected artist. CourseNana.COM


CourseNana.COM

At the bottom of the favorites sections, we have a ‘Powered by Artsy’ text in italic. On clicking this text, the App should open the Artsy homepage in browser. (Artsy URL: https://www.artsy.net/). CourseNana.COM

The home screen has been implemented by using a RecyclerView with the SectionedRecyclerViewAdapter. Each of the artist listings has been implemented using ConstraintLayout, TextView. The Search button on the toolbar opens the search bar to type the artist name to search. CourseNana.COM

  CourseNana.COM

The home screen has been implemented by using a RecyclerView with the SectionedRecyclerViewAdapter. Each of the artist listings has been implemented using ConstraintLayout, TextView. CourseNana.COM


CourseNana.COM

The Search button on the toolbar opens the search bar to type the artist name to search. CourseNana.COM

  CourseNana.COM

5.4 Search Result Screen CourseNana.COM

When user performs a search from the home screen through action bar, a progress bar should come up while results from the backend are being fetched. Once, the results are available, the progress bar should disappear and screen containing list of artist with their Name and Image (image might take longer to load sometimes) in Card view should be displayed to the user. CourseNana.COM


CourseNana.COM

● Search Result screen should be vertically scrollable and uses RecyclerView. CourseNana.COM

● You can load web images with Picasso. (see hints) CourseNana.COM

● Images should be uniform and can be resized or fitted. CourseNana.COM


CourseNana.COM

CourseNana.COM

If there is no result for the given keyword, it should display ‘No Results Found’. See reference video and Figure 4.* CourseNana.COM

  CourseNana.COM

5.5 Detailed Artist Information Screen CourseNana.COM

On clicking the chevron-right button in favorites or clicking an artist from search result screen, a progress bar should come up while the artist details are being fetched. Once the data has been fetched the progress bar should disappear and Tabbed Screen with Details Tab (Default) should be available to the user (Figure 5.*). CourseNana.COM


CourseNana.COM

The top action bar must show the artist name and the back button to go back to the search result screen. The action bar should also contain a favorite icon to add or remove the artist from favorites. The favorite icon will either be filled or bordered depending on whether the artist is marked as favorite or not. Adding/Removing the artist from favorites should also display a toast message as shown in the video. See hints for icons. CourseNana.COM

Below the Action bar, there should be 2 Tab Headings: Details and Artwork with their respective icons on it. By Default, Details tab should be selected whenever this screen is opened. Each Tab should contain following when selected. CourseNana.COM


CourseNana.COM

Details Tab: CourseNana.COM

- Details Tab should contain Artist Name, Artist Nationality, Artist Birthday, Artist CourseNana.COM


CourseNana.COM

Deathday and Artist Biography. CourseNana.COM

If any of the above mentioned information is null or missing, handle it properly by not displaying its entire part. CourseNana.COM


CourseNana.COM

Artwork Tab: CourseNana.COM

- Artwork Tab should contain a list of artworks, each artwork is displayed in a Card view containing Artwork Name and Artwork Image. CourseNana.COM

- Artwork Image should be clickable. CourseNana.COM

- When Artwork image is clicked, it should open a modal/dialog box containing CourseNana.COM


CourseNana.COM

Category information. CourseNana.COM

- Category Dialog box contains category name, category description and category thumbnail. CourseNana.COM

If there is no artwork for the artist, it should display ‘No Artworks Found’. See reference video and Figure 5.*. CourseNana.COM

CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
CSCI571代写,Web Technologies代写,USC代写,University of Southern California代写,CSCI571代编,Web Technologies代编,USC代编,University of Southern California代编,CSCI571代考,Web Technologies代考,USC代考,University of Southern California代考,CSCI571help,Web Technologieshelp,USChelp,University of Southern Californiahelp,CSCI571作业代写,Web Technologies作业代写,USC作业代写,University of Southern California作业代写,CSCI571编程代写,Web Technologies编程代写,USC编程代写,University of Southern California编程代写,CSCI571programming help,Web Technologiesprogramming help,USCprogramming help,University of Southern Californiaprogramming help,CSCI571assignment help,Web Technologiesassignment help,USCassignment help,University of Southern Californiaassignment help,CSCI571solution,Web Technologiessolution,USCsolution,University of Southern Californiasolution,