From 7b78d9bfc20811c21a290f0623a1276b9e290d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B0=D1=88=D0=B5=20=D0=98=D0=BC=D1=8F?= Date: Wed, 24 Sep 2025 14:29:16 +0400 Subject: [PATCH] lab5 --- app/src/main/AndroidManifest.xml | 3 +- .../com/example/myapplication/MainActivity.kt | 75 ++++++++++--------- app/src/main/res/layout/activity_main.xml | 42 +++-------- 3 files changed, 51 insertions(+), 69 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ea254fe..6af3e15 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,7 +2,8 @@ - + + + if (bitmap != null) { + imageView.setImageBitmap(bitmap) + } else { + Toast.makeText(this, "Фото не получено", Toast.LENGTH_SHORT).show() + } + } + + // Запрос разрешения на камеру + private val requestCameraPermission = registerForActivityResult( + ActivityResultContracts.RequestPermission() + ) { granted -> + if (granted) { + takePicturePreview.launch(null) + } else { + Toast.makeText(this, "Разрешение на камеру не выдано", Toast.LENGTH_SHORT).show() + } + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - etInput = findViewById(R.id.etInput) - btnSave = findViewById(R.id.btnSave) - btnLoad = findViewById(R.id.btnLoad) - tvResult = findViewById(R.id.tvResult) + btnCamera = findViewById(R.id.btnCamera) + imageView = findViewById(R.id.imageView) - btnSave.setOnClickListener { saveToFile() } - btnLoad.setOnClickListener { loadFromFile() } - } - - private fun saveToFile() { - val text = etInput.text.toString() - if (text.isEmpty()) { - Toast.makeText(this, "Введите текст", Toast.LENGTH_SHORT).show() - return - } - - 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 = "Файл не найден" + btnCamera.setOnClickListener { + if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) + == PackageManager.PERMISSION_GRANTED + ) { + takePicturePreview.launch(null) + } else { + requestCameraPermission.launch(Manifest.permission.CAMERA) + } } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index ec5d9e6..6ed2757 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,39 +4,17 @@ android:orientation="vertical" android:padding="16dp"> - + android:text="Сделать фото" /> - - -