Compare commits

...

7 Commits
main ... dev

5 changed files with 37 additions and 7 deletions

View File

@ -15,8 +15,8 @@ android {
applicationId = "com.hyperling.roomexample" applicationId = "com.hyperling.roomexample"
minSdk = 21 minSdk = 21
targetSdk = 34 targetSdk = 34
versionCode = 1 versionCode = 2
versionName = "1.0" versionName = "1.03"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.AlertDialog import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.Text import androidx.compose.material3.Text
@ -11,6 +12,9 @@ import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextGeometricTransform
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@Composable @Composable
@ -35,7 +39,8 @@ fun AddContactDialog(
}, },
placeholder = { placeholder = {
Text(text = "First Name") Text(text = "First Name")
} },
keyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Words)
) )
TextField( TextField(
value = state.lastName, value = state.lastName,
@ -44,7 +49,8 @@ fun AddContactDialog(
}, },
placeholder = { placeholder = {
Text(text = "Last Name") Text(text = "Last Name")
} },
keyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Words)
) )
TextField( TextField(
value = state.phoneNumber, value = state.phoneNumber,
@ -53,7 +59,8 @@ fun AddContactDialog(
}, },
placeholder = { placeholder = {
Text(text = "Phone Number") Text(text = "Phone Number")
} },
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Phone)
) )
} }
}, },

View File

@ -22,9 +22,21 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
fun getEnumStringResourceID(enumName: String): Int {
return (
when (enumName) {
SortType.FIRST_NAME.toString() -> R.string.FIRST_NAME
SortType.LAST_NAME.toString() -> R.string.LAST_NAME
SortType.PHONE_NUMBER.toString() -> R.string.PHONE_NUMBER
else -> 0
}
)
}
@Composable @Composable
fun ContactScreen( fun ContactScreen(
state: ContactState, state: ContactState,
@ -52,6 +64,9 @@ fun ContactScreen(
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
){ ){
item { item {
Row (){
Text(text = "Sort ascending by:")
}
Row ( Row (
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
@ -72,10 +87,13 @@ fun ContactScreen(
onEvent(ContactEvent.SortContacts(sortType)) onEvent(ContactEvent.SortContacts(sortType))
} }
) )
Text(text = sortType.name) Text(text = stringResource(getEnumStringResourceID(sortType.name)))
} }
} }
} }
Row (){
Text(text = "Contacts:")
}
} }
items(state.contacts) {contact -> items(state.contacts) {contact ->
Row ( Row (

View File

@ -58,7 +58,9 @@ class MainActivity : ComponentActivity() {
@Composable @Composable
fun GreetingPreview() { fun GreetingPreview() {
ExampleRoomDatabase21EmptyTheme { ExampleRoomDatabase21EmptyTheme {
Greeting("Android") ContactScreen (
)
} }
} }
// */ // */

View File

@ -1,3 +1,6 @@
<resources> <resources>
<string name="app_name">Room Database Testing</string> <string name="app_name">Room Database Testing</string>
<string name="FIRST_NAME">First Name</string>
<string name="LAST_NAME">Last Name</string>
<string name="PHONE_NUMBER">Phone Number</string>
</resources> </resources>