Skip to content

melike-ertekin/LoadingApp

Repository files navigation

Application Loading Status App

This is the 3rd project for Udacity Android Kotlin Developer Nanodegree Program.

It is a part of Course 3: Advanced Android Apps with Kotlin, Part-1

Project rubric is here!

Project Steps

  1. Create a radio list of the following options where one of them can be selected for downloading:
  1. Create a custom loading button by extending View class and assigning custom attributes to it
  2. Animate properties of the custom button once it’s clicked
  3. Add the custom button to the main screen, set on click listener and call download() function with selected Url
  4. If there is no selected option, display a Toast to let the user know to select one.
  5. Once the download is complete, send a notification with custom style and design
  6. Add a button with action to the notification, that opens a detailed screen of a downloaded repository
  7. Create the details screen and display the name of the repository and status of the download
  8. Use declarative XML with motionLayout to coordinate animations across the views on the detail screen
  9. Add a button to the detail screen to return back to the main screen.

Dependencies

def lifecycle_version = "2.2.0"

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"

testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

About

This is the 3rd project for Udacity Android Kotlin Developer Nanodegree Program.

Resources

Stars

Watchers

Forks

Languages