Skip to content

Load Status Application developed as part of Udacity Nanodegree Android Kotlin Developer Course. Allows for User to download a number of files. Features Notifications and MotionLayout.

Notifications You must be signed in to change notification settings

dev-iram/Load-Status-App

Repository files navigation

Load Status App

loadstatusapplication

This is a Loading Status Application I created as per specifications in Project 3 as part of Udacity Nanodegree Android Kotlin Developer Course.

✦ Programming Language; Kotlin
✦ Minimum SDK; 33
✦ UI Layout; XML, MotionLayout
✦ Software Tools;
    ✧ Android Studio: IDE Used to create, compile and build application

Application Screenshots

Copy of Copy of Copy of ATM Kiosk System Copy of Copy of Copy of ATM Kiosk System (1) Copy of Copy of Copy of ATM Kiosk System (2)

Application Logo

Application Demo

demo.mp4

Assignment Brief

In this project students will create an app to download a file from the Internet by clicking on a custom-built button where:

✦ Width of the button gets animated from left to right

✦ Text gets changed based on different states of the button

✦ Circle gets be animated from 0 to 360 degrees

✦ A notification will be sent once the download is complete.

When a user clicks on the notification, the user lands on detail activity and the notification gets dismissed.
In detail activity, the status of the download will be displayed and animated via MotionLayout upon opening the activity.

Installation

  1. Open Android Studio Application
  2. Choose "Open an existing Android Studio Project"
  3. In the opened finder find Load Status App folder
  4. Click on the folder and select starter folder and click on "Open" button
  5. Once the project is opened in Android studio, go to File -> Sync Project with gradle files
  6. Click on "Run" button in Android Studio to install the project on the phone or emulator

Dependencies

implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

Submission Feedback

2nd Submission - Passed ✅

13th February 2024

Hello Dear Student!

Awesome job solving so well the issue marked by the previous review, now your app will be able to be displayed on almost all devices in the market. 👏

Now, you can continue with the lessons, and please, keep working like this!

1st Submission - Failed ❌

10th February 2024

Hello Student!

An awesome job was done with this project.

✅ Custom attributes have been applied to the custom button.

✅ The custom button is perfectly implemented and the animation is great. The message changes when the user clicks on the download button after selecting an option and he constantly receives good feedback while the file is downloading.

✅ If the user clicks on the download button without making a selection, an informative Toast is shown.

✅ The detail screen contains the name of the file downloaded and informs the user about its status.

✅ The animation using MotionLayout has also been correctly implemented.

There is just one small but important detail to be fixed and you will be done. Don't worry, looking at the great work done with this project, I'm sure that this won't take much of your time and your final app will be perfect.

❌ When tested on a device running Android SDK and higher, the notification does not show. You only need to add runtime permissions and this issue will be solved. 😄

All the projects must be able to run correctly on as many devices as possible.

About

Load Status Application developed as part of Udacity Nanodegree Android Kotlin Developer Course. Allows for User to download a number of files. Features Notifications and MotionLayout.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages