MainActivity.kt
package com.cfsuman.composenetwork
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.cfsuman.composenetwork.ui.theme.ComposeNetworkTheme
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ComposeNetworkTheme {
Scaffold(
topBar = {
TopAppBar(
title = {
Text(
text = "Serialization Allow Special" +
" Floating Point Values",
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
}
)
},
content = { MainContent()}
)
}
}
}
}
@Composable
fun MainContent() {
val format = Json{
prettyPrint = true
allowSpecialFloatingPointValues = true
}
val product = Product(name = "School Bag", price = Double.NaN)
val productString = format.encodeToString(product)
Column(Modifier.fillMaxSize().padding(24.dp)) {
Text(
text = productString,
style = MaterialTheme.typography.h5
)
}
}
@Serializable
data class Product(
val name: String,
val price: Double
)
- jetpack compose - Kotlinx serialization decode from string
- jetpack compose - Kotlinx serialization encode defaults
- jetpack compose - Kotlinx serialization parse to json element
- jetpack compose - Kotlinx serialization build json element
- jetpack compose - Kotlinx serialization build json array
- jetpack compose - Kotlinx serialization build json object
- jetpack compose - Kotlinx serialization decode josn element
- jetpack compose - Flow current time
- jetpack compose - How to flow a list
- jetpack compose - flowOf flow builder
- jetpack compose - How to use ViewModel state
- jetpack compose - Flow using ViewModel
- jetpack compose - Count up flow by ViewModel
- jetpack compose - Icon from vector resource
- jetpack compose - IconButton from vector resource