This commit is contained in:
Ваше Имя
2025-09-24 14:18:44 +04:00
parent a4a51b7966
commit b8d120454d
2 changed files with 67 additions and 36 deletions
@@ -1,53 +1,55 @@
package com.example.myapplication
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.core.content.getSystemService
import java.io.File
class MainActivity : ComponentActivity() {
private lateinit var tvStatus: TextView
private lateinit var connectivityManager: ConnectivityManager
private lateinit var etInput: EditText
private lateinit var btnSave: Button
private lateinit var btnLoad: Button
private lateinit var tvResult: TextView
private val fileName = "myfile.txt"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tvStatus = findViewById(R.id.tvNetworkStatus)
connectivityManager = getSystemService()!!
etInput = findViewById(R.id.etInput)
btnSave = findViewById(R.id.btnSave)
btnLoad = findViewById(R.id.btnLoad)
tvResult = findViewById(R.id.tvResult)
// Проверяем сеть при старте
updateNetworkStatus()
// Подписываемся на изменения сети
connectivityManager.registerDefaultNetworkCallback(object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
runOnUiThread {
tvStatus.text = "Сеть доступна"
Toast.makeText(this@MainActivity, "Подключение появилось", Toast.LENGTH_SHORT).show()
}
}
override fun onLost(network: Network) {
runOnUiThread {
tvStatus.text = "Сеть недоступна"
Toast.makeText(this@MainActivity, "Подключение потеряно", Toast.LENGTH_SHORT).show()
}
}
})
btnSave.setOnClickListener { saveToFile() }
btnLoad.setOnClickListener { loadFromFile() }
}
// Проверка текущего состояния сети
private fun updateNetworkStatus() {
val network = connectivityManager.activeNetwork
val caps = connectivityManager.getNetworkCapabilities(network)
val connected = caps?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
private fun saveToFile() {
val text = etInput.text.toString()
if (text.isEmpty()) {
Toast.makeText(this, "Введите текст", Toast.LENGTH_SHORT).show()
return
}
tvStatus.text = if (connected) "Сеть доступна" else "Сеть недоступна"
val file = File(filesDir, fileName)
file.writeText(text)
Toast.makeText(this, "Файл сохранён", Toast.LENGTH_SHORT).show()
}
private fun loadFromFile() {
val file = File(filesDir, fileName)
if (file.exists()) {
val content = file.readText()
tvResult.text = "Содержимое файла: $content"
} else {
tvResult.text = "Файл не найден"
}
}
}