Добавил Singleton

This commit is contained in:
maxnes3 2023-11-11 02:31:34 +04:00
parent fb5550b0c6
commit ea2618556f
4 changed files with 58 additions and 18 deletions

View File

@ -13,6 +13,10 @@ import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import com.example.mobileapp.entities.Mail
import com.example.mobileapp.entities.MailSingleton
import com.example.mobileapp.entities.Story
import com.example.mobileapp.entities.StorySingleton
import com.example.mobileapp.screens.Authorization
import com.example.mobileapp.screens.ListDataScreen
import com.example.mobileapp.screens.ListMailScreen
@ -32,6 +36,22 @@ class MainActivity : ComponentActivity() {
color = MaterialTheme.colorScheme.background
) {
val navController = rememberNavController()
val mailSingleton = MailSingleton()
mailSingleton.addMail(Mail(0, 0, "Дзюнзи Ито", "Выложил новый"))
mailSingleton.addMail(Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"))
mailSingleton.addMail(Mail(0, 0, "Дзюнзи Ито", "Выложил новый"))
mailSingleton.addMail(Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"))
mailSingleton.addMail(Mail(0, 0, "Дзюнзи Ито", "Выложил новый"))
mailSingleton.addMail(Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"))
mailSingleton.addMail(Mail(0, 0, "Дзюнзи Ито", "Выложил новый"))
mailSingleton.addMail(Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"))
val storySingleton = StorySingleton()
storySingleton.addStory(Story(0, "Чужак", "Знаменитая книга стивена кинга", R.drawable.king))
storySingleton.addStory(Story(1, "Переулок", "История ужасов от Дзюнзи Ито", R.drawable.dzun))
storySingleton.addStory(Story(2, "Чужак", "Знаменитая книга стивена кинга", R.drawable.king))
storySingleton.addStory(Story(3, "Переулок", "История ужасов от Дзюнзи Ито", R.drawable.dzun))
AppNavigation(navController = navController)
}
}

View File

@ -34,24 +34,23 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.mobileapp.R
import com.example.mobileapp.entities.Mail
import com.example.mobileapp.entities.MailSingleton
import com.example.mobileapp.entities.Story
import com.example.mobileapp.entities.StorySingleton
import com.example.mobileapp.ui.theme.ButtonColor1
import com.example.mobileapp.ui.theme.ButtonColor2
@Composable
fun DataListScroll(){
val storySingleton = StorySingleton()
LazyColumn(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier
.fillMaxWidth()
){
items(
listOf(
Story(0, "Чужак", "Знаменитая книга стивена кинга", R.drawable.king),
Story(1, "Переулок", "История ужасов от Дзюнзи Ито", R.drawable.dzun),
Story(2, "Чужак", "Знаменитая книга стивена кинга", R.drawable.king),
Story(3, "Переулок", "История ужасов от Дзюнзи Ито", R.drawable.dzun),
)
storySingleton.getStoryList()
){ item ->
DataListItem(item = item)
}
@ -138,24 +137,15 @@ fun DataListItemButton(label: String, backgroundColor: Color, textColor: Color){
@Composable
fun MailListScroll(){
val mailSingleton = MailSingleton()
LazyColumn(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier
.fillMaxWidth()
){
items(
listOf(
Mail(0, 0, "Дзюнзи Ито", "Выложил новый"),
Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"),
Mail(0, 0, "Дзюнзи Ито", "Выложил новый"),
Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"),
Mail(0, 0, "Дзюнзи Ито", "Выложил новый"),
Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"),
Mail(0, 0, "Дзюнзи Ито", "Выложил новый"),
Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере"),
Mail(0, 0, "Дзюнзи Ито", "Выложил новый"),
Mail(1, 1, "Стивен Кинг", "Меня отменили в Твиттере")
)
mailSingleton.getMailList()
){ item ->
MailListItem(item = item)
}

View File

@ -0,0 +1,15 @@
package com.example.mobileapp.entities
class MailSingleton {
companion object {
val mailList: MutableList<Mail> = mutableListOf()
}
fun addMail(mail: Mail) {
mailList.add(mail)
}
fun getMailList(): List<Mail> {
return mailList.toList()
}
}

View File

@ -0,0 +1,15 @@
package com.example.mobileapp.entities
class StorySingleton {
companion object {
val storyList: MutableList<Story> = mutableListOf()
}
fun addStory(story: Story) {
storyList.add(story)
}
fun getStoryList(): List<Story> {
return storyList.toList()
}
}