#MainActivity
QuestionsTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
//변수
//기능 변수
var context = LocalContext.current
val db = remember { AppDatabase.getDatabase(context) }
val scope = rememberCoroutineScope()
//질문&답변 변수
var one by remember { mutableStateOf("") }
var two by remember { mutableStateOf("") }
var three by remember { mutableStateOf("") }
var four by remember { mutableStateOf("") }
var savedone by remember { mutableStateOf("") }
var savedtwo by remember { mutableStateOf("") }
var savedthree by remember { mutableStateOf("") }
var savedfour by remember { mutableStateOf("") }
var uid by remember { mutableStateOf(0) }
//코드
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text(text = "1. 내 생년월일?")
Question(num1 = one, num2 = { one = it })
Text(text = "2. 내 MBTI?")
Question(num1 = two, num2 = { two = it })
Text(text = "3. 내가 가고 싶은 여행지?")
Question(num1 = three, num2 = { three = it })
Text(text = "4. 내가 좋아하는 음식?")
Question(num1 = four, num2 = { four = it })
Button(onClick = {
savedone = one
savedtwo = two
savedthree = three
savedfour = four
val oldUser = FirstUser(
uid = uid,
one = one,
two = two,
three = three,
four = four
)
scope.launch(Dispatchers.IO) {
db.userADao().insertAll(oldUser)
}
val intent1 = Intent(context, MainActivity2::class.java)
intent1.putExtra("firstuid", uid)
intent1.putExtra("firstone", savedone)
intent1.putExtra("firsttwo", savedtwo)
intent1.putExtra("firstthree", savedthree)
intent1.putExtra("firstfour", savedfour)
context.startActivity(intent1)
}) {
Text(text = "완료")
}
}
}
}
}
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Question(num1: String, num2: (String) -> Unit) {
TextField(value = num1, onValueChange = num2)
}
#MainActivity2
QuestionsTheme {
var context = LocalContext.current
val db = remember { AppDatabase.getDatabase(context) }
val scope = rememberCoroutineScope()
var one by remember { mutableStateOf("") }
var two by remember { mutableStateOf("") }
var three by remember { mutableStateOf("") }
var four by remember { mutableStateOf("") }
var savedone by remember { mutableStateOf("") }
var savedtwo by remember { mutableStateOf("") }
var savedthree by remember { mutableStateOf("") }
var savedfour by remember { mutableStateOf("") }
var uid by remember { mutableStateOf(0) }
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text(text = "1. 너의 생년월일?")
Question(num1 = one, num2 = { one = it })
Text(text = "2. 너의 MBTI?")
Question(num1 = two, num2 = { two = it })
Text(text = "3. 너가 가고 싶은 여행지?")
Question(num1 = three, num2 = { three = it })
Text(text = "4. 너가 좋아하는 계절?")
Question(num1 = four, num2 = { four = it })
var firstuid2 = intent.getIntExtra("firstuid", 0)
var firstone2 = intent.getStringExtra("firstone")
var firsttwo2 = intent.getStringExtra("firsttwo")
var firstthree2 = intent.getStringExtra("firstthree")
var firstfour2 = intent.getStringExtra("firstfour")
Button(onClick = {
savedone = one
savedtwo = two
savedthree = three
savedfour = four
val newUser = SecondUser(
uid = uid,
one = one,
two = two,
three = three,
four = four
)
scope.launch(Dispatchers.IO) {
db.userBDao().insertAll(newUser)
}
val intent2 = Intent(context, MainActivity3::class.java)
intent2.putExtra("seconduid", uid)
intent2.putExtra("secondone", savedone)
intent2.putExtra("secondtwo", savedtwo)
intent2.putExtra("secondthree", savedthree)
intent2.putExtra("secondfour", savedfour)
intent2.putExtra("firstuid3", firstuid2)
intent2.putExtra("firstone3", firstone2)
intent2.putExtra("firsttwo3", firsttwo2)
intent2.putExtra("firstthree3", firstthree2)
intent2.putExtra("firstfour3", firstfour2)
context.startActivity(intent2)
}) {
Text(text = "완료")
}
}
}
}
}
}
#MainActivity
QuestionsTheme {
Column {
val b = intent.getStringExtra("firstone3")
var c = intent.getStringExtra("firsttwo3")
var d = intent.getStringExtra("firstthree3")
var e = intent.getStringExtra("firstfour3")
var g = intent.getStringExtra("secondone")
var h = intent.getStringExtra("secondtwo")
var i = intent.getStringExtra("secondthree")
var j = intent.getStringExtra("secondfour")
var score = 0
if (b == g) {
score += 1
} else {
score += 0
}
if (c == h) {
score += 1
} else {
score += 0
}
if (d == i) {
score += 1
} else {
score += 0
}
if (e == j) {
score += 1
} else {
score += 0
}
var result = (score.toDouble() / 4) * 100
val formattedResult = String.format("%.2f", result)
Text(text = "최종 점수 : $formattedResult %")
}
}
}
}
}