Got a working app build, hallelujah!

This commit is contained in:
Z. Charles Dziura 2024-08-16 15:49:36 -04:00
parent 5caa0cba08
commit ecea0e12d6
5 changed files with 51 additions and 29 deletions

View file

@ -63,11 +63,13 @@ dependencies {
implementation(libs.androidx.ui) implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.navigation.compose)
testImplementation(libs.junit) testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4) androidTestImplementation(libs.androidx.ui.test.junit4)
androidTestImplementation(libs.androidx.navigation.testing)
debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest) debugImplementation(libs.androidx.ui.test.manifest)
} }

View file

@ -4,44 +4,38 @@ import android.os.Bundle
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize import androidx.navigation.compose.NavHost
import androidx.compose.foundation.layout.padding import androidx.navigation.compose.composable
import androidx.compose.material3.Scaffold import androidx.navigation.compose.rememberNavController
import androidx.compose.material3.Text import kotlinx.serialization.Serializable
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import software.makeshift.debtpirate.ui.theme.DebtPirateTheme import software.makeshift.debtpirate.ui.theme.DebtPirateTheme
import software.makeshift.debtpirate.usecases.login.LoginScreen
@Serializable
object LoginRoute
class MainActivity : ComponentActivity() { class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
enableEdgeToEdge() enableEdgeToEdge()
setContent { setContent {
val navController = rememberNavController()
DebtPirateTheme { DebtPirateTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> NavHost(navController = navController, startDestination = LoginRoute) {
Greeting( composable<LoginRoute> {
name = "Android", LoginScreen()
modifier = Modifier.padding(innerPadding) }
)
} }
} }
} }
} }
} }
@Composable //@Preview(showBackground = true)
fun Greeting(name: String, modifier: Modifier = Modifier) { //@Composable
Text( //fun GreetingPreview() {
text = "Hello $name!", // DebtPirateTheme {
modifier = modifier // Greeting("Android")
) // }
} //}
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
DebtPirateTheme {
Greeting("Android")
}
}

View file

@ -0,0 +1,23 @@
package software.makeshift.debtpirate.usecases.login
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@Composable
fun LoginScreen() {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(modifier = Modifier.padding(innerPadding))
}
}
@Composable
private fun Greeting(modifier: Modifier = Modifier) {
Text(
text = "Hello from Login!",
modifier = modifier
)
}

View file

@ -6,7 +6,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode. # When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. For more details, visit # This option should only be used with decoupled projects. For more details, visit
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects # https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects

View file

@ -11,7 +11,8 @@ material3 = "1.3.0-beta05"
kotlinxSerializationJson = "1.7.1" kotlinxSerializationJson = "1.7.1"
lifecycleRuntimeKtx = "2.8.4" lifecycleRuntimeKtx = "2.8.4"
activityCompose = "1.9.1" activityCompose = "1.9.1"
composeBom = "2024.04.01" composeBom = "2024.06.00"
navigation = "2.8.0-beta01"
[libraries] [libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
@ -31,6 +32,8 @@ androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" }
androidx-navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "navigation" }
[plugins] [plugins]
android-application = { id = "com.android.application", version.ref = "agp" } android-application = { id = "com.android.application", version.ref = "agp" }