init
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
@@ -6,55 +7,67 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "de.jadehs.strassenschadenpro2"
|
||||
compileSdk {
|
||||
version = release(36)
|
||||
}
|
||||
compileSdk = libs.versions.compileSdk.get().toInt()
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "de.jadehs.strassenschadenpro2"
|
||||
minSdk = 29
|
||||
targetSdk = 36
|
||||
minSdk = libs.versions.minSdk.get().toInt()
|
||||
targetSdk = libs.versions.targetSdk.get().toInt()
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
useSupportLibrary = true
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
jvmTarget = "17"
|
||||
}
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
packaging {
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(platform(libs.androidx.compose.bom))
|
||||
implementation(libs.androidx.compose.ui)
|
||||
implementation(libs.androidx.compose.ui.graphics)
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
implementation(libs.androidx.compose.material3)
|
||||
implementation(libs.androidx.ui)
|
||||
implementation(libs.androidx.ui.graphics)
|
||||
implementation(libs.androidx.ui.tooling.preview)
|
||||
implementation(libs.androidx.material3)
|
||||
testImplementation(libs.junit)
|
||||
androidTestImplementation(libs.androidx.junit)
|
||||
androidTestImplementation(libs.androidx.espresso.core)
|
||||
androidTestImplementation(platform(libs.androidx.compose.bom))
|
||||
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
|
||||
debugImplementation(libs.androidx.compose.ui.tooling)
|
||||
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
||||
}
|
||||
androidTestImplementation(libs.androidx.ui.test.junit4)
|
||||
debugImplementation(libs.androidx.ui.tooling)
|
||||
debugImplementation(libs.androidx.ui.test.manifest)
|
||||
|
||||
// ArcGIS Maps for Kotlin - SDK dependency
|
||||
implementation(libs.arcgis.maps.kotlin)
|
||||
// Toolkit dependencies
|
||||
implementation(platform(libs.arcgis.maps.kotlin.toolkit.bom))
|
||||
implementation(libs.arcgis.maps.kotlin.toolkit.geoview.compose)
|
||||
implementation(libs.arcgis.maps.kotlin.toolkit.authentication)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
|
||||
@@ -28,11 +28,17 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.modifier.modifierLocalConsumer
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.arcgismaps.ApiKey
|
||||
import com.arcgismaps.ArcGISEnvironment
|
||||
import com.arcgismaps.httpcore.authentication.OAuthUserConfiguration
|
||||
import com.arcgismaps.toolkit.authentication.AuthenticatorState
|
||||
import com.arcgismaps.toolkit.authentication.DialogAuthenticator
|
||||
import de.jadehs.strassenschadenpro2.ui.theme.StrassenSchadenPro2Theme
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
ArcGISEnvironment.apiKey = ApiKey.create(BuildConfig.ACCESS_TOKEN)
|
||||
enableEdgeToEdge()
|
||||
setContent {
|
||||
StrassenSchadenPro2Theme {
|
||||
@@ -40,4 +46,5 @@ class MainActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,14 +19,24 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import de.jadehs.strassenschadenpro2.pages.CreatePage
|
||||
import de.jadehs.strassenschadenpro2.pages.ListPage
|
||||
import de.jadehs.strassenschadenpro2.pages.MapPage
|
||||
import de.jadehs.strassenschadenpro2.pages.SettingsPage
|
||||
import com.arcgismaps.mapping.ArcGISMap
|
||||
import com.arcgismaps.mapping.BasemapStyle
|
||||
import com.arcgismaps.mapping.Viewpoint
|
||||
import com.arcgismaps.toolkit.geoviewcompose.MapView
|
||||
|
||||
@Composable
|
||||
fun MainScreen(modifier: Modifier = Modifier) {
|
||||
|
||||
val map = remember {
|
||||
createMap()
|
||||
}
|
||||
|
||||
val navItemList = listOf(
|
||||
NavItem("Karte",Icons.Default.Place),
|
||||
NavItem("Erstellen",Icons.Default.AddCircle),
|
||||
@@ -36,7 +46,9 @@ fun MainScreen(modifier: Modifier = Modifier) {
|
||||
|
||||
var selectedIndex by remember { mutableStateOf(0) }
|
||||
|
||||
Scaffold(modifier = Modifier.fillMaxSize(),
|
||||
Scaffold(
|
||||
//topBar = { TopAppBar(title = { Text(text = stringResource(id = R.string.app_name)) }) },
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
bottomBar = {
|
||||
NavigationBar {
|
||||
navItemList.forEachIndexed { index, item ->
|
||||
@@ -52,7 +64,12 @@ fun MainScreen(modifier: Modifier = Modifier) {
|
||||
}
|
||||
}) {
|
||||
innerPadding ->
|
||||
ContentScreen(modifier = Modifier.padding(innerPadding), selectedIndex)
|
||||
MapView(
|
||||
modifier = Modifier.fillMaxSize().padding(innerPadding),
|
||||
arcGISMap = map,
|
||||
insets = innerPadding
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,4 +82,14 @@ fun ContentScreen(modifier: Modifier = Modifier, selectedIndex: Int) {
|
||||
2 -> ListPage()
|
||||
3 -> SettingsPage()
|
||||
}
|
||||
}
|
||||
|
||||
fun createMap(): ArcGISMap {
|
||||
return ArcGISMap(BasemapStyle.ArcGISTopographic).apply {
|
||||
initialViewpoint = Viewpoint(
|
||||
latitude = 34.0270,
|
||||
longitude = -118.8050,
|
||||
scale = 72000.0
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user