Активность по умолчанию не найдена в Android Studio
Я только что обновился до Android Studio 0.2.8, и я получаю сообщение об ошибке, которое говорит «активность по умолчанию не найдена», когда я пытаюсь изменить конфигурации запуска.
при запуске Android Studio я получаю эту ошибку «доступ разрешен только из потока отправки событий»
активность, которую я использую, является фрагментарной активностью.
до сих пор я пытался перестроить и аннулировать кэш / перезапуск. И то и другое было бесполезно.
пожалуйста, дайте мне знать, что я могу сделать, чтобы исправить проблема.
18 ответов:
В Android Studio, щелкните правой кнопкой мыши на проекте и выберите Открыть Настройки Модуля. Тогда идите в источник вкладка в вашем модуле, найти src папка, щелкните правой кнопкой мыши на нем и отметьте его как источник (синий цвет).
EDIT: в более поздних версиях Android Studio нет вкладки «источники», но вы можете редактировать построить.gradle вместо файла:https://stackoverflow.com/a/22028681/1101730 (спасибо за комментарий Джош)
вы добавили ACTION_MAIN фильтр намерений для вашей основной деятельности? Если вы не добавите это, то android не будет знать, какое действие запускать в качестве основного действия.
у меня была такая же проблема при импорте проекта в Android Studio, вероятно, вызванная тем, что проект был разработан на более ранней версии Android Studio, чем в настоящее время установлен на моем компьютере.
что решило это было просто выполнение:
File -> Invalidate Caches / Restart.
и затем на Invalidate and Restart .
если у вас нет вкладки, и вы начали с пустого действия, попробуйте это. Ниже приведен пример кода:
Теперь перейдите к вашему AndroidManifest.XML-файл. Затем скопируйте фильтр намерений из этого кода. Посмотрите на свой файл манифеста действительно хорошо и вставьте фильтр намерений в точное место, где он находится в коде выше. (после этого .yourActivityName> часть манифеста.) Надеюсь, это помогло.
когда я нажал «открыть Настройки модуля»,не было никакой вкладки «источник», Я думаю, потому что это было удалено для более новых версий Android Studio (я на 0.8.14). Поэтому я должен был сделать это вместо:
добавьте эти строки в внутри android < . >блок:
после редактирования файла, нажмите кнопку инструменты > Android > синхронизация проекта с файлами Gradle.
ниже сделал трюк для меня. От Выполнить -> Редактировать Конфигурацию.
Я только что испытал ту же ошибку в Android Studio 1.5.1. и нашел источник проблемы. Я не уверен, была ли причиной человеческая ошибка или какой-то странный сбой в поведении IDE, но ни один из существующих вопросов StackOverflow об этом предмете, казалось, ничего не показывал об этом, поэтому я решил, что все равно отправлю его в качестве ответа.
для меня либо один из членов моей команды, либо сама среда IDE изменили запись манифеста действий запуска, вызвав ее чтобы выглядеть так:
хотя это должно, по сути, выглядеть так:
поэтому, пожалуйста, дважды, трижды, вчетверо проверьте формат вашей активности запуска в манифесте, и вы можете сэкономить некоторое время.
надеюсь, что это помогает.
изменить: Я настоятельно рекомендую людям не идти с ответами, которые предлагают вручную выбрать активность запуска внутри параметров конфигурации вашего модуля, так как это вызвало приложение больше не будет отображаться в списке установленных приложений как на Samsung Galaxy S5 Neo, так и на Samsung Galaxy S6 (по крайней мере для меня).
пожалуйста, убедитесь в манифесте, что имя пакета совпадает с вашей основной деятельностью
это случилось со мной, потому что я оприходована пути в манифесте. изменено:
Я столкнулся с той же проблемой сегодня и проходил ответы здесь.
для меня разница заключалась в том, что вчера он работал нормально, поэтому я решил, что это не может быть проблемой конфигурации, ни конфигурация, ни Версия Android Studio не изменились.
к счастью, я попробовал перезагрузить Android Studio, прежде чем попробовать любой из других ответов, и, к счастью, это решило проблему.
Так что для всех людей, которые там сталкиваются с этим: первое, что нужно попробуйте перезапустить Android Studio и только если это не решит проблему попробуйте другие ответы здесь.
Если вы все еще получаете сообщение об ошибке «активность по умолчанию не найдена» при попытке изменить конфигурации запуска даже после выполнения:
аннулировать кэш и перезапустить.
затем попробуйте удалить папку Настройки / Настройки:
- Правой Кнопкой Мыши на проекте и выберите Настройки модуля.
- перейдите на вкладку источники в модуле.
- найдите папку src.
- щелкните правой кнопкой мыши на нем и отметьте его как источники.
это решило ошибку в моем случае.
Если вы изменили имя каталогов (структуру классов), например com.dir.образец для COM.dir.sample1, после этого не забудьте изменить пакет com.dir.образец для COM.dir.пример sample 1.
Изменить «Рабочую Область.xml » (нажмите Ctrl + Shft + R для поиска)
изменить имя действия с именем пакета
обязательно измените «name=» USE_COMMAND_LINE «на value= «false»
Источник
How To Create Another Activity In Android Studio
In this post, you will learn how to create another activity in Android Studio.
When you started the Android Development journey by creating Hello World or any other app. You just filled your First Activity form. But now you want to make another activity, but you don’t know what to do?
Then don’t worry I will help you.
Okay… Actually What is Activity??
In short, Activity is what we have seen in Android apps with the user interface.
Okay, Let’s create a new activity. I assume that you already opened Android Studio and a project.
Step 1 – How to create another Activity in Android Studio
Right click on project package (here com.androidride.createactivity3) in App-> Java. and select New -> Activity -> Empty Activity/Blank activity.
First of all, make sure you are in the Android view in the project explorer. Some views don’t have new activity option. If you are in other views, Just click on the downward arrow and choose Android from the given options.
It’s not a problem if you don’t see Empty Activity option. In older versions of Android studio, you might find Blank activity option. Both of them are the same just a name difference. Don’t use Basic activity now because that’s the advanced version of Empty Activity/Blank activity and contains Floating action button.
- How To Move From One Activity To Another In Android?
- Want to make a WebView Browser.
- Easiest way to make ListView in Android
- What is Support library and How to add it in your project?
- Just Create a class file and extend with Activity or AppCompatActivity.
- Implement onCreate(Bundle savedInstanceState) method.
- Make a layout file
- Show layout file using setContentView() method
- Add element in AndroidManifest.xml. Otherwise, you may end with ActivityNotFoundException.
Step 2
Enter the Activity name and click Finish.
Enter your activity name, at the same time layout layout name automatically fills up for you if Generate layout file checkbox is checked.
Then Backwards compatibility(AppCompat) option will give the app a certain look in almost all devices, at the same time your activity will extend AppCompatActivity class. For a beginner like you, you can leave the option as empty that cause your activity to extend Activity class and Click Finish.
Your activity files are created. congrats…
You can also create another activity in the Android Studio using the File menu option.
File -> New -> Activity -> Empty Activity & step 2.
But the First method will be easy and quick when you are coding…
You can also create Activity by another method. This is more advanced if you are a beginner.
Conclusion
One of the main building blocks of the Android app is activity. Activity is a class in Android SDK, at the same time it’s just a screen with the user interface of our app. Creating another activity in Android Studio is really simple. If you are a beginner or comes from eclipse, you can easily make a new activity without confusing through the above steps. I think this post might have helped you. If you found anything useful, please share it.
Источник
Полный список
В этом уроке мы:
— создадим и вызовем второе Activity в приложении
Урок был обновлен 12.06.2017
Мы подобрались к очень интересной теме. На всех предыдущих уроках мы создавали приложения, которые содержали только один экран (Activity). Но если вы пользуетесь смартфоном с Android, то вы замечали, что экранов в приложении обычно больше. Если рассмотреть, например, почтовое приложение, то в нем есть следующие экраны: список аккаунтов, список писем, просмотр письма, создание письма, настройки и т.д. Пришла и нам пора научиться создавать многоэкранные приложения.
Application/Library name: TwoActivity
Module name: p0211twoactivity
Package name: ru.startandroid.p0211twoactivity
Откроем activity_main.xml и создадим такой экран:
На экране одна кнопка, по нажатию которой будем вызывать второй экран.
Открываем MainActivity.java и пишем код:
Мы определили кнопку btnActTwo и присвоили ей Activity в качестве обработчика. Реализация метода onClick для кнопки пока заполнена частично — определяем, какая кнопка была нажата. Чуть позже здесь мы будем вызывать второй экран. Но сначала этот второй экран надо создать.
Если помните, при создании проекта у нас по умолчанию создается Activity.
От нас требуется только указать имя этого Activity – обычно мы пишем здесь MainActivity. Давайте разбираться, что при этом происходит.
Мы уже знаем, что создается одноименный класс MainActivity.java – который отвечает за поведение Activity. Но, кроме этого, Activity «регистрируется» в системе с помощью манифест-файла — AndroidManifest.xml.
Давайте откроем этот файл:
Нас интересует тег application. В нем мы видим тег activity с атрибутом name = MainActivity. В activity находится тег intent-filter с определенными параметрами. Пока мы не знаем что это и зачем, сейчас нам это не нужно. Забегая вперед, скажу, что android.intent.action.MAIN показывает системе, что Activity является основной и будет первой отображаться при запуске приложения. А android.intent.category.LAUNCHER означает, что приложение будет отображено в общем списке приложений Android.
Т.е. этот манифест-файл — это что-то типа конфигурации. В нем мы можем указать различные параметры отображения и запуска Activity или целого приложения. Если в этом файле не будет информации об Activity, которое вы хотите запустить в приложении, то вы получите ошибку.
Android Studio при создании модуля создала MainActivity и поместила в манифест данные о нем. Если мы надумаем сами создать новое Activity, то студия также предоставит нам визард, который автоматически добавит создаваемое Activity в манифест.
Давайте создадим новое Activity
Жмем правой кнопкой на package ru.startandroid.p0211twoactivity в папке проекта и выбираем New -> Activity -> Empty Activity
В появившемся окне вводим имя класса – ActivityTwo, и layout – activity_two.
Класс ActivityTwo создан.
В setContentView сразу указан layout-файл activty_two.
Он был создан визардом
Откройте activty_two.xml и заполните следующим кодом:
Экран будет отображать TextView с текстом «This is Activity Two».
Сохраните все. Класс ActivityTwo готов, при отображении он выведет на экран то, что мы настроили в layout-файле two.xml.
Давайте снова заглянем в файл манифеста
Появился тег activity с атрибутом name = .ActivityTwo. Этот тег совершенно пустой, без каких либо параметров и настроек. Но даже пустой, он необходим здесь.
Нам осталось вернуться в MainActivity.java и довершить реализацию метода onClick (нажатие кнопки), а именно — прописать вызов ActivityTwo. Открываем MainActivity.java и добавляем строки:
(добавляете только строки 2 и 3)
Обновите импорт, сохраните все и можем всю эту конструкцию запускать. При запуске появляется MainActivity
Нажимаем на кнопку и переходим на ActivityTwo
Код вызова Activity пока не объясняю и теорией не гружу, урок и так получился сложным. Получилось много текста и скриншотов, но на самом деле процедура минутная. Поначалу, возможно, будет непонятно, но постепенно втянемся. Создадим штук 5-6 новых Activity в разных проектах и тема уляжется в голове.
Пока попробуйте несколько раз пройти мысленно эту цепочку действий и усвоить, что для создания Activity необходимо создать класс (который наследует android.app.Activity) и создать соответствующую запись в манифест-файле.
На следующем уроке:
— разбираемся в коде урока 21
— теория по Intent и Intent Filter (не пропустите, тема очень важная)
— немного о Context
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник