This commit is contained in:
Андрей Дувакин 2025-01-24 22:43:52 +05:00
parent 13429ca61d
commit 56593401d3
3 changed files with 44 additions and 3 deletions

View File

@ -5,7 +5,7 @@
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<application <application
android:allowClearUserData="true" android:usesCleartextTraffic="true"
android:allowBackup="true" android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules" android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules" android:fullBackupContent="@xml/backup_rules"

View File

@ -1,5 +1,6 @@
package com.example.russionroadsapp package com.example.russionroadsapp
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -9,8 +10,9 @@ import java.net.HttpURLConnection
import java.net.URL import java.net.URL
object API { object API {
private val API_BASE_URL = "http://192.168.0.124:5000" private const val API_BASE_URL = "http://192.168.0.124:5000"
@OptIn(DelicateCoroutinesApi::class)
fun getNews(onFinish: (String) -> Unit) { fun getNews(onFinish: (String) -> Unit) {
GlobalScope.launch(Dispatchers.IO) { GlobalScope.launch(Dispatchers.IO) {
val reqURL = URL("$API_BASE_URL/rss") val reqURL = URL("$API_BASE_URL/rss")

View File

@ -1,6 +1,7 @@
package com.example.russionroadsapp package com.example.russionroadsapp
import android.os.Bundle import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
@ -26,6 +27,11 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
@ -41,6 +47,39 @@ class MainActivity : ComponentActivity() {
enableEdgeToEdge() enableEdgeToEdge()
setContent { setContent {
var messageToast by remember {
mutableStateOf("")
}
var requestNews by remember {
mutableStateOf(true)
}
var newsString by remember {
mutableStateOf("")
}
if (messageToast != "") {
Toast.makeText(
this@MainActivity,
messageToast,
Toast.LENGTH_LONG
).show()
messageToast = ""
}
LaunchedEffect(requestNews) {
if (requestNews) {
API.getNews { resp ->
if (resp != "Error") {
newsString = resp
} else {
messageToast = "Ошибка при получении новостей"
}
}
}
}
Column( Column(
Modifier Modifier
.fillMaxSize() .fillMaxSize()
@ -108,7 +147,7 @@ class MainActivity : ComponentActivity() {
.padding(20.dp) .padding(20.dp)
) )
Text(newsString)
Icon( Icon(
Icons.AutoMirrored.Filled.ArrowForward, Icons.AutoMirrored.Filled.ArrowForward,