@@NecoRuChannel На будущее, в справочник кроме картинок, видео можно добавлять со встроенным плеером? Например взять видео с ютуба и загрузить его в справочник, но чтобы не перекидывало в приложение ютуб при просмотре?
Пока не установил версию Android Studio 3.4.2, дело шло плохо, теперь все получается как в уроках. Спасибо! Делайте пожалуйста все уроки на одной версии программы, чтобы не получалось кто в лес, кто по дрова :)
Добрый день хорошо объясняете я как-то покупал платные курсы там объясняют хуже чем вы а по идее должны лучше всё-таки платный курс. Такой маленький совет от ученика если подбирать-придумывать как объяснить сложные вещи простыми словами например адаптер это просто посредник автомобиль который помогает доставить array в list в итоге гораздо легче понять за что он отвечает и зачем он вообще нужен чем более подробно тем лучше просто все ученики как в мультике Маша и Медведь Миш а у меня клюёт, а у тебя клюёт, а когда клюёт, а здесь клюёт, а почему не клюёт, а где клюёт, а кто клюёт, а как клюёт, а вот так клюёт)) И на мой взгляд лучше мы бы создавали выпадающие с левой стороны меню самостоятельно а не выбирали готовый шаблон
Не запускается, выдает ошибку Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class com.google.android.material.navigation.NavigationView что делать?
Когда видите какой-то непонятный метод или класс и т.д. - сразу же гуглите его или выписывайте и читайте потом. И желательно читать на developer.android, на английском, что бы привыкать к чтению документации
Здравствуйте. У меня вопрос по данному уроку. Сделал всё в точности как вы показывали но у меня в двух параметрах снизу выдаёт ошибки первый это в строке - NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); и вторая в блоке overide тоже самое. красным горит - nav_host_fragment.
пытаюсь повторять, но это уже нереально в новой версии. Совсем другой макет и исходный код. Тут еще какие то фрагменты добавлены на каждую страницу. Удаляешь их и приложение не запускается уже.
Строчка array = getResources().getStringArray(R.array.fish_array); подчеркивает красным array после R. В чем может быть проблема? В интернете решения пока не нашел.
Здравствуйте! Ваши видео очень потрясные!!! Большое спасибо. У меня возникла небольшая проблема, очень надеюсь, что вы заметите. При создании ListView он (в смысле список) не отображается, вместо него белый экран, а при написании кода о нем выходят ошибки. Не могли бы вы помочь, пожалуйста? :(
Загрузил свою иконку для пункта меню "Рыба", добавил в ресурсы через ImageAsset. В ресурсах отображается нормально. При установке иконки из ресурса в атрибут icon соответствующего пункта меню, тоже видно, что подгрузилась. А вот в activity_main вместо картинки чёрный квадрат отображается. В чём подвох?
@@NecoRuChannel Не прокатило. Кроме того, студия сама фон дорисовывает в мастере загрузки картинки в ресурсы. Максимум, чего смог добиться, выбрал фоном файл и оставил это поле пустым. В нескольких из созданных рисунков вроде как прозрачный фон получился. При установке на пункт меню получился серый силует рыбки - картинка так и не получилась.
@@user-bu7gb1kf7z В меню нельзя цветные картинки они всегда будут серыми, если хочешь цветные то самому нужно создавать свое меню. Да в новой версии андроид студио добавляет фон, я думаю это баг. Картинке теперь самим нужно создавать и добавлять в паку напрямую без андроид assets
Уроки очень классные и доступные. Но произношение в английском неправильное во многих случаях, иногда аж ухо режет. Отнеситесь к этому как к конструктивной критике)))
компилирует без ошибок, но когда запускается эмулятор телефона, выдает ошибку о прекращении работы приложения, как исправить ошибку?, скорее всего логическую ошибку, помогите пожалуйста
добрый день вопрос автору видео, когда создаю массив array = Resources().-не находит getStringarray(R. почему создается обработчик? @Override public Resources getResources() { return super.getResources(); }
Спасибо большое! Отличная подача материала, все просто доступно и понятно! Скажем так, уже подсел на ваши уроки)) У меня только один вопрос возник, будет урок, по созданию приложения, для управления внешними устройствами, через юсб, блютуз и Вифи, очень нужно!... И хотелось бы понять, как это дело реализовывать... Допустим для управления термостатом, чтобы из приложения его можно было включить, выключить, перевести в авторежим, а также отслеживать текущую температуру нагревателя и окружающего воздуха. Ну и также настройки температуры включения и выключения для авто режима. Буду вам очень благодарен и признателен за вашу помощь, в понимании данного вопроса, то есть передача и приём данных и команд в двухстороннем направлении))) Очень нужно и охото разобраться в этом вопросе, с вашей помощью... Особенно юсб кабель и вифи, но и блютуз хотелось бу понять, что и как. Заранее очень вам благодарен. И ещё раз спасибо за уроки!
В новой версии шаблон другой, нужно его немного переделать, вот на этом видео объясняю как это сделать: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-uYA8Za9v5oc.html
У меня какой то ошибка возникла когда я открываю приложение в 19:04 у меня сперва вроде все норм но затем приложение закрывается и пишет Fisher_Handbook keeps stopping вроде у меня в коде ваще нету ошибок или это из за обновлении
Ещё раз спасибо за продолжение! Если будет время, мог бы ты обьяснить одну вещь. Мне нужно, чтобы по истечению определенного времени в телефоне, всплывало оповещение о том, что время подошло к концу. Затем я: *захожу в приложение* *жму кнопочку* время обновляется и по новой :) спасибо огромное
Не за что. Можно подробнее? Если ты имеешь ввиду когда приложение закрыто то идет время и истекает, и чтобы его обновить нужно открыть приложение и нажать на кнопку "обновить"?
@@NecoRuChannel Да. Всё верно. Ну самые банальные оповещения в приложениях, на подобии: "Пора зайти и начать тренироваться!" Просто всплывающие оповещения, когда приложение закрыто :)
@@WolfMoonGreen Это нужно писать Service. Для создания такого приложения нужно создать Service и Activity. Так как заставить работать код когда приложение закрыто это задача процесса Service. Можешь почитать про Service в интернете. В данном уроке мы не будем использовать Service ну а как закончим Справочник то следующий урок можно и про Service зделать
@@NecoRuChannel я посмотрел. Те иконки, которые из Clip Art - там файл ".xml" создается, а если выбрать свою картинку из вкладки "Image", то файл ".xml" не создается, тогда как действовать?
Здравствуйте, спасибо за урок все понятно. Только у меня что странно не отображается на самом content_main в design ListView, но на эмуляторе и на сотке все работает и список выходит. До этого так было с панелью меню все работало но не отображался в самом android studio( пишу на java все перепроверил.) Спасибо жду ответа
"Строчка array = getResources().getStringArray(R.array.fish_array); подчеркивает красным array после R".......У меня тоже так было. После перезапуска студии всё стало норм. Странно что не сработало Sync with file system, оно вроде для того и нужно. Вопрос: в каких случаях нужно перезапускать Студию, чтоб не ломать следующий раз голову над "ошибками"?
здравствуйте, у меня такая проблема, когда меняю маленькую картинку в списке где рыба снасти и т.д.Ю то почемуто картинку из mipmap не видит, просто тёмный фон, в чём может быть проблема??
Добрый день! При запуске приложения на AVD на экране устройства выходит надпись "Наименование приложения keeps stopping", open app againe or close app. Ошибок при загрузке ни каких нет. Урок 4-2
Это натдпись не о чем не говорит, при любой ошибки появляется эта надпись. Нужно при запуски приложения держать открытой панель LogCat и там покажет причину экстренного закрытия приложения. Есть у меня на канале видео про поиск ошибок. Рекомендую посмотреть
@@NecoRuChannel Caused by: java.lang.ClassCastException: androidx.fragment.app.FragmentContainerView cannot be cast to android.widget.ListView at com.example.fisher_handbook.MainActivity.onCreate(MainActivity.java:37) выдает вот такую ошибку. И я заметил, что у меня ListView, а Вас _dynamic package com.example.fisher_handbook; import android.os.Bundle; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import android.view.View; import androidx.navigation.NavController; import androidx.navigation.Navigation; import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.google.android.material.navigation.NavigationView; import androidx.drawerlayout.widget.DrawerLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends AppCompatActivity { private ListView list; private String[] array; private ArrayAdapter adapter; private AppBarConfiguration mAppBarConfiguration; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = findViewById(R.id.ListView); array = getResources().getStringArray(R.array.fish_array); adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,array); list.setAdapter(adapter); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); DrawerLayout drawer = findViewById(R.id.drawer_layout); NavigationView navigationView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. mAppBarConfiguration = new AppBarConfiguration.Builder( R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow, R.id.nav_tools, R.id.nav_share, R.id.nav_send) .setDrawerLayout(drawer) .build(); NavController navController = Navigation.findNavController(this, R.id.ListView); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onSupportNavigateUp() { NavController navController = Navigation.findNavController(this, R.id.ListView); return NavigationUI.navigateUp(navController, mAppBarConfiguration) || super.onSupportNavigateUp();
Теперь на это ругается Caused by: java.lang.IllegalStateException: Activity com.example.fisher_handbook.MainActivity@5f98aed does not have a NavController set on 2131296406 at androidx.navigation.Navigation.findNavController(Navigation.java:61) at com.example.fisher_handbook.MainActivity.onCreate(MainActivity.java:49) 49. NavController navController = Navigation.findNavController(this, R.id.listView); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); У тебя в коде вообще этого не нашел.
Здравствуйте, я делал точно так же как и вы 18:30 , когда я пишу list.getAdapter(adapter); У меня пишет ошибку cannot resolve method 'getAdapter ' in ' View' Что делать?
Точно так как я вы не делали, так как я пишу setAdapter а вы пишите getAdapter. Просто пишите list.setAdapter(adapter); и в будущем будте внимательны так как даже одна буква меняет полностью смысл слова
@@NecoRuChannel Хорошо понял. Я вот щас исправил вот так list.setAdapter(adapter); но мне теперь пишет cannot resolve method 'setAdapter ' in ' View' может из-за того, что обновленная программа?
@@NecoRuChannel Возможно тут ошибка? array= getResources().getStringArray(R.array.Information_array); adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,array); list.setAdapter(adapter);
@@NecoRuChannel нет пишу в андройд студио, про котлин даже не слышал))), сейчас смотрю ваша видео "Разработка приложений на Android Studio / Изменения в новой версии / Справочник рыбака" возможно что то и прояснится )
@@user-fv6eb9rr8u Ты, при создании проекта не тот язык выбрал. Тебе нужно заново создать проект и когда окно появится для ввода имени проекта и.т.д выбери язык "Java" иначе ты не сможешь следовать уроку.
здравствуйте, у меня выдает 3 ошибки после того как все сделал на видео уроке: 1) \arrays.xml:3:5-8:20: AAPT: error: unescaped apostrophe in string 2) arrays.xml:3:5-8:20: AAPT: error: could not parse array item. 3) values.xml: AAPT: error: file failed to compile. , и не отображается listView в меню, язык Java стоит, в чем может быть проблема
У меня после прошлого урока высветился Render problem "Couldn't resolve resource @android:bool/config_showDefaultHome". Хотя я ничего не менял. Рефреш жму, тоже самое. При том полное удаление программы с настройками проблему не решает. Хелп!
К сожалению видео уже не актуально. Из за отличий в версия при базовом создании приложения появляются +10500 дополнительный форм и настроек в коде. А поскольку не понимаешь как это все работает, то и толком грамотно ничего удалить не получается. И в итоге либо ошибки при компиляции непонятные либо компилируется, но на устройстве не запускается
Привет, в коде ничего особого не изменилось, а изменился шаблон с готовым кодом который мы используем, там сейчас все по другому, по этому я специально записал урок как слелать тоже самое но все нап сав вручную ьез шаблона. Если интересно то поищи в этом плей листе чуть дальше про изменения в новой версии, тогда сможешь все это создать без шаблона и следовать урокам
в новой андроид студии при добавлении list = findViewById(R.id.listView); array = getResources().getStringArray(R.array.fish_array); adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,array); list.setAdapter(adapter); приложение не запускается совсем.
@@Ruslangaliev1 сначало напиши только строчку list = findViewById(R.id.listView); если работает добавь следующую. Еще внизу открой панель LogCat и посмотри есть ли ошибки
@@Ruslangaliev1 Чтоб время не терять советую смотреть внимательно чтоб не допустить ошибок, так как даже отсутствие одной скобки приведет о ошибки и приложение работать не будет. Со временем научишься видеть эти ошибки это не трудно
после того как создаю картинку с помощью image Asset добавляю их в mipmap, захожу в activity_main_drawer.xml хочу указать путь к картинкам а там их нет а есть другие иконки, но после clean project и перезагрузки android studio путь появляется, помогите почему так, а вообще уроки классные все подробно объясняете
Код тот же просто в новой версии по умолчанию идет язык программирования котлин, там где имя проекта чуть ниже есть выбор языка выбери Java и будет такойже MainActivity
@@NecoRuChannel вы ответили, даже не убедившись сами. у меня язык точно не котлин просто потому что файл MainActivity.java. откройте новый проект с меню активити в последней версии IDE и сравните код с тем кодом, что у вас в уроке, и сами все увидите.
@@Jerryko1231 Я ответил так потому что не помню что это за урок и ты не уточняешь, так и скажи что шаблон с меню уже другой. MainActivity такойже как и раньше, просто если шаблон выбираешь с меню там новый код дописываеться. А если создаш без шаблона MainActivity оно как было так и осталось. А вот шаблоны меняються. Чтобы избежать этой проблемы, я чуть дальше на уроках показал как без шаблона можно с еуля меню создать, смотр в плей листе
В новой версии студия сразу создаёт экраны ( нап: fragment_gallery.xml и тд ) для категорий. Пытался удалить их с лэйаута и классы с папки джава, но после открытия контент_мейн пустой экран. ну к чему это я, какой версией АС пользуешься?? upd: решил проблему путём удаление привязки контент_мейн к нав_какому-тоэкрану upd2: Кстати при изменении в ListView width и height на матч_констреин то он становится маленьким квадратиком
list = findViewById(R.id.ListView); ругается, что он не знает ListView, хотя в импортах он включен, подскажите пожалуйста, как можно решить этот вопрос
@@NecoRuChannel в уроке написано именно с заглавной буквы, сейчас переправил на маленькую все равно ошибка, еще пробовал в строке private поставить listView, но не видит error: cannot find symbol list = findViewById(R.id.listView); ^ symbol: variable listView location: class id
@@CheeFusLive В уроке написано с маленькой буквы, я только что смотрел и видео и проект. Нужно писать именно как у вас в разметке указан id а не любое слово. У меня в разметке listView по этому я пишу listView если у вас в разметки id другой то нужно писать его
Доброго времени суток! Большое спасибо за видеоуроки, все предельно просто и понятно. Хотелось бы узнать, как в списке к каждому элементу добавить иконку? И можно ли вообще? Как это у нас сделано в activity_main_drawer. Прошу прощения, возможно, это есть в следующих уроках...
Капец, как сложно всё, массивы (array) создавать в отдельном xml-файле, потом чтоб добраться до него, писать всякие адаптеры, и прочее. Нельзя разве просто создать array прямо в коде, что-то вроде: String fish_array[] = {"Карп", "Щука", "Налим", "Сом"}; Или на джаве в общем и на андроиде в частности так не делается? Или я что-то не понимаю.
Это для удобства, так как хранишь все в файле xml и достус из любой части приложения будет к файлу а если в классе напишешь то когда активити не запущено то аррай не создастся. По началу кажется сложно но после поймешь. Ресурсы просто для хранения элементов которыми пользуемся в коде
@@NecoRuChannel А, это всё только внутри главного Main Activity будет видно? А если объявлять массивы как Global (или как там на Java делается), в других Acivity тоже не видно будет? А если мне надо будет изменять или добавлять элементы массива?
@@ostap_stierlitz данный массив используется для определенных целей, есть много других способов, все зависит от конкретной задачи и там уже выбираем что нам удобнен
@@NecoRuChannel а, ну понятно. Так до да, правильней, мало ли потом другие языки прикрутить в UI надо будет. Но если надо побыстрей что-то для себя сильно не заморачиваясь, я так понимаю можно и обычными массивами внутри кода обойтись.
@@ostap_stierlitz конечно. В андроиде можно одно и тоже по разному делать, если приложение простое то можно вобще все через ж... сделать и все будет хорошо работать но вот со сложными нужно все держать организованно иначе будет сложно
хочу поблагодарить за уроки, хорошо объясняете... у меня ошибка выбила ' ' is not a valid resource name character в arrays файле не могу понять с чем это может быть! помогите если не сложно
Привет, спасибо! Ошибка говорит о том что ты используешь неразрешенные символы или буквы в названии ресурса. Например когда мы создаем стринговый ресурс мы ему даем название name и после самр ресурс. Так вот в названии name мы не можем использовать любые символы. Советую всегда использовать в названии ресурсов латинские прописные буквы без пробелов.
В сообщении тебе говорит что ресурс который ты не правильно назвал находится в arrays в файле в котором арраи создаем. Проверь что именно ты неправильно назвал? Может ты там русскими буквами назвал или использовал какието не разрешенные символы?
Всё понятно кроме, adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,array); Я не понимаю откуда этот simple_list_item_1. У меня вопрос, процессор в смартфонах какой язык воспринимает напрямую?
ВСЕ процессоры напрямую воспринимают только ассемблер ) И то, "почти напрямую". Т.е. у ассемблера есть прямые эквиваленты комманд процессора. Но на нём сейчас почти ничего не пишут, ибо гемор ещё тот. В андроиде же вообще ничего на ассемблере не сделаешь потому что все программы работают в java-подобной виртуальной машине, а не на прямую на процессоре, как в обычном компе. В смартфоне только ядро Linux напрямую на процессоре работает, и некоторые вспомогательные средства.
@@autoinstaler На этих уроках я как раз и показываю как подключать адаптер. Но есть еще видео как создавать свой собственный адаптер и подключить его. Посмотри в плей листе, там почти в самом конце Custom Array Adapter
@@NecoRuChannel Привет, спасибо за ответ. Ну, например, есть сайт, где уже есть список рыб и прочего, а нам остается только все это вывести на экран приложения. Например есть окно "Рыбы", там все сорта рыб, при нажатии на определенный, открывается новое окно с подробностями. Но все это подтягивать из сайта, который предоставляет ключ api и json. Я чуть разобрался, и понимаю, что это тема большая для такого обсуждения.)
Такая ошибка вылезла, вроде все делал по видео. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-KQ56fT5BcG4.html Подскажите пожалуйста где я допустил ошибку
@@gazim_soliev у тебя не должно быть fragment_home!! Ты наверное на новой версии AndroidStudio создаешь, там другой шаблон, его нужно переделать, смотри урок 4 там рассказываю. Урок называеться "Изменения в новой версии"
@@NecoRuChannel всё, работает, listView работает только в content_main.xml. мда, я думал, что типо это на любом окне прокатит сделав этот лист вью в fragment_home.xml и получив вылет
Плохо, что ты не выкладываешь код проекта. У меня в content_main.xml лежит NavHostFragment, если я на него кидаю ListView то при запуске получаю кучу ошибок. Если его удалить, то все работает, но только меню пропадает. Похоже шаблон немного изменили, и как их теперь подружить я не пойму