diff --git a/.gradle/8.0/checksums/checksums.lock b/.gradle/8.0/checksums/checksums.lock index c1f74ab..60ac219 100644 Binary files a/.gradle/8.0/checksums/checksums.lock and b/.gradle/8.0/checksums/checksums.lock differ diff --git a/.gradle/8.0/checksums/md5-checksums.bin b/.gradle/8.0/checksums/md5-checksums.bin index 1de9280..6f8470d 100644 Binary files a/.gradle/8.0/checksums/md5-checksums.bin and b/.gradle/8.0/checksums/md5-checksums.bin differ diff --git a/.gradle/8.0/checksums/sha1-checksums.bin b/.gradle/8.0/checksums/sha1-checksums.bin index 4e51bde..65d2cef 100644 Binary files a/.gradle/8.0/checksums/sha1-checksums.bin and b/.gradle/8.0/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.0/executionHistory/executionHistory.bin b/.gradle/8.0/executionHistory/executionHistory.bin index b5551c7..0a8af53 100644 Binary files a/.gradle/8.0/executionHistory/executionHistory.bin and b/.gradle/8.0/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.0/executionHistory/executionHistory.lock b/.gradle/8.0/executionHistory/executionHistory.lock index a27065b..29083f9 100644 Binary files a/.gradle/8.0/executionHistory/executionHistory.lock and b/.gradle/8.0/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.0/fileHashes/fileHashes.bin b/.gradle/8.0/fileHashes/fileHashes.bin index 7094f96..27e7475 100644 Binary files a/.gradle/8.0/fileHashes/fileHashes.bin and b/.gradle/8.0/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.0/fileHashes/fileHashes.lock b/.gradle/8.0/fileHashes/fileHashes.lock index 9a28ecc..ec1657c 100644 Binary files a/.gradle/8.0/fileHashes/fileHashes.lock and b/.gradle/8.0/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.0/fileHashes/resourceHashesCache.bin b/.gradle/8.0/fileHashes/resourceHashesCache.bin index dcdab49..13bf67c 100644 Binary files a/.gradle/8.0/fileHashes/resourceHashesCache.bin and b/.gradle/8.0/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index cc67cb9..77c210c 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 31521b6..e9b9515 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index f36d629..980cb44 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..44ca2d9 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 2c3383a..a614296 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -9,19 +9,39 @@ - - + + + + + + + + + + + + + + + + + + + + - + + - + - + + @@ -75,8 +95,8 @@ - + @@ -108,18 +128,20 @@ "RunOnceActivity.OpenProjectViewOnStart": "true", "RunOnceActivity.ShowReadmeOnStart": "true", "RunOnceActivity.cidr.known.project.marker": "true", + "SHARE_PROJECT_CONFIGURATION_FILES": "true", "cidr.known.project.marker": "true", "com.android.tools.idea.devicemanager.tab": "Physical", - "last_opened_file_path": "C:/Users/Kate/AndroidStudioProjects/Ihonkina_PIbd-31_PMU/app/src/main/java/com/example/pmuapp/composeui", + "last_opened_file_path": "C:/Users/Kate/AndroidStudioProjects/Ihonkina_PIbd-31_PMU/app/src/main/java/com/example/pmuapp/models/user/composeui", "settings.editor.selected.configurable": "experimental" } }]]> + + - @@ -226,7 +248,14 @@ 1697038354150 - + + 1697041852651 + + + + 1697041852651 + + @@ -257,6 +286,18 @@ - + + + + + + + + file://$PROJECT_DIR$/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt + 73 + + + + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 05643d8..e011832 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -60,6 +60,8 @@ dependencies { implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3") + implementation("com.google.android.engage:engage-core:1.3.0") + implementation("androidx.appcompat:appcompat:1.6.1") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") diff --git a/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt b/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt new file mode 100644 index 0000000..f7f41bd --- /dev/null +++ b/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt @@ -0,0 +1,86 @@ +import androidx.compose.foundation.Image +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Text +import androidx.compose.material3.TextField +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.example.pmuapp.R +import com.example.pmuapp.models.user.model.Pet +import com.example.pmuapp.models.user.model.User + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun CreatePet(onSaveClick: (Pet) -> Unit) { + var selectedImage by remember { mutableStateOf(R.drawable.pet1) } + var petName by remember { mutableStateOf("") } + + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp) + ) { + // Отображение изображений для выбора + val imageIds = intArrayOf( + R.drawable.pet1, + R.drawable.pet2, + R.drawable.pet3, + R.drawable.pet4, + R.drawable.pet5, + R.drawable.pet6, + R.drawable.pet7, + R.drawable.pet8 + ) + + LazyRow( + modifier = Modifier.fillMaxWidth(), + contentPadding = PaddingValues(horizontal = 8.dp) + ) { + items(imageIds.size) { index -> + val imageId = imageIds[index] + Image( + painter = painterResource(id = imageId), + contentDescription = null, + modifier = Modifier + .size(100.dp) + .padding(4.dp) + .clickable { + selectedImage = imageId + } + ) + } + } + + Spacer(modifier = Modifier.height(16.dp)) + + // Поле для ввода имени питомца + TextField( + value = petName, + onValueChange = { petName = it }, + label = { Text("Имя питомца") }, + modifier = Modifier.fillMaxWidth() + ) + + Spacer(modifier = Modifier.height(16.dp)) + + // Кнопка "Сохранить" + Button( + onClick = { + if (petName.isNotEmpty()) { + val newPet = Pet(0, petName, selectedImage) + onSaveClick(newPet) + petName = "" + selectedImage = R.drawable.pet1 + } + }, + modifier = Modifier.fillMaxWidth() + ) { + Text("Сохранить") + } + } +} diff --git a/app/src/main/java/com/example/pmuapp/composeui/Home.kt b/app/src/main/java/com/example/pmuapp/composeui/Home.kt index 1f877ba..82be433 100644 --- a/app/src/main/java/com/example/pmuapp/composeui/Home.kt +++ b/app/src/main/java/com/example/pmuapp/composeui/Home.kt @@ -6,50 +6,52 @@ import android.net.Uri import android.provider.ContactsContract.Profile import android.widget.TextView import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView +import androidx.navigation.NavController import com.example.pmuapp.R +import com.example.pmuapp.composeui.navigation.Screen +import com.example.pmuapp.models.user.composeui.PetList +import com.example.pmuapp.models.user.model.AuthViewModel import com.example.pmuapp.ui.theme.PMUappTheme @Composable -fun Home() { - val localContext = LocalContext.current - val aboutText = localContext.resources.getText(R.string.about_text) - - val urlOnClick = { - val openURL = Intent(Intent.ACTION_VIEW) - openURL.data = Uri.parse("https://ulstu.ru/") - localContext.startActivity(openURL) - } - - Column(Modifier.padding(all = 10.dp)) { - AndroidView( - modifier = Modifier - .fillMaxWidth() - .clickable(onClick = urlOnClick), - factory = { context -> TextView(context) }, - update = { it.text = aboutText } - ) - Spacer(Modifier.padding(bottom = 10.dp)) +fun Home(navController: NavController, authViewModel: AuthViewModel) { + Column( + modifier = Modifier.fillMaxSize(), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ) { + // Add a button to navigate to the "Create Pet" screen Button( - modifier = Modifier.fillMaxWidth(), - onClick = urlOnClick + onClick = { + // При нажатии кнопки, перейдите на экран создания питомца (CreatePet) + navController.navigate(Screen.CreatePet.route) + } ) { - Text(stringResource(id = R.string.user_my_title)) + Text("Создать питомца") } - } -} + Spacer(modifier = Modifier.height(16.dp)) + // Вывод списка питомцев + PetList(navController, authViewModel) + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/pmuapp/composeui/Profile.kt b/app/src/main/java/com/example/pmuapp/composeui/Profile.kt index 1d4e847..b3c6fc8 100644 --- a/app/src/main/java/com/example/pmuapp/composeui/Profile.kt +++ b/app/src/main/java/com/example/pmuapp/composeui/Profile.kt @@ -76,15 +76,17 @@ fun Profile(currentUser: User?, onSaveClick: (User) -> Unit) { Button( onClick = { val updatedUser = User( + currentUser?.id ?: 0, nameState.value, loginState.value, - passwordState.value + passwordState.value, + currentUser?.petId ?: emptyList() ) onSaveClick(updatedUser) // Вызывает функцию updateUser в UserViewModel }, modifier = Modifier.fillMaxWidth() ) { - Text("Save") + Text("Сохранить") } } diff --git a/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt b/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt index c41bc12..2488731 100644 --- a/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt +++ b/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt @@ -1,5 +1,6 @@ package com.example.pmuapp.composeui.navigation +import CreatePet import android.content.res.Configuration import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding @@ -116,17 +117,32 @@ userViewModel: UserViewModel // Передайте UserViewModel как пара Login(navController, authViewModel,userViewModel.getUsers()) } composable(Screen.Profile.route) { - Profile( - currentUser = authViewModel.currentUser, - onSaveClick = { updatedUser -> - userViewModel.updateUser(updatedUser) - authViewModel.currentUser=updatedUser// Обновление пользователя в ViewModel - } - ) + val currentUser = authViewModel.currentUser ?: userViewModel.getUsers().firstOrNull() + if (currentUser != null) { + Profile( + currentUser = currentUser, + onSaveClick = { updatedUser -> + userViewModel.updateUser(updatedUser) + authViewModel.currentUser = updatedUser + } + ) + } else { + // Обработка случая, если currentUser отсутствует как в AuthViewModel, так и в UserViewModel + } } - composable(Screen.UserList.route) { UserList(navController, userViewModel.getUsers()) } - composable(Screen.Home.route) { Home() } + composable(Screen.UserList.route) { UserList(navController, userViewModel) } + composable(Screen.Home.route) { Home(navController, authViewModel) } + composable(Screen.CreatePet.route) { + val currentUser = authViewModel.currentUser ?: userViewModel.getUsers().firstOrNull() + CreatePet ( onSaveClick = { newPet -> + userViewModel.addPetToUser(currentUser?.id ?:0, newPet) + authViewModel.currentUser = userViewModel.getUser(currentUser?.id ?:0) + } + ) + + } + composable( Screen.UserView.route, arguments = listOf(navArgument("id") { type = NavType.IntType }) @@ -141,7 +157,7 @@ userViewModel: UserViewModel // Передайте UserViewModel как пара fun MainNavbar() { val navController = rememberNavController() val authViewModel = remember { AuthViewModel() } - val userViewModel =UserViewModel() // Создайте экземпляр AuthViewModel + val userViewModel =remember {UserViewModel() }// Создайте экземпляр AuthViewModel val navBackStackEntry by navController.currentBackStackEntryAsState() val currentDestination = navBackStackEntry?.destination val currentScreen = currentDestination?.route?.let { Screen.getItem(it) } diff --git a/app/src/main/java/com/example/pmuapp/composeui/navigation/Screen.kt b/app/src/main/java/com/example/pmuapp/composeui/navigation/Screen.kt index 322d1f8..cbb6249 100644 --- a/app/src/main/java/com/example/pmuapp/composeui/navigation/Screen.kt +++ b/app/src/main/java/com/example/pmuapp/composeui/navigation/Screen.kt @@ -31,6 +31,9 @@ enum class Screen( ), Login( "login", R.string.login_title, showInBottomBar = false + ), + CreatePet( + "createpet", R.string.create_pet_title, showInBottomBar = false ); companion object { diff --git a/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt b/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt new file mode 100644 index 0000000..3ca4a70 --- /dev/null +++ b/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt @@ -0,0 +1,69 @@ +package com.example.pmuapp.models.user.composeui + +import android.content.res.Configuration +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.Image +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.lazy.items +import androidx.compose.material3.Button +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController +import com.example.pmuapp.composeui.navigation.Screen +import com.example.pmuapp.models.user.model.AuthViewModel +import com.example.pmuapp.models.user.model.User +import com.example.pmuapp.models.user.model.UserViewModel +import com.example.pmuapp.ui.theme.PMUappTheme +@OptIn(ExperimentalFoundationApi::class, ExperimentalLayoutApi::class) +@Composable +fun PetList(navController: NavController?, authViewModel: AuthViewModel) { + val currentUser = authViewModel.currentUser + val pets = currentUser?.petId.orEmpty() + + LazyColumn { + item { + FlowRow( + ) { + pets.forEach { pet -> + val imageId = pet.imageResId + val petName = pet.name + + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .padding(8.dp) + ) { + Image( + painter = painterResource(id = imageId), + contentDescription = null, + modifier = Modifier.size(100.dp) + ) + + Text( + text = petName, + modifier = Modifier.padding(top = 4.dp) + ) + } + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt b/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt index 9140eed..5e156bf 100644 --- a/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt +++ b/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt @@ -15,11 +15,16 @@ import androidx.compose.ui.unit.dp import androidx.navigation.NavController import com.example.pmuapp.composeui.navigation.Screen import com.example.pmuapp.models.user.model.User +import com.example.pmuapp.models.user.model.UserViewModel import com.example.pmuapp.ui.theme.PMUappTheme @Composable + fun UserList(navController: NavController?, - users: List ) { + userViewModel: UserViewModel +) { + val users = userViewModel.users.value + Column(Modifier.padding(all = 10.dp)) { users.forEachIndexed() { index, user -> val userId = Screen.UserView.route.replace("{id}", index.toString()) diff --git a/app/src/main/java/com/example/pmuapp/models/user/model/Pet.kt b/app/src/main/java/com/example/pmuapp/models/user/model/Pet.kt new file mode 100644 index 0000000..11934e5 --- /dev/null +++ b/app/src/main/java/com/example/pmuapp/models/user/model/Pet.kt @@ -0,0 +1,16 @@ +package com.example.pmuapp.models.user.model + +import android.media.Image +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.lifecycle.ViewModel +import java.io.Serializable + +data class Pet( + val id: Int, + val name: String, + val imageResId: Int +) : Serializable + + + diff --git a/app/src/main/java/com/example/pmuapp/models/user/model/Student.kt b/app/src/main/java/com/example/pmuapp/models/user/model/Student.kt deleted file mode 100644 index 825319b..0000000 --- a/app/src/main/java/com/example/pmuapp/models/user/model/Student.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.example.pmuapp.models.user.model - -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.mutableStateOf -import androidx.lifecycle.ViewModel -import java.io.Serializable - -data class User( - val name: String, - val login: String, - val password: String, -) : Serializable - -class UserViewModel : ViewModel() { - var users: MutableState> = mutableStateOf( - listOf( - User("Иван", "ivan", "111111"), - User("Анна", "ann", "111111"), - User("Лиза", "liza", "111111") - ) - ) - - fun getUsers(): List { - return users.value - } - - fun updateUser(updatedUser: User) { - val updatedUsers = users.value.toMutableList() - val index = updatedUsers.indexOfFirst { it.login == updatedUser.login } - if (index != -1) { - updatedUsers[index] = updatedUser - users.value = updatedUsers - } - } -} - - - - diff --git a/app/src/main/java/com/example/pmuapp/models/user/model/User.kt b/app/src/main/java/com/example/pmuapp/models/user/model/User.kt new file mode 100644 index 0000000..109cdeb --- /dev/null +++ b/app/src/main/java/com/example/pmuapp/models/user/model/User.kt @@ -0,0 +1,72 @@ +package com.example.pmuapp.models.user.model + +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.lifecycle.ViewModel +import com.example.pmuapp.R +import java.io.Serializable + +data class User( + val id: Int, + val name: String, + val login: String, + val password: String, + val petId: List +) : Serializable + +class UserViewModel : ViewModel() { + var users: MutableState> = mutableStateOf( + listOf( + User(0,"Иван", "ivan", "111111", emptyList()), + User(1,"Анна", "ann", "111111", emptyList()), + User(2,"Лиза", "liza", "111111",emptyList()) + ) + ) + val availablePetImages: List = listOf( + R.drawable.pet1, + R.drawable.pet2, + R.drawable.pet3, + R.drawable.pet4, + R.drawable.pet5, + R.drawable.pet6, + R.drawable.pet7, + R.drawable.pet8, + ) + + fun getUsers(): List { + return users.value + } + fun getUser(id:Int): User { + return users.value.get(id) + } + fun getPets(id:Int): List { + return users.value.get(id).petId + } + // Function to add a pet to a user + fun addPetToUser(userId: Int, newPet: Pet) { + val updatedUsers = users.value.toMutableList() + val user = updatedUsers.find { it.id == userId } + + user?.let { + val updatedPets = user.petId.toMutableList() + updatedPets.add(newPet) + val updatedUser = user.copy(petId = updatedPets) + val userIndex = updatedUsers.indexOf(user) + updatedUsers[userIndex] = updatedUser + users.value = updatedUsers + } + } + + fun updateUser(updatedUser: User) { + val updatedUsers = users.value.toMutableList() + val index = updatedUsers.indexOfFirst { it.login == updatedUser.login } + if (index != -1) { + updatedUsers[index] = updatedUser + users.value = updatedUsers + } + } +} + + + + diff --git a/app/src/main/res/drawable/pet1.jpg b/app/src/main/res/drawable/pet1.jpg new file mode 100644 index 0000000..570ddc4 Binary files /dev/null and b/app/src/main/res/drawable/pet1.jpg differ diff --git a/app/src/main/res/drawable/pet2.jpg b/app/src/main/res/drawable/pet2.jpg new file mode 100644 index 0000000..08e38a8 Binary files /dev/null and b/app/src/main/res/drawable/pet2.jpg differ diff --git a/app/src/main/res/drawable/pet3.jpg b/app/src/main/res/drawable/pet3.jpg new file mode 100644 index 0000000..89a4dfe Binary files /dev/null and b/app/src/main/res/drawable/pet3.jpg differ diff --git a/app/src/main/res/drawable/pet4.jpg b/app/src/main/res/drawable/pet4.jpg new file mode 100644 index 0000000..532cc95 Binary files /dev/null and b/app/src/main/res/drawable/pet4.jpg differ diff --git a/app/src/main/res/drawable/pet5.jpg b/app/src/main/res/drawable/pet5.jpg new file mode 100644 index 0000000..575296e Binary files /dev/null and b/app/src/main/res/drawable/pet5.jpg differ diff --git a/app/src/main/res/drawable/pet6.jpg b/app/src/main/res/drawable/pet6.jpg new file mode 100644 index 0000000..59bea24 Binary files /dev/null and b/app/src/main/res/drawable/pet6.jpg differ diff --git a/app/src/main/res/drawable/pet7.jpg b/app/src/main/res/drawable/pet7.jpg new file mode 100644 index 0000000..b062fd9 Binary files /dev/null and b/app/src/main/res/drawable/pet7.jpg differ diff --git a/app/src/main/res/drawable/pet8.jpg b/app/src/main/res/drawable/pet8.jpg new file mode 100644 index 0000000..92e90db Binary files /dev/null and b/app/src/main/res/drawable/pet8.jpg differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6e2fe8b..e824e8e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,9 +8,20 @@ Мой дом Мой профиль Авторизация + Создание питомца Это текст о нас!\n\n Здесь могла быть Ваша реклама!\n\n Наш сайт ulstu.ru + + @drawable/pet1 + @drawable/pet2 + @drawable/pet3 + @drawable/pet4 + @drawable/pet5 + @drawable/pet6 + @drawable/pet7 + @drawable/pet8 + \ No newline at end of file
Это текст о нас!
Здесь могла быть Ваша реклама!
Наш сайт ulstu.ru