From 4c273018ea4ccbc84b64f6fe92c4851920f89268 Mon Sep 17 00:00:00 2001 From: Diraj H S Date: Sat, 15 Jun 2024 14:02:08 +0530 Subject: [PATCH] Updated dependencies and README Signed-off-by: Diraj H S --- README.md | 46 +++++----------------------------------- starter/README.md | 2 +- starter/app/build.gradle | 11 ++++------ starter/build.gradle | 30 ++++++++++++-------------- 4 files changed, 24 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index f68638a58..047f4fb7f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,11 @@ The app is consists of two screens: A Main screen with a list of all the detecte This kind of app is one of the most usual in the real world, what you will learn by doing this are some of the most fundamental skills you need to know to work as a professional Android developer, as fetching data from the internet, saving data to a database, and display the data in a clear, clear, compelling UI. +## Requirements + +1. Android Studio (Jellyfish or above) +2. JDK 21 with `JAVA_HOME` environment variable set. If you don't have JDK 21 installed or `JAVA_HOME` is not set, consider using a tool like `sdkman` to simplify the process. Refer to the sdkman documentation for installation instructions: [sdkman installation](https://sdkman.io/install) + ### Screenshots ![Screenshot 1](starter/screenshots/screen_1.png) @@ -17,47 +22,6 @@ This kind of app is one of the most usual in the real world, what you will learn ![Screenshot 3](starter/screenshots/screen_3.png) ![Screenshot 4](starter/screenshots/screen_4.png) -### Dependencies - -``` -implementation fileTree(dir: 'libs', include: ['*.jar']) -implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -implementation 'androidx.appcompat:appcompat:1.1.0' -implementation 'androidx.core:core-ktx:1.2.0' -implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - -implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" - -implementation "android.arch.navigation:navigation-fragment-ktx:1.0.0" -implementation "android.arch.navigation:navigation-ui-ktx:1.0.0" - -// Download and parse data -implementation "com.squareup.moshi:moshi:1.8.0" -implementation "com.squareup.moshi:moshi-kotlin:1.8.0" -implementation "com.squareup.retrofit2:retrofit:2.6.2" -implementation "com.squareup.retrofit2:converter-moshi:2.5.0" -implementation 'com.squareup.retrofit2:converter-scalars:2.5.0' - -// Kotlin coroutines -implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0" -implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0" -implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2" - -implementation "androidx.recyclerview:recyclerview:1.1.0" - -// Image downloader -implementation 'com.squareup.picasso:picasso:2.5.2' - -implementation "androidx.room:room-runtime:2.2.3" -kapt "androidx.room:room-compiler:2.2.3" - -implementation "android.arch.work:work-runtime-ktx:1.0.1" - -testImplementation 'junit:junit:4.12' -androidTestImplementation 'androidx.test.ext:junit:1.1.1' -androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' -``` - ### Installation To get the project running on your local machine, you need to follow these steps: diff --git a/starter/README.md b/starter/README.md index dcb02baa7..03e63ea49 100644 --- a/starter/README.md +++ b/starter/README.md @@ -5,5 +5,5 @@ This folder should contain the scaffolded project files to get a student started ## Note: Android Kotlin Gradle Update Use the updated Gradle version in the `~/gradle/wrapper/gradle-wrapper.properties` file: ``` -distributionUrl = https\://services.gradle.org/distributions/gradle-6.1.1-all.zip +distributionUrl = https\://services.gradle.org/distributions/gradle-8.8-all.zip ``` diff --git a/starter/app/build.gradle b/starter/app/build.gradle index 5ce719d8a..3ac0658ad 100644 --- a/starter/app/build.gradle +++ b/starter/app/build.gradle @@ -8,12 +8,12 @@ plugins { android { namespace 'com.udacity.asteroidradar' - compileSdk 33 + compileSdk 34 defaultConfig { applicationId "com.udacity.asteroidradar" minSdkVersion 24 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -28,11 +28,8 @@ android { dataBinding true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } } diff --git a/starter/build.gradle b/starter/build.gradle index 27b244d0e..ce36e0709 100644 --- a/starter/build.gradle +++ b/starter/build.gradle @@ -1,21 +1,19 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext { - version_core = "1.10.1" + version_core = "1.13.1" version_constraint_layout = "2.1.4" - version_gradle = '7.3.1' - version_kotlin = "1.8.0" - version_lifecycle = "2.6.1" - version_navigation = '2.5.3' - version_glide = "4.14.2" - version_moshi = "1.9.3" + version_gradle = '8.4.2' + version_kotlin = "1.9.24" + version_lifecycle = "2.8.2" + version_navigation = '2.7.7' + version_glide = "4.16.0" + version_moshi = "1.15.1" version_retrofit = "2.9.0" - version_recyclerview = "1.3.0-rc01" - version_work = "2.8.1" - version_room = "2.5.1" - version_appcompat = "1.6.1" - version_moshi = "1.9.3" - version_glide = "4.14.2" + version_recyclerview = "1.3.2" + version_work = "2.9.0" + version_room = "2.6.1" + version_appcompat = "1.7.0" } repositories { @@ -23,9 +21,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.3.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0" - classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3" + classpath "com.android.tools.build:gradle:$version_gradle" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$version_kotlin" + classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$version_navigation" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files