Запрос для ИИ-разработки Android-приложения "RSS2Audio". Он структурирован для получения полного, рабочего Java-кода с учетом всех требований Android 14 (API 34), SDK 33 (compileSdk 33), лучших практик, разрешений, обработки ошибок и пользовательского интерфейса. Запрос для ИИ: Создай ПОЛНЫЙ рабочий Java-код для Android-приложения "RSS2Audio" (targetSdkVersion 34, compileSdk 33, minSdk 24) со следующими ТОЧНЫМИ требованиями: ФУНКЦИОНАЛЬНОСТЬ: 1. Чтение RSS: Загружай RSS-фид https://lenta.ru/rss через HttpURLConnection или OkHttp 2. Парсинг XML: Используй XmlPullParser для извлечения ТОЛЬКО из первых 40 <item> блоков 3. Text-to-Speech: Используй класс android.speech.tts.TextToSpeech с дефолтными настройками (скорость 0.9, тон 1.0) 4. Автоповтор: Каждые 15 минут (Timer + TimerTask) обновляй RSS и перечитывай заголовки 5. Пауза: 2 секунды между озвучиванием заголовков (tts.setSpeechRate + Handler.postDelayed) UI (ConstraintLayout, один Activity): - TextView (id: currentTitleTv, textSize=18sp, gravity=center) - показывает ТЕКУЩИЙ озвучиваемый заголовок - Button (id: exitBtn, text="Выход", marginTop=50dp) - System.exit(0) или finishAffinity() РАЗРЕШЕНИЯ (AndroidManifest.xml): <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ЖИЗНЕННЫЙ ЦИКЛ: onCreate(): - Инициализация UI - Запрос INTERNET (уже в манифесте) - Инициализация TextToSpeech (onInitListener) - Запуск первой загрузки RSS - Timer для повторения каждые 15 мин (900000ms) onDestroy(): - tts.shutdown() - timer.cancel() ЛОГИКА ЧТЕНИЯ: 1. Загрузить RSS → парсинг → List<String> titles (макс 40) 2. Цикл: for each title { currentTitleTv.setText(title) tts.speak(title, TextToSpeech.QUEUE_FLUSH, null, "news_" + i) Ждать окончания (tts.setOnUtteranceProgressListener) Handler.postDelayed(2000ms) → следующий } 3. После всех 40 → пауза → повтор цикла ОБРАБОТКА ОШИБКОК: - Нет интернета: currentTitleTv.setText("❌ Нет соединения с интернетом") - XML парсинг ошибка: "Ошибка загрузки новостей" - TTS не готов: "Голосовой синтез недоступен" - Показывать Toast для всех ошибок ПОЛНЫЙ КОД ТРЕБУЕТСЯ: 1. AndroidManifest.xml (полный) 2. build.gradle (app) - минимальные зависимости 3. MainActivity.java - ВСЕ импорты, ВСЕ методы 4. activity_main.xml - точная разметка 5. ВСЕ обработчики: onInit, onUtteranceCompleted, ConnectivityManager КРИТИЧЕСКИ ВАЖНО: - Только Java (НЕ Kotlin) - Без внешних библиотек (кроме Android SDK) - Работает на Android 14 (API 34) - Русский TTS по умолчанию - Тестировано на реальном RSS https://lenta.ru/rss - Код готов к компиляции "из коробки" Сгенерируй код в формате ZIP-архива или отдельных файлов с комментариями. ---------------------------------------------------------------------------------------------------------------------------- https://t.me/llmsource/ https://3cbb9b3d.pinit.eth.limo/ https://llmproject.livejournal.com/ https://pixelfed.ru/p/Jettman/928717775752456493 https://pixelfed.ru/p/Jettman/928927730038447227 https://oflameron.myfilebase.site/ https://telegra.ph/Oflameron-01-30 https://telegra.ph/Kripto-programmirovanie-Oflameron-01-29 https://androidjavaopensource.blogspot.com/ https://studio.youtube.com/channel/UCFmbkFiEg2AwQ_UAonuQERQ https://tgstat.ru/channel/@llmsource https://telegra.ph/Web-Site-07-03 https://github.com/vallshmeleff/oflameron-obfuscation-language https://proposed-gray-cattle.myfilebase.com/ipfs/QmXMVBgdZez4VfeKpoKKfSJ3j1oVfTHztmnvC2oYNSoz3x