|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Почему заглох Eclipse Andmore? Самим авторам надоело или Google им поставил неразрешимое препятствие? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2018, 00:54 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
как мы уже выяснили из предыдущего топика , большинство приложений под андроид пишут/писаны на яве (kotlin пока вынесем за скобки). Самыми популярными IDE для явы традиционно считаются Jetbrains IDEA и Eclipse - можно на тему кто из них лучше спорить долго и нудно, признаем это скорее религиозным вопросом (хотя для меня ответ очевиден :-P). Так получилось, что поддержка разработки для android на IDEA была (или стала?) в разы лучше чем на Eclipse. Скорее всего потому, что Jetbrains, которые свой продукт продают и потому кровно заинтересованы максимально быстро и качественно реагировать на потребности рынка. Видимо в какой-то момент преимущества IDEA над Эклипсом признали и в гугл (ты же в курсе, что Android Studio на базе IDEA реализовано?) - с этого момента все было по сути предрешено, потому что разрабатывать на чем-то не поддерживаемом официально, это как все время плыть против течения - очень тяжело. Особенно если продукт опенсоурсный (никто никуда не спешит и/или просто ресурсов не хватает). Так что короткий ответ на твой вопрос - потому что он никому не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2018, 15:01 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewGoogle им поставил неразрешимое препятствие? это маловероятно. Приложение можно хоть на коленке собирать без всякой IDE. IDEA уже была лучше когда еще никакого партнерства с гугл не было. Теперь конечно когда обе фирмы развивают продукт совместно, одни имея 18 лет опыта создания IDE, другие знают ось изнутри как никто другой - конкурировать с ними нереально. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2018, 15:07 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpashaТак что короткий ответ на твой вопрос - потому что он никому не нужен Там, кстати, действительно полезных фич немного. Мало отличается от старого варианта студии под Eclipse. То есть можно старое с таким же успехом использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2018, 20:32 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Я Eclipse Neon скачал, в нем проект для Андроид не создается. Просто Exception при попытке его создания. Вот и думаю - традиционный ли это геморрой для Андроида, в котором в отличие от нормальных сред программирования нельзя просто установить и чтобы заработало, или Google этот плугин специально отрубил. Кстати, команду anroid create гуголь убрал - и не только в последних версиях SDK. Приложение можно хоть на коленке собирать без всякой IDE. Можно, я уже попробовал. Без автодополнения с Явой и громоздкой системой классов работать неудобно, однако. В мире Java же принято давать имена в 12 символов, не меньше, делать хитрозамудренные конструкции со множеством скобочек для выполнения элементарных вещей (назначения обработчика нажатия кнопки, например) а чтобы потом со всем этим бороться, придумывать костыли в IDE. Зачем мне Eclipse? Хочу уйти от gradle. Дело не только в сложности этого сборщика и ужасно плохой работе. Но и в самой идеологии, когда скачивается и устанавливается помимо желания и ведома разработчика неизвестно что в неизвестный момент. Мало того, что гугл может удалить или объявить устаревшими любые библиотеки и заблокировать ваш проект в любой момент. Есть еще такое понятие, как валидация программного обеспечения. В некоторых областях деятельности валидируют и контролируют каждый чих - от оборудования и производственных процессов до программ. С валидацией любое изменение должно быть контролируемо. Ситуация, когда после простого запуска что то меняется, что то обновляется, что то перестает работать (как чувствую обычно для андроидных систем, раз уж они не могут даже своим собственным инструментам обеспечить стабильную работу) - неприемлема. Поэтому - поставил, настроил - все, никаких обновлений. Хотите обновление? Можно - только точно знать что именно, запускать вручную и валидировать после этого весь проект заново. С документированием всего процесса. alex55555, Там, кстати, действительно полезных фич немного. Как я понял AndMore сделали не для фич, а чтобы вообще был плугин под Ecslipse, после того, как Гугл удалил свой. Полезных фич во всех этих вариантах вообще немного - что в новейших, что в старых. Главная - синтаксический анализ и автодополнение. Т. к. система Java классов для Андроида большая, запутанная и с длинными именами - искусственная сложность, с которой борются с помощью костылей в редакторе. самыми популярными IDE для явы традиционно считаются Jetbrains IDEA А про NetBeans вы уже "забыли". имея 18 лет опыта создания IDE Что уж они там 18 лет создали, эти питерцы, загадка. А создатели Eclipse по вашему не имеют опыта создания IDE? А Netbeans c 1996 года ведет свою историю. В общем то по сравнению с другими IDE - из взрослого, так сказать, мира, что те, что другие выглядят дилетантами. Я это говорю не с целью раздувания флейма, а в ответ на ваше преклонение перед их "опытом". Очевидно, что главным мотивом Гугла было обособление от Java сообщества и от Oracle, который с ними судился, поэтому они и редактор взяли никому не известной компании, и язык в Котлин переименовывают. Любимая тактика Гугла - взять что то чужое, обычно бесплатное и объявить своим, причем эпохальным открытием. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2018, 22:38 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene Newтрадиционный ли это геморрой для Андроида скажи, помнишь ли ты, что я недавно говорил о том, что Эклипс для андроида - отстой? Хорошо, что ты не веришь на слово. Eugene Newв котором в отличие от нормальных сред программирования нельзя просто установить и чтобы заработаломожно, в Android Stuido. Eugene NewВ мире Java же принято давать имена в 12 символов here we go Eugene NewДело не только в сложности этого сборщика и ужасно плохой работе аналитик на аналитике Eugene NewНо и в самой идеологии, когда скачивается и устанавливается помимо желания и ведома разработчика неизвестно чтоесли я говорю библиотека А версии 1, Б - версии 3, это неизвестно что? если я говорю версия 1 и версия 3 - они никогда не обновятся сами до 2 и 4. В чем проблема? В том что они скачиваются из интернета? Скачай сам, верифицируй и ссылайся на нее локально. Или не используй сторонних библиотек Eugene NewВ некоторых областях деятельности валидируют и контролируют каждый чих есть масса областей, где каждый чих не контролируется. дальше что? Eugene NewМало того, что гугл может удалить или объявить устаревшими любые библиотеки и заблокировать ваш проект в любой моментобъясни пожалуйста, как это по-твоему происходит технически. вот есть у меня зависимость от библиотеки support-design:27.0.2 - что дальше, каковы действия гугл по объявлению этой библиотеки устаревшей и блокированию моего проекта? Eugene Newкогда после простого запуска что то меняется, что меняется после простого запуска? Eugene NewА про NetBeans вы уже "забыли" и про JDeveloper забыл Самыми популярными IDE для явы традиционно считаются Jetbrains IDEA и Eclipse это две IDE владеют рынком, что не так? Eugene NewЧто уж они там 18 лет создали, эти питерцы, загадка чувак, лет 8 назад я бы с удовольствием позарубался на любую предложенную тему, сейчас мне уже откровенно лень Eugene NewА создатели Eclipse по вашему не имеют опыта создания IDE? Имеют. Дальше что? Eugene NewА Netbeans c 1996 года ведет свою историю а толку с того, если IDEA и Eclipse лучше? Нокиа и Моторола делали телефоны, когда Эппл еще в компьютеры игрался. И кто в итоге создал индустрию смартфонов? Eugene NewЯ это говорю не с целью раздувания флейма ты может этого просто не замечаешь, но каждая вторая твоя фраза - приглашение к холивару Eugene Newа в ответ на ваше преклонение перед их "опытом" они делают IDE , которую я считаю лучшей. что не так с их опытом? Eugene NewОчевидно, что [смеется] Eugene Newредактор взяли никому не известной компании просто красавец, продолжай в том же духе Eugene Newи язык в Котлин переименовывают можно поинтересоваться, какой язык переименовали в Котлин? Eugene NewЛюбимая тактика Гугла - взять что то чужое, обычно бесплатное и объявить своим, причем эпохальным открытием.Un artista copia, un gran artista roba ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2018, 11:46 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewВот и думаю - традиционный ли это геморрой для Андроида, в котором в отличие от нормальных сред программирования нельзя просто установить и чтобы заработало Ведро - оно специфическое. Гуглы его писали лениво и левой ногой. Так что готовьтесь ко множеству радостей. Eugene NewБез автодополнения с Явой и громоздкой системой классов работать неудобно, однако. В мире Java же принято давать имена в 12 символов, не меньше, делать хитрозамудренные конструкции со множеством скобочек для выполнения элементарных вещей (назначения обработчика нажатия кнопки, например) а чтобы потом со всем этим бороться, придумывать костыли в IDE. А вы на чём пишете? Ну а мы покритикуем :) Eugene NewКак я понял AndMore сделали не для фич, а чтобы вообще был плугин под Ecslipse, после того, как Гугл удалил свой. Да, возможно просто что бы не потерять старое. Eugene Newсистема Java классов для Андроида большая, запутанная и с длинными именами - искусственная сложность, с которой борются с помощью костылей в редакторе. И снова - вы-то на чём рисуете? И сколько букв в названиях допускаете? Eugene NewА про NetBeans вы уже "забыли". При попытке использовать после Eclipse вызвало потребность очень много привычных дел выполнять "через задницу" (ну или - непривычно). Может и можно под это подстроиться, но психологически такое измывательство над программистом не оправдывается никакими полезными фичами (которые вообще нельзя заметить в постоянной борьбе с отсутствием привычного функционала). Eugene Newпоэтому они и редактор взяли никому не известной компании, и язык в Котлин переименовывают. Похоже вы слышали какой-то звон, но сами ничего не знаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2018, 14:44 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, предлагаю вам обращаться ко мне на вы, в противном случае буду просто игнорировать все, что вы пишете. Если вам на каждое слово хочется устроить холивар, то проблема в вас самом, не ищите ее в других. Ваше длинное сообщение с кучей цитат воспринимаю, как попытку все зафлудить, которую я поддерживать не буду, уж простите великодушно. Нетерпимость к мнению, которое отличается от вашего собственного, неспособность отделить предмет обсуждения от личности (считать, что любое несогласие с тем, что вы отстаиваете это личная нападение именно на вас), неумение отстраненно аргументировать - плохие качества для дискуссии и для установления истины. можно, в Android Stuido. Нет, нельзя. Установка этой IDE тот еще геморрой. Даже не скачивается в готовом виде. И не только у меня. вот есть у меня зависимость от библиотеки support-design:27.0.2 - что дальше, каковы действия гугл по объявлению этой библиотеки устаревшей и блокированию моего проекта? Я должен разжевывать элементарные вещи? Гугл полностью контролирует как сборщик, так и то, что он скачивает. Блокируется либо модификацией источника скачивания, либо сборщика. Обновление этого сборщика происходит на каждый чих. Можно сделать вообще все, что угодно. Вы так верите Гуглу, что он не будет ничего портить? Гугл вам даже ничего не обещал! Гуголь обещает строго противоположное - что будет делать что хочет, не спрашивая вас и не интересуясь вашими нуждами. Вспомните массовое удаление клиентов вацапа из другой системы ловушек для программиста - гитхаба. В один прекрасный момент Гугл решил всех заставить перейти на gradle и сделал все, чтобы программирование без него стало крайне неудобным. Сейчас пытается все завязать на адроид студии, даже проект без нее создать больше нельзя. Это очень плохая практика, так как ведет к лишним зависимостям - к зависимостям от визуальной среды. Разработчик визуальной среды начинает полагаться на особенности сборщика, а сборщик - на то, что создается через визуальную среду. Результаты помимо всего прочего - рост трудноразрешимых глюков. Сами эти проекты, в которых настройки компоновщика перемешаны с локальными настройками и раскиданы по куче файлов. Чтобы программист ничего не понимал и действовал только в узком коридоре, который ему дает гугол. Мучаясь на каждом шагу с глюками, которые не знает как исправить и за которые никто не отвечает. Например, у меня grandlew не работает - не может себя обновить. И поэтому ничего не компилирует. При этом из студии компиляция проходит нормально и по ссылке, на которую он дает ошибку, вручную тоже скачивается. Почему? Хрен его знает. И с этим можно мучатся день, два, а может и месяц. Можно ли обойти это скачав нужное из интернета? Может и можно, только grandle хранит все в кеше с зашифрованными именами - чтобы программист не вздумал скачивать вручную. Гуголь завязал все на скачивание через интернет при этом не озаботившись работоспособностью своих инструментов для этого. Выглядит это как поделка на коленке, сделанная дилетантом. Вывод: гугол заставляет пользоваться только своими инструментами, которые при этом даже не работают как должны. Если посмотреть на гугл-плее на комментарии к популярным программам, обнаруживаем огромное чисто жалоб на глюки, на то, что все перестало работать после выпуска очередной новой версии. Убогость среды выполнения Андроида (нельзя делать подключаемые библиотеки) и убогость запутанной библиотеки и убогость языка, все вместе создает дикое количество зависимостей. Вместо их уменьшения придумали костыль в виде компоновщика. Который только провоцирует на еще большее количество зависимостей. Впрочем, Гуглу это все очень выгодно - контроль над всеми разработчиками. alex55555, обсуждение взрослых сред разработки выходит за рамки данной темы. К тому же тут на некоторых тут это действует как американский флаг на шахида. Возьмите любую известную IDE под Windows - названия основных классов там будут короткие, система классов стройнее, а возможности больше. И программы гораздо сложнее, чем простенькие приложения на Андроиде из 10 форм (вацап, например). Понятное дело, что на Андроиде тонкий клиент, а основная сложность на серверах. Но я говорю как раз о визуальной части. Нет, я понимаю, что есть свои резоны и свои цели. Но все равно создается ощущение искусственного усложнения. Может, язык Ява так мозг выносит, т. к. в нем отсутствует отделение описания от реализации, плюс конструкции, порождающие многословие. В результате программист видит не класс с его объявлениями, а поток кода, туманящего мозг. Какое мне дело до реализаций методов? Мне нужно видеть только их список и их аргументы и знать, что они должны делать (есть "волшебное слово" инкапсуляция, которое все твердят как минимум 30 лет). По иронии судьбы виноват в этом любитель чистоты. немногословности и ясности Вирт, который в своем Обероне убрал разделение описания и определения процедур, что потом заимствовали и в Java, и в С#. Да, я знаю, что в редакторе Java IDE есть костыли, "решающие" этот вопрос - сворачивание плюсиком и другое. Видимо, это общая проблема всего на Java - вместо исправления самого языка придумывать внешние костыли. Что, вероятно, создает для программиста Java определенный образ мысли и привычку делать так всегда, во всех вопросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2018, 00:25 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene Newпредлагаю вам обращаться ко мне на вы здесь все тыкают и никто по этому поводу не парится Eugene NewВаше длинное сообщение с кучей цитат воспринимаю, как попытку все зафлудить, которую я поддерживать не буду подобные заявления я воспринимаю как капитуляцию и нежелание отвечать по существу, что в прочем было видно изначально, по-этому я облегчу тебе задачу и в последний раз прокомментирую твой поток сознания Eugene NewЕсли вам на каждое слово хочется устроить холивар, то проблема в вас самом проблема в провокационности каждого второго написанного тобою предложения и нежелании отвечать за слова Eugene NewГугл полностью контролирует как сборщик, так и то, что он скачивает ничего гугл не контролирует, gradle - это отдельный проект с открытым исходником Eugene NewБлокируется либо модификацией источника скачивания источником скачивания является репозитарий, указанный тобою в конфигурации gradle, никто не мешает качать из своего репозизатрия. более того, у каждого разработчика почти наверняка есть свой репозитарий Eugene NewРазработчик визуальной среды начинает полагаться на особенности сборщика, а сборщик - на то, что создается через визуальную среду сборщику ничего не известно о визуальной среде Eugene NewЕсли посмотреть на гугл-плее на комментарии к популярным программам, обнаруживаем огромное чисто жалоб на глюки, на то, что все перестало работать после выпуска очередной новой версии.и в этом гугл виноват, а не разработчик? На этом месте я передумал что-либо еще комментировать из подобного бреда. Ты не знаешь нихрена Джон Сноу ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2018, 11:26 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, не старайтесь больше сюда писать, вы в игноре, так как не желаете себя прилично вести и еще ничего не сказали по делу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2018, 12:14 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene Newне старайтесь больше сюда писать почаще мне напоминай, что делать Eugene Newи еще ничего не сказали по делу [закатывает глаза] такое впечатление, что чукча не читатель, чукча - писатель ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2018, 13:22 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewУстановка этой IDE тот еще геморрой. Даже не скачивается в готовом виде. Освоение нового - тот ещё геморой, да. Eugene NewВ один прекрасный момент Гугл решил всех заставить перейти на... Да, гугл - это зло. Но так же говорили про мелкософт, и про интел, ну и т.д. Так устроена жизнь - они хотят денег, а вы им должны эти деньги обеспечить. Не хотите играть по их правилам - играйте без них, пока они вам этого не запрещают. Но с ним можно найти компромисс, а вы не желаете. Eugene NewВывод: гугол заставляет пользоваться только своими инструментами, которые при этом даже не работают как должны. Да, они монополисты, да, вы будет плясать под их дудку, да, их качество ужасно. И да - с этим вам придётся смириться, если вы хотите писать под платформу, которой владеет монополист. В общем-то давно известные правила. Eugene NewУбогость среды выполнения Андроида (нельзя делать подключаемые библиотеки) Можно добавить. И даже никто не мешает использовать старые плагины для Eclipse. Я с новой студией не возился, а под эклипсину библиотеки добавляются легко. Eugene Newубогость запутанной библиотеки Ведёрная обвязка вокруг нативного кода (исключая стандартные для нормальной JVM классы) действительно убогая. Поэтому у вас есть выбор - найти путь рисовать все эти формочки на сях. Я даже видал такие приложения, значит визуальные компоненты они как-то умеют делать (подозреваю примитив Java-врапера, то есть наличие всего функционала формочек в нативе). Но тогда вам нужно искать другую IDE и всё остальное. Eugene Newубогость языка Язык отличный. Можно сказать лучшее, что пока что массово используется. Но старые привычки мешают это видеть. Eugene NewВместо их уменьшения придумали костыль в виде компоновщика. Ну да, можно на ассемблере ваять, без компоновщиков и компиляторов. Лепота! Eugene NewВозьмите любую известную IDE под Windows - названия основных классов там будут короткие Визуал студия устраивает? Так вот там длина ни чем не ограничена. И пишутся длинные названия. Ну или вы за такой стиль: Код: java 1. 2. 3. 4. 5. 6.
Если вы не в курсе - это стиль, который используется в обфускаторах. Eugene Newсистема классов стройнее, а возможности больше То есть просто не знаете те возможности, с которыми пытаетесь сравнивать. Eugene NewМожет, язык Ява так мозг выносит, т. к. в нем отсутствует отделение описания от реализации Вы на свои дефайны постоянно переключаетесь и не жалуетесь, а использовать инструмент IDE, точно так же отображающий только сигнатуры методов, вам религия не позволяет, ибо это костыль. Вот так и сидите на сях да в каменном веке. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2018, 13:38 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555, Освоение нового - тот ещё геморой, да. Я говорю не про освоение, а про установку. Которая сама по себе тот еще геморрой. И да - с этим вам придётся смириться, если вы хотите писать под платформу Гугол хочет новые правила - полностью контролировать программистов. Такого еще не было. Под Виндовс были сторонние средства разработки и вы могли очень долго не переходить на новые версии, даже если использовали VS. Гугл теперь считает, что сможет насильно заставить пользоваться любым отстоем, т. к. обновление идет без ведома программиста. Пока что это до конца не реализовано - но цель такая. Можно добавить Я не об этом. Вы вынуждены включать все используемые ваши библиотеки в apk-файл. Аналога dll для обычного разработчика нет. даже никто не мешает использовать старые плагины для Eclipse. Я с новой студией не возился, а под эклипсину библиотеки добавляются легко. Можно сказать лучшее, что пока что массово используется. Но старые привычки мешают это видеть. Наверное сам язык надо в отдельной теме в другом разделе обсуждать. То есть просто не знаете те возможности, с которыми пытаетесь сравнивать. Напоминаю - я говорил про Андроидную библиотеку и андроидную среду разработки. Ок, покажите мне приложение из 100 окон на Android, делающее что то более сложное, чем отправка и получение сообщений с сервера. Игры не в счет - их, кажется, пишут не на Яве. Визуальный редактор в Android Studio не может создавать обработчики событий и объявления переменных с их автоматической инициализацией - то, что мог любой редактор форм начиная с середины 90-х годов. Т. е. делали настолько невежественные люди, что не удосужились даже скопировать давно известное. Ааа, они наверное редактор визуальных ресурсов под Windows 3.1 копировали. Дальше не пошли. Ну я понимаю, что может быть несколько лейаутов, и некоторые контролы могут в одним быть, а в других нет. Поэтому так и сделали - переложили все на программиста, гибкость мол. Но все равно вышел фактически визуальный просмотрщик, а не редактор. Как от просмотрщика от него польза есть. Как от редактора - почти нулевая. Вот я думаю, как бы это можно было по человечески сделать.Лейаут то с формой никак не связан, где генерировать обработчики неизвестно. Тоже типа гибкость. Правда на деле эта гибкость вряд ли используется, т. к. все все равно привязывается 1 к 1 на стадии выполнения. Если засунуть объявления и обработчики в отдельный класс, он не сможет использовать закрытые члены Activity. Засунуть его генерацию в класс наследник Activity мы не можем, т. к. не знаем, к какой Activity будет привязан layout. Будь в Java friend class-ы, задача бы решалась. Подскажите, как знаток Java, можно ее решить или нет? Ну да ладно, в Андроиде все равно не может быть много контролов в одном окне - экранчик маленький. Так что невелика беда для понимающего человека. Так вот там длина ни чем не ограничена Название должно быть понятным, но настолько коротким насколько это возможно сделать, оставляя его понятным. Можно назвать - Form, в Java - Activity. Длиннее почти в 2 раза, преимуществ по понятности нет. Можно назначить обработчик. OnCLick = MyClick; В Android вы сами знаете как. На несколько строк с кучей скобок. Многословность и запутаннее одновременно. Можно для процедурного типа объявить только аргументы - то, что действительно имеет значение. Но в Android надо объявлять функцию-член с определенным названием. Ненужное усложнение библиотеки. Потому что в версии Java, используемой Android нет процедурного типа. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 03:18 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Виноват, friend class тоже статически привязывается к типу родителя. Так что и с ним было бы не очень. Да и список уже существующих обработчиков событий выводить в редакторе было бы неплохо, так что так и так надо знать, к какой Activity идет этот layout. А это значит, что к другой Activity его привязать во время выполнения уже не выйдет нормально. Впрочем, если мы зададим список, а не одну Activity, генерировать можно в них всех, а инициализировать по разному в момент загрузки. Короче, никому это не надо из-за примитивности задачи расположения контролов на экране, которая решается без всяких визуальных редакторов. Хотя это и замедляет работу. Но самих активностей ведь тоже разных не много в проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 03:27 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
не удержался Eugene NewПравда на деле эта гибкость вряд ли используется, т. к. все все равно привязывается 1 к 1 на стадии выполнения.может кто-то не в курсе, но обработчики событий в зависимости от архитектуры и сложности приложения можно определять как минимум в Activity, Fragement, контейнерах на основе ViewGroup, в классах-контроллерах при использовании DataBinding. Так что да - генерить автоматом обработчики негде. И если использование всего layout в нескольких местах действительно скорее исключение, то переиспользование его части вполне реалистично (ты же в курсе, что на андроиде layout может быть вложенным, что особенно целесообразно если нужно поддерживать широкий спектр устройств с различной диагональю?) Eugene NewМожно назначить обработчик. OnCLick = MyClick; В Android вы сами знаете как да, знаем, массой способов используя как стандартные средства так и сторонние инструменты. например так Код: sql 1. 2. 3. 4. 5.
или так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
или так Код: sql 1.
или так Код: sql 1.
Eugene NewПотому что в версии Java, используемой Android нет процедурного типа если под процедурным типом ты понимаешь анонимные функции или lambda expressions, то есть. Примеры выше, букварь здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 14:15 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewГугол хочет новые правила Я же сказал - если не нравится, то гуглы вас не держат. Вот если бы вы альтернативу предложили, тогда да, а так ругаться на то, что белый свет является белым - можно конечно, а что толку? Где альтернатива? Eugene NewВы вынуждены включать все используемые ваши библиотеки в apk-файл. Аналога dll для обычного разработчика нет. Тогда вы должны знать, что такое dll hell. Но похоже не знаете, поэтому вам стоит занять себя попыткой понять плюсы и минусы двух подходов. Вы же, не поняв плюсов подхода Java и не сравнив их с минусами вашего подхода, сразу принимаетесь громко плакать. Это выглядит по детски. Eugene NewОк, покажите мне приложение из 100 окон на Android, делающее что то более сложное, чем отправка и получение сообщений с сервера. Вы опять не имеете представления о том, о чём говорите. Сложность не определяется количеством независимых форм. Как раз проект с миллионом независимых форм является очень простым. Сложность же состоит в создании качественного софта в такой среде, как например ведроид. Качественно реализовывать, например, просто функционал обмена по блютузу, под ведром очень сложно. И если вы этого обмена не замечаете, значит кто-то для вас сделал качественную программу, а вы про это ни ухом ни рылом. Как только попробуете сделать что-то подобное - я вам гарантирую, что у вас выйдет просто неработающий ужас. На самом деле продвинутые фронт-решения (особенно в веб) сегодня очень сложны, хотя форм там может быть немного. Но никогда не писавшему сложные задачи это так же сложно объяснить. Eugene NewВизуальный редактор в Android Studio не может создавать обработчики событий и объявления переменных с их автоматической инициализацией По обработчикам у них уклон в XML, мол не нравится - вали и делай вообще без редактора. А XML штука статичная. Поэтому и в редакторе есть только статика. Да, гуглы на этом сэкономили. Но здесь опять смысл говорить появляется лишь с указанием на альтернативу. Eugene NewВот я думаю, как бы это можно было по человечески сделать.Лейаут то с формой никак не связан, где генерировать обработчики неизвестно. Не надо никаких связей с формой. Вы опять мыслите в категориях батоно-кидательства на грид. Понятно, если другим человек не занимался, он не поймёт, как работать в новой среде. А эта среда (в частности ведро, в общем - Java) никаких обязательств по связанности с формой не накладывает. Да, вот такой новый для вас стиль. Обработчик инкапсулирует свою логику, которая может быть применена на любой форме. Связь в таком случае - зло. Eugene NewЕсли засунуть объявления и обработчики в отдельный класс, он не сможет использовать закрытые члены Activity. Изучите наконец подход ООП. Для чего там вообще делают закрытые члены. А пока мне ясно одно - вы никогда ООП не занимались. Eugene NewПодскажите, как знаток Java, можно ее решить или нет? Можно. но для этого сначала нужно понять, что такое ООП, а потом серьёзно изучить возможности Java. Оба пункта вы пока что не осилили. Eugene Newв Андроиде все равно не может быть много контролов в одном окне - экранчик маленький. Так что невелика беда для понимающего человека. Ну не надо про "понимающего человека". Вы таким не являетесь. Контролов может быть бесконечно много, а способов создания бесконечности в ограниченном пространстве так же придумано немало. Но вы, как "понимающий человек", ни об одном таком способе не смогли вспомнить. Eugene NewМожно назвать - Form, в Java - Activity. Длиннее почти в 2 раза. А в документации текст в 1000 раз длиннее. Что же делать? Срочно удалять всю документацию! Eugene NewМожно назначить обработчик. OnCLick = MyClick; Вам уже выше показали - вы просто не знакомы с возможностями языка, который принялись так смело критиковать. В общем мой вам совет - засуньте ЧСВ подальше и пойдите изучать ООП и Java. Это вам реально поможет. А если в лом - ищите пути писательства на сях под ведро. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 16:02 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555, похоже вы не читаете то, что я пишу. Вроде и так предельно просто все объясняю. 10 раз повторять и разжевывать что ли? Подымите свой уровень обсуждения, пожалуйста. И хватит заклинаний про гугол и тому подобного. И фантазий насчет собеседника поменьше. Ок, объясняю еще раз. Вы меня заставляете это делать. Визуальное редактирование в андроиде сделано крайне неудобно, фактически его нет. Библиотека визуальных контролов слишком раздута, сложна и неудобна в сравнении с любой взрослой средой разработки даже 20 летней давности. Это факт. Притом, что задачи решаемые библиотекой визуальных контролов - задачи создания интерфейса - на порядки проще. И это тоже факт. Хотите по фактам спорить - спорьте. Я допускаю, что я не прав. Только у вас свидетельств противоположного пока не увидел. То есть для решения простой задачи выбраны сложные средства. Это плохо. Это называется искусственное усложнение. Заставляют программиста не задачу решать, а с искусственными препонами возится. По поводу создания обработчиков событий я просто прикинул, как можно сделать - пока что без связи лейаута с активити до компиляции выхода не вижу. Как часто используют один лейаут в разных активити? Вы это хоть раз делали когда-нибудь? Зато неудобство при создании контролов терпят все и постоянно. Тратя на это раз в пять больше времени и создавая во столько же раз больше кода, чем можно было бы при другом подходе. В очередной раз повторяю - именно в области интефейса все это не так важно в силу примитивности интерфейса у андроида. Примитивность заключает в малом количестве контролов и разных экранов. Это объективный показатель. Если бы их было много, то неудобство создания пользовательского интерфейса было бы существенно. А так - не особо. 10 окошек максимум слепить через задницу - и потерпеть можно. Про блютусы и прочее разговор отдельный. Кстати, что там с блютусом, почему так сложно? Что же делать? Срочно удалять всю документацию! Документацию надо писать лаконично и ясно. Если не выходит - то что то не так либо с писателем, либо с архитектурой проекта, либо решаемая задача объективно сложная. Но когда задача сложная, тем более надо стремится к простоте, чтобы не добавлять еще и искусственной сложности. Для чего там вообще делают закрытые члены. А вы ознакомьтесь для чего делают friend-классы. Ну в Яве в отдельном файле такое не сделаешь, кажется. Ладно, забудьте. Вам уже выше показали - вы просто не знакомы с возможностями языка, который принялись так смело критиковать. А я не спорю, что с явой не знаком. Правда, никто ничего не показал, я это и сам знаю. Так просветите. Неужто в андроидной яве есть процедурный тип и свойства? Видал я мельком что в новой яве что то такое добавили, но не в андроид же? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 22:34 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Кстати, сейчас пробуют Netbean + Ant. Сам редактор мне понравился больше всех прочих явовских, автор его солидный. Чего там нет, так это визуального дизайнера xml-файлов, но как я уже многословно объяснил, этот визуальный дизайнер почти бесполезен. Существовал плугин для Netbean для создания проекта под Ant. Но почему видимо ПО ЧИСТОЙ СЛУЧАЙНОСТИ это плугин пропал отовсюду, и даже сайт его разработчика закрыт. Так что этот плугин даже для старых версий Netbean не найти. Вот просто так взяли и вычистили. Правда, уже сделали новый плугин. Но он работает через grandle. Который мне не подходит по своей идеологии и вообще у меня из командной строке просто не запускается и неизвестно почему оно даже не может себя обновить через интернет. Склоняюсь к мысли, что главное зло это grandle. Пока что воспользовался android create из очень старого SDK. В новых SDK его нет, но он ведь ничего мистического не делает, только создает структуру каталогов и файлы и это можно сделать руками, если знать как. Правда, может в новых SDK гуголь совсем поддержку ant-а уберет или уже убрал - а использование ant завязано на конфигурационные файлы из каталога SDK. Буду смотреть. нужно разобраться как xml из библиотечных проектов обрабатывается при компиляции и чем. А так ведь можно и свой плугин под НетБин написать при желании. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 22:49 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene New, Есть еще поддержка Андроида в Qt, Delphi/CBuilder, Xamarin, Android NDK наконец. Изучить систему сборки можно, только научившись ее конфигурить в нотепаде (msbuild и cmake тоже не особо то просты). Предъявлять к среде претензии в неочевидности - это просто недостаток опыта. (*1) А претензии к Яве - как к языку предъявлять можно только после понимания, что в нем многое делается по другому. (*2) [У явы свои, совершенно другие проблемы, но никак не в синтаксисе] (*) лечится пониманием, как что то задумывалось автором языка/библиотеки/среды. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2018, 23:08 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewПо поводу создания обработчиков событий я просто прикинул, как можно сделать - пока что без связи лейаута с активити до компиляции выхода не вижу. Как часто используют один лейаут в разных активити? Вы это хоть раз делали когда-нибудь? Я вам про инкапсуляцию писал, но вы не услышали. И как раз в ней ответы на ваши вопросы и непонимание, как сделать "без связи". Eugene Newчто там с блютусом, почему так сложно? Непредсказуемость ведра. Eugene NewА вы ознакомьтесь для чего делают friend-классы. Ну в Яве в отдельном файле такое не сделаешь, кажется. Ладно, забудьте. Зачем забывать, это повод ткнуть вас носом в очередное незнание предмета. Изучайте Java, там есть всё, о чём вы говорили. Но вы не изучив, делаете грозные заявления. Вот поэтому вам и указывают на ваше незнание. Eugene NewНеужто в андроидной яве есть процедурный тип и свойства? Я не знаю, что вы понимаете под процедурным типом и свойствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 11:27 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Siemargl, Предъявлять к среде претензии в неочевидности - это просто недостаток опыта. Познается в сравнении. Если человек кроме андроида и явы ничего не видел и не использовал - вряд ли он вообще что то поймет. Иногда понимание заключается в понимании того, что автор делает глупости. Не читали 12 стульев? Помните как там любители г. Васюки были в шоке от ходов "гроссмейстера" Бендера, который наговорил им с три короба и в первый раз в жизни играл в шахматы? Чтобы понять Java следует знать две вещи: 1) Этот язык скопирован с Оберона безусловного мэтра профессора Вирта 2) В коммерческих целях при этом был искажен его синтаксис + плюс из-за непонимания и не разделения до конца идей истинного автора. Так что для начала неплохо почитать Вирта, он то знал, что делает и запутать не пытался. Потом оценить как это было искажено и испорчено теми, кто это заимствовал. Например, в том, что нет отделения объявления и определения виноват, увы, поборник чистоты и понятности Вирт. Я склонен считать это самой большой ошибкой, которую он когда либо делал. Конечно, в его Обероне это выглядело не так ужасно, но наложившись на искажения и запутывания языка Ява, сделанные с целью привлечь и сишников и адептов Smalltalk и показать свой язык крутым (а потом еще начали из лиспа тянуть, чтобы показать себя крутыми в глазах непосвященных), выросло в ужас-ужас. в нем многое делается по другому. Поскольку в Яве нет ничего нового в смысле ООП, да и трудно это было бы сделать, тем более его разработчикам, которые не творцы и не гении, а заимстователи-коммерсанты, "по другому" обычно означает - "через задницу" - то, что было признано плохим и от чего другие отказались. Было бы неплохо понимать, что сейчас никаких новых идей в языках программирования вообще нет. Все придумано давно - в прошлом веке. Смешно смотреть, как заново открывают сделанное 50 лет назад и набивают те же шишки. Пример - xml и иерархические базы данных, от которых отказались годах в 1970-1980-х. В данный момент идет экстенсивное освоение возможностей, которые дают слишком высокая скорость передачи данных по сетям, а вообще индустрия программирования сворачивается и деградирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 11:29 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555, исправьтесь или отправитесь в игнор вслед за предыдущим гражданином. Начните хотя бы читать то, с чем вы спорите. Если вы говорите, что как то можно - показывайте как можно. Иначе все это пустословие. Даю вам задачу: обеспечить назначение событий в визуальном редакторе, избавить пользователя от необходимости вручную объявлять и инициализировать переменные-контролы. Сделать это статической связи между лейаутом и формой. Из кода событий должно быть возможно обращаться к любому члену активити, в том числе закрытому. Генерировать для решения файлы классов в текущем проекте разрешается. Как знатоку Ява даю вам день, чтобы дать свое решение.. Потом сравним с тем, что пришло мне в голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 12:14 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene New... По иронии судьбы виноват в этом любитель чистоты. немногословности и ясности Вирт, который в своем Обероне убрал разделение описания и определения процедур, что потом заимствовали и в Java, и в С#. ...Вирт тут мало при чем. Здесь твоя квалификация тоже подкачала. В Обероне разделены определения и реализации методов. https://www.inf.ethz.ch/personal/wirth/Oberon/PIO.pdf Часть 4, раздел 23. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 19:42 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewЧтобы понять Java следует знать две вещи: 1) Этот язык скопирован с Оберона безусловного мэтра профессора Вирта 2) В коммерческих целях при этом был искажен его синтаксис + плюс из-за непонимания и не разделения до конца идей истинного автора. Так что для начала неплохо почитать Вирта, он то знал, что делает и запутать не пытался. Потом оценить как это было искажено и испорчено теми, кто это заимствовал. Например, в том, что нет отделения объявления и определения виноват, увы, поборник чистоты и понятности Вирт. Я склонен считать это самой большой ошибкой, которую он когда либо делал. Конечно, в его Обероне это выглядело не так ужасно, но наложившись на искажения и запутывания языка Ява, сделанные с целью привлечь и сишников и адептов Smalltalk и показать свой язык крутым (а потом еще начали из лиспа тянуть , чтобы показать себя крутыми в глазах непосвященных), выросло в ужас-ужас. Юноша, я таки думаю, что Вы прочитали на хабре смешную статью 2015 года , и Вам попала на глаза фраза "Язык послужил прямым предком для языка параллельного программирования (Active Oberon), различных модификаций языка Оберон под другие среды исполнения (Component Pascal, Zonnon), был реализован на нескольких платформах (JVM, CLR, JS), послужил прообразом языка Java ". Так вот это миф. Я Вам более того скажу, принцип Java - классы вместо структур, а у Оберона с точностью до наоборот. Насчет лиспа - оттуда взят код по сборке мусора, все-таки Гай Стил долгое время занимался именно этим. А что касается ординарного наследования - это не Вирт в Обероне придумал, это заслуга Луки Карделли, который автор малоизвестного Polyphonic C, что он упирался и в Модулу-3 не пустил множественное наследование. В Java было 3 принципа, которые с Обероном никак не сочетаются - по той причине, что Вирт книжный червь, а не инженер-прагматик. Джеймс Гослинг создавал этот язык как интерпретируемый диалект языка Си++ изначально , это уже потом после провала FirstPerson до Билла Джоя дошло, что нужно выкинуть оттуда ноги, растущие из С++, и получится кошерный язык. А все потому, что в марте 1994 Джой услышал доклад, который делал Франц, ученик Вирта, но этот парень придумал штуку с разделением компилятора на 2 части для решения проблем виртуальной машины, даже диссертацию за месяц до этого защитил, и тогда Билл даже лицензию на оберон купил, ой-вей, столько шекелей, и за что, за творение заумного профессора? И еще про Java - многопоточность там часть языка, а вот Вирт еще в 77-м году разочаровался и выкинул в Модуле-2 все это в сторонние библиотеки из самого языка. Потому что это уменьшает переносимость. Так что не скопирована Java с Оберона ничуть. Вы вообще хоть понимаете, что модель безопасности в ней построена на верификации байт-кода, она не может быть надежна по определению, один нехороший умник в 97-м году зачем-то это всем на конференции выложил. Даже собрал лично примеры вредоносных апплетов. Хотя никто его не просил это на публику выносить. Вирт никогда бы не пустил такую модель в свои языки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 00:45 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewГугл полностью контролирует как сборщик, так и то, что он скачивает. Блокируется либо модификацией источника скачивания, либо сборщика. Обновление этого сборщика происходит на каждый чих. Можно сделать вообще все, что угодно. Вы так верите Гуглу, что он не будет ничего портить? Гугл вам даже ничего не обещал! Таки да, тут Вы правы. Вам никто ничего не обещал. Eugene NewВывод: гугол заставляет пользоваться только своими инструментами, которые при этом даже не работают как должны. Да, заставляет, но они работают как должны. Как должны офицерам из подразделения, которое контролирует гугл, а не Вам. Ясно? Таки эти инструменты работают как предусмотрено и дальше так будет. Можете посыпать голову пеплом и кричать "ой-вей, жизнь несправедлива". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 00:51 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Siemargl, Вирт убрал разделение в REVISED OBERON РАЗЛИЧИЯ МЕЖДУ OBERON’ом И ПЕРЕСМОТРЕННЫМ OBERON’ом (REVISED OBERON) Пересмотр языка Oberon был произведен после большого числа экспериментов в использовании и реализации данного языка. И вновь этот процесс был вызван стремлением к упрощению и обобщению. Различия между исходной версией [Wir88b] и пересмотренной версией [Wir90] следующие. 1. Интерфейсная и исполнительная части модуля слиты воедино. Это вызвано желанием иметь спецификацию модуля с точки зрения программиста и с точки зрения компилятора в виде одного документа. Спецификация интерфейса для клиентов модуля (интерфейсная часть) может быть получена автоматически. Объекты, ранее описываемые в интерфейсной части (и еще раз встречающиеся в исполнительной части), помечаются специальным значком экспорта. Никлаус Вирт "От Модулы к Оберону" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 07:54 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Andy_OLAP, я не юноша и вы выбрали неверный стиль общения, пытаясь взять криком. Я и юношей так с собой разговаривать не позволял, теперь тем более. Да, заставляет, но они работают как должны. Как должны офицерам из подразделения, 1. В Гугле нет и не может быть никаких офицеров (даже если вы переводите английское слово чиновник неправильно - чиновников там тоже нет и быть не может). Это не армия и не государственная организация, а частная компания. Равноправная с любым юридическим лицом и не имеющая преференций перед частными лицами. 2. Что его работники должны Гуглу нужно слушать от самого Гугла, а не от вас. 3. Гугл пока еще вроде не заявлял, что его Студия не должна работать сразу после установки, не запускаться, выдавать ошибки в созданных ею же проектах, что grandlew может не запускаться и т. п. Так что вы не правы - именно что не работает как должно. Не работает как заявлено, если вам от этого легче. Заявлено - используйте нашу песочницу и все будет работать без проблем. Даже это не выполняется. Причем это закономерно - если разработчики считают, что могут всем выкрутить руки, удалить конкурентов и принудить работать на том, что они подсовывают, они стараться сделать что то вообще работающее не будут, мол и так сожрут - а всем недовольным мол заткнут роль с помощью нанятых агитаторов. Низкая квалификация видна невооруженным взглядом. Я думаю, что несмотря на лживые победные реляции Гугл уже давно столкнулся с МАССОВЫМ нежеланием разработчиков использовать свою Студию. Поэтому руки и выкручивают, даже SDK manadger удалили из SDK. Чтобы отчитываться перед руководством компании о росте числа установок своей бракованной продукции. Ну а на ресурсах с порочной системы репутации сидят специально нанятые люди и минусуют любое недовольство этим продуктом. Это напоминает анекдот о том, как цыган учил лошадь не есть. В принципе, интересам Гугла бракоделие создателей студии противоречит, так как мешает заманивать разработчиков в капкан полной зависимости от себя. Куда проще им бы было, если бы сыр в мышеловке был сыром, а не куском грязи. лиспа - оттуда взят код по сборке мусора Нет, я имел в виду другое. Сборщик мусора тиснули из Оберона. Я имел в виду т. н. лямбда-функции, которые вносят еще больше хаоса в код на Яве. Java - многопоточность там часть языка В Java многопоточность не является частью языка. Считаете я неправ - тогда покажите, как вы будете создавать поток в Java, какие зарезервированные слова языка для этого используете. интерпретируемый диалект языка Си++ изначально В Java от C++ только скобочки и некоторые ключевые слова. Я Вам более того скажу, принцип Java - классы вместо структур, а у Оберона с точностью до наоборот. Это внешняя мишура. Класс - структура с данными, метод - процедура, которой передается указатель на экземпляр класса. Виртуальный метод - поле с указателем на процедуру. В Обероне есть расширение структур (наследование). Надо обладать хотя бы минимальными способностями к абстрактному мышлению и некоторыми знаниями о реализации, чтобы это увидеть. Хотя все достаточно очевидно. Просто я уже и не знаю, чего ожидать от современных т. н. "андроид-ява-программистов". Когда вместо статей ролики в ютубе (просмотр ролика занимает в 5-10 раз больше времени, чем чтение текста и информация на слух воспринимается куда хуже, чем с из текста), вместо изучения внутренней структуры - инструкции по магическим манипуляциям в IDE и за ее пределами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 08:29 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Вирт книжный червь, а не инженер-прагматик Вирт сам писал компиляторы и операционные системы всю свою жизнь. Внимание вопрос - что создал Джеймс Гослинг, какие программы написал? Вот Ричи (один из создателей С), например, сделал ОС Unix, которая получила широкое распространение. Его можно назвать программистом-практиком. Уж про гугловских вообще можно не говорить. Стырили свободную ОС, свободную виртуальную машину, объявили все своим и начали портить. При этом сначала создавая у программистов иллюзия открытости и противопоставления "плохим корпорациям", а потом решили намертво все закрыть, объявить своим и показать всем, кто им помогал, что плевать они на них хотят. Взяв чужую среду разработки. Тут остается только удивляться распространенности Android-устройств и тому, что там есть работающие и использующиеся программы. Поэтому я утвердился во мнении, что пишется это на чем то старом и/или стороннем, вопреки стараниям гугла и уж точно не на последней версии Студии. Отсюда вывод - использовать Студию = быть лохом. Даже если программируешь под Андроид. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 08:58 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewSiemargl, Вирт убрал разделение в REVISED OBERON РАЗЛИЧИЯ МЕЖДУ OBERON’ом И ПЕРЕСМОТРЕННЫМ OBERON’ом (REVISED OBERON) Пересмотр языка Oberon был произведен после большого числа экспериментов в использовании и реализации данного языка. И вновь этот процесс был вызван стремлением к упрощению и обобщению. Различия между исходной версией [Wir88b] и пересмотренной версией [Wir90] следующие. 1. Интерфейсная и исполнительная части модуля слиты воедино. Это вызвано желанием иметь спецификацию модуля с точки зрения программиста и с точки зрения компилятора в виде одного документа. Спецификация интерфейса для клиентов модуля (интерфейсная часть) может быть получена автоматически. Объекты, ранее описываемые в интерфейсной части (и еще раз встречающиеся в исполнительной части), помечаются специальным значком экспорта. Никлаус Вирт "От Модулы к Оберону"Я бы посоветовал смотреть на даты документов, и на документы с оф.сайта Вирта а не неизвестного происхождения переводы с временными мыслями. Мой позже и официальнее =) В любом случае, это все показывает на неоднозначное отношение Вирта к такому разделению - оно то исчезает, то появляется. И явно прописано, что разделение сделано для удобства компилятора Таким образом, отпадает необходимость компилятору проводить структурное сопоставление двух текстов. Кроме того, данные цитаты относятся к экспортируемым интерфейсам _модулей_, а совсем не к инкапсулируемым методам - про что собственно и надо говорить в контексте Явы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:23 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene Newдаю вам день, чтобы ... Да ты знатный профессор, как я посмотрю. Только знаешь один лишь си, не писал на нём ничего сложного, а про всё остальное лишь в книжках читал, но конечно же - ничего не понял. Прощай, профессор. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 13:14 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewПоэтому я утвердился во мнении, что пишется это на чем то старом и/или стороннем, вопреки стараниям гугла и уж точно не на последней версии Студии на какое-то мгновение я даже усомнился, не рано ли я начал шашкой махать - ан нет. чутье на троллей меня по-прежнему не подводит. Eugene NewОтсюда вывод - использовать Студию = быть лохом. Даже если программируешь под Андроиддаю тебе задание (с) - напиши на чем угодно без использования AS,IDEA, maven и gradle, и покажи здесь. Заодно уже пора представить общественности концепцию привязки событий в визуальном редакторе, сутки истекли. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 13:26 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Siemargl, Похоже в статье по вашей ссылке вы спутали объявление процедурного типа с объявлением функции. Советую почитать другие документы с того же сайта. В первоначальной редакции Оберона было разделение на открытую и закрытую части модуля, а в исправленной версии в 1990 году профессор Вирт это разделение убрал и больше к нему не возвращался (forward декларация это не то, она не является обязательной и служит другим целям). Описание v90 https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon.Report.pdf . На всякий случай поясняю: в Обероне начиная с 1990 года доступность процедуры извне модуля обозначается * возле ее имени. Зачем гадать об отношении профессора, когда он сам о нем прямо сказал? Что до моего мнения о таком решении, то я считаю что решение мягко говоря спорное, спровоцировавшее явистов (а вслед за ними и других) на безобразия. А оправдание этого решения тем, что мол можно интерфейс модуля автоматически сгенерировать спровоцировало на затыкание любых дыр в языке костылями из IDE. alex55555, а я то думал вы мне тут покажете класс понимания ООП и знания языка Java, утрете нос, и что мы пообсуждаем минусы и плюсы разных решений. По решению задачи скажу кратко. Генерируемый в отдельном визуальным редактором класс: Код: java 1. 2. 3. 4. 5.
В xml описаны объекты с такими же именами. В окне активите пишутся вручную две строчки Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
MyCoolLib.InitLayoutImp заполняет button1 и edit1 используя RTTI (Class). Реализацию прикиньте сами. Если не сможете - просите, напишу. Дальше везде можно использовать L1.button1 и т. п. Гибкость сохраняется. Вполне удобно. С методами все гораздо хуже. Кстати, почему то магистры андроида не вспомнили атрибут android:onClick . Пользоваться им неудобно, так как приходится редактировать в двух местах. Если бы можно было бы из редактора создать тело метода и сразу туда перейти - было бы удобно. А так нет. К тому же необходимость объявления обработчика public нарушает лелеемую инкапсуляцию. Можно так же генерировать обработчик события в теле InitLayoutImp, но он тогда не сможет обращаться к Activity. Можно добавить в InitLayoutImp поле parent: Activity, но тогда придется приводить тип к Activity1 принудительно для обращения к специфическим методам, да и как быть, если вызывается из другой Activity - цепочку if-в устраивать? Уродливо. Тут больше всего мешает архитектурное решение не связывать layout с activity жестко. Так что это решение с обработчиками событий не дает почти ничего полезного по сравнению с их обычной инициализацией вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 16:18 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Я не знаю, что вы понимаете под процедурным типом и свойствами. "Указатель на функцию, указатель на метод класса" - так понятнее? Только в отличие от указателя процедурному типу нельзя ни численные значения адресов присваивать, ни нетипизированные указатели. Решили от хакерства таким путем защитится. Вдруг бы программист как то умудрился обойти ограничения и записал бы ссылку на вредоносный код и таким образом выполнил бы его? Мотив понятен, а все равно неудобно писать эти монстроузные конструкции вместо простого присваивания обработчика. Свойство это когда вы пишете что то вроде property Width: integer read GetWidth write SetWidth и потом используете Width везде как будто это просто поле (за исключением передачи параметра по ссылке). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 16:28 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewГенерируемый в отдельном визуальным редактором класс отлично, ты уже почти изобрел androidannotations Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
или butterknife Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Eugene NewРеализацию прикиньте сами. Если не сможете - просите, напишу напиши, поделись мудростью кстати если еще немножко почитать, то можно узнать про Data Binding и тогда может оказаться, что нашей Activity вовсе не нужно ничего знать про button и text. Подозреваю, что еще через пару страниц ты нам об этом победоносно сообщишь. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Eugene NewКстати, почему то магистры андроида не вспомнили атрибут android:onClick скажи, ты серьезно считаешь, что способен за день-два накопать то, чего здесь не знают? мы им не пользуемся, но если магистры не против, я принесу свои извинения за то, что не раскрыл все секреты мироздания в 3х словах Eugene NewТак что это решение с обработчиками событий не дает почти ничего полезного по сравнению с их обычной инициализацией вручную о чем я написал много постов назад ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 16:42 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpashaEugene NewГенерируемый в отдельном визуальным редактором класс отлично, ты уже почти изобрел androidannotations Тише, тише , а то человек и databinding изобретет. А это черевато увольнениями в google ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 17:23 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
pandа то человек и databinding изобретет с DataBinding я уже, к сожалению, тоже спалился ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 17:44 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewSiemargl, Похоже в статье по вашей ссылке вы спутали объявление процедурного типа с объявлением функции. Советую почитать другие документы с того же сайта. В первоначальной редакции Оберона было разделение на открытую и закрытую части модуля, а в исправленной версии в 1990 году профессор Вирт это разделение убрал и больше к нему не возвращался (forward декларация это не то, она не является обязательной и служит другим целям). Описание v90 https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon.Report.pdf . На всякий случай поясняю: в Обероне начиная с 1990 года доступность процедуры извне модуля обозначается * возле ее имени. Зачем гадать об отношении профессора, когда он сам о нем прямо сказал? Что до моего мнения о таком решении, то я считаю что решение мягко говоря спорное, спровоцировавшее явистов (а вслед за ними и других) на безобразия. А оправдание этого решения тем, что мол можно интерфейс модуля автоматически сгенерировать спровоцировало на затыкание любых дыр в языке костылями из IDE. .....Для особо одаренных тормозов, еще раз говорю посмотреть дату документа. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 22:01 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
И кстати, особой безопасностью в Обероне даже не пахнет. Потому что как только нужно чтото реальное, идет вызов системной функции мимо всех защит. PS/ в яве таже хня - JNI ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 22:04 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
androidannotations Вообще не о том. Голимые макросы препроцессора. Недостатки макросов известны всем (кто не ява программист) 20 лет. В С они активно использовались, и были написаны тома критики. butterknife Еще один набор макросов. Со всеми их недостатками. DataBinding Это не то, о чем я говорил. Другая задача. Городят связь между визуальными компонентами и объектами данных. И весь код пишется вручную (плюс макросы). Вроде я четко условия задачи сформулировал. Можете их перечитать. @BindingAdapter И в нем голимые макросы препроцессора. Но вы для меня новое открыли, действительно. И я не знал, что в Android-е макросы препроцессора так широко используются. Кстати, как они там называются, наверняка ведь придумали какой то свой термин? Вот уж действительно все в этом андроиде изобретается заново из-за невежества, причем наступают на все грабли. Можете сказать, что предложенный мной подход тоже генерирует код, хотя и из редактора. В чем принципиальное отличие от макроса, скажете вы. Но в моем случае код генерируется сразу в виде готового файла, его можно видеть и прочитать. А дальше все обрабатывается встроенными средствами языка. Я понимаю, что тут читатели не догоняют. Сложно им понимать, когда у них умения делать магические настройки в IDE, а не умение абстрактно мыслить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 02:29 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Не придирайтесь к неаккуратной работе с исключениями. вызов Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Предполагается, что это генерируется визуальным редактором и сохраняется в отдельный файл: Код: java 1. 2. 3. 4. 5.
Придется обязательно указывать у верхнего layout id, т. к. у activity нет findViewWithTag и я не нашел за 10 минут способа получения текущего layout из activity. Может статься его и нет, чтобы не меняли состав контролов в произвольное время - запрет из соображений "оптимизации". Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 05:51 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Аннотациями макросы обозвали. И используют на каждом шагу. Без @override ни шагу ступить. @override - тоже макрос. Интересно, как он реализован. Еще и расширили их применение в 8-й версии. Скажите после этого, что Ява самодостаточный язык.. Без руля и ветрил несет Java неведомо куда, т. к. скопировав в начале работу мэтра (попоротив ее при этом), дальше его создатели уже не понимают, что делают и зачем. Что уж там говорить об андроидных "программистах". Как привлекательно использовать макросы - это же можно свой метаязык создать. Потом это приводит к хаосу. Но дилетанты об этом не знают, читать и понимать прочитанное не умеют, чужой опыт усвоить не в состоянии. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 11:06 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
О . Сериал продлевается на следующий сезон. запасусь попкорном ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 08:41 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewНо в моем случае код генерируется сразу в виде готового файла, его можно видеть и прочитатьприкинь так называемые "макросы" являются частью java annotation processing, в процессе которого тоже генерятся готовые файлы, которые можно "видеть и прочитать" и даже использовать в пошаговой отладке. теперь можешь погуглить ключевые слова. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:30 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewНе придирайтесь к неаккуратной работе с исключениями не будем. у "нас" кстати есть "foreach", не благодари Eugene NewПредполагается, что это генерируется визуальным редактором и сохраняется в отдельный файля тебе пытался объяснить, почему использование визуального редактора бесполезно, но ты либо не захотел, либо не смог понять. Еще раз - layout не принадлежит Activity эксклюзивно. Куча других сущностей может быть "связана" с layout, потому просто не существует одного такого места, где можно сгенерить что-либо. задача бессмысленна изначально. Eugene Newи я не нашел за 10 минут способа получения текущего layout из activity гуглится за секунду, я прям даже не знаю что и думать. просто набери в гугле "activity get view" - первая же ссылка на stackoverflow Eugene NewМожет статься его и нет, чтобы не меняли состав контролов в произвольное время состав контролов можно менять в любое время. добавлять, убирать, прятать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:42 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Удивлён, что профессора ещё замечают. Так же удивлён тем, что не обращают внимания на его косяки. Я понимаю, человеку глаза открывают, чувствуя, что он ещё ребёнок, но на косяки-то и детям тоже надо глаза открывать, а то так ведь и вырастут законченными идиотами. Просто взглянув на его первый "шедевр" в виде кода, можно набрать сразу с десяток косяков. Здесь и синтаксис и ран-тайм ошибки, ну и просто логический маразм. И вот наблюдая такой подход к теме, когда человек несколько дней выносил здесь всем мозг нравоучениями, а потом родил ЭТО! - пол экрана текста, содержащего в себе под десяток косяков, рождённый в муках за несколько дней, ну и естественно - совершенно бесполезный. В общем вывод прост - профессор даже на сях ничего не писал (ну может hello world в детстве). Гонора полно, а знания - исключительно из модных статей 20-ти летней давности. Если бы он хоть что-то путнее когда-нибудь писал, то десяток косяков на пол-экрана за несколько дней он бы точно не выдал, ибо практика тренирует умение шлифовать код, а здесь же - ну просто самые плохо пахнущие слова напрашиваются. Я бы даже рекомендовал его бред для начинающих - найди десять ошибок, это как детям дают картинку и говорят - найди десять животных. Очень поучительно для новичков, когда они найдут "умельца", знающего даже меньше, чем они. Ну и поймут - так делать нельзя! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:12 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555Удивлён, что профессора ещё замечают мне просто скучно. тем более все еще есть надежда, что человек перестанет придуриваться и начнет предметные вопросы задавать, а не вопить что кругом говно. правда надежды тают на глазах, так что остановимся на том, что мне скучно alex55555Так же удивлён тем, что не обращают внимания на его косяки ну он же яву 3 дня как изучает, как-то не этично критиковать его код на серьезных щах :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:26 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555, Просто взглянув на его первый "шедевр" в виде кода, можно набрать сразу с десяток косяков Ну так давай, косяки в студию. Конкретно, что не так. Пока что от тебя только общие шаблонные фразы без доказательств. Я бы даже рекомендовал его бред для начинающих - найди десять ошибок, Ну так давай, найди. Перечисли. Именно десять. Жду. Что ты ни своего ничего предложить не можешь, ни на ошибки указать. chpasha я тебе пытался объяснить, почему использование визуального редактора бесполезно, но ты либо не захотел, либо не смог понять. Еще раз - layout не принадлежит Activity эксклюзивно. Куча других сущностей может быть "связана" с layout, потому просто не существует одного такого места, где можно сгенерить что-либо. задача бессмысленна изначально. Это ты теперь мои же слова, которые я давно сказал, мне же и повторяешь и преподносишь это как свое откровение о котором я не знаю. Похоже тебе действительно нужна помощь специалиста. Давай, еще почитай, может до тебя дойдет, что в моем подходе как раз обеспечивается возможность гибкой связи разных Activity с одним layout. Но похоже, тебе говорить что то бесполезно, т. к. ты вообще не программист и не понимаешь НИЧЕГО. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:38 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Я бы на месте Java программистов серьезно обеспокоился, что их всех начнут считать такими как chpasha . Который все, что ни говорит, все мимо, а в конце вообще начал мне мои же рассуждения пересказывать (о хамстве уж я и не говорю) и меня в них же и убеждать. Т. е. гражданин в принципе не способен воспринимать информацию. Я бы на месте Java-программистов сказал бы такому - к ноге мол, кыш, не позорь нас, мы не такие. Извините, мол, не принимайте этого гражданина за нашего представителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:45 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
тяжелый случай Eugene Newчто в моем подходе как раз обеспечивается возможность гибкой связи разных Activity с одним layout [хватается за голову] чувак, как мне еще написать, чтобы ты понял? layout может быть связан с Fragment, layout может быть связан с ViewGroup. Аctivity не обязательно иметь "свой" layout. Аctivity может состоять из N фрагментов, каждый из которых имеет свой layout. ладно, последняя попытка - может до тебя хоть код дойдет, хотя перед кем я тут бисер мечу :( Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:55 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, просто набери в гугле "activity get view" - первая же ссылка на stackoverflow А ты загляни в то, что там написано. Тот метод, который использую я. А без указания id у верхнего layout - нет. Блин, кому я это говорю.. состав контролов можно менять в любое время. добавлять, убирать, прятать Тогда глупо не давать ссылку на верхний View в явном виде. Но разработчики Андроида не дают. Шедевр архитектуры.. java annotation processing Почувствуйте разницу между файлом исходного кода в простом виде в каталоге проекта, который сразу видно и тем, что где то там генериться в нечитаемом виде.. Опять же, кому я это говорю.. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:56 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewА без указания id у верхнего layout - нет. Блин, кому я это говорю вот именно, кому я вообще что-то пытаюсь объяснять, человек гуглом пользоваться не умеет. у activity есть корневой контейнер с id android.R.id.content, он и содержит твой layout Eugene NewПочувствуйте разницу между файлом исходного кода в простом виде в каталоге проекта, который сразу видно и тем, что где то там генериться в нечитаемом виде твоя глупость может сравниться только с твоим упрямством. вот класс сгенеренный с помощью androidannotations на базе java annotation processing. что тут нечитаемого? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:05 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Надо же, в первый раз ты что то по делу сказал. Нет проблем с выделением функции для работы с View Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
Код: java 1.
Код: java 1.
Мне разжевать как ссылку на Fragment получить прямо при его создании? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:15 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
у activity есть корневой контейнер с id android.R.id.content, он и содержит твой layout Ок. Значит все еще проще, не нужно ни писать id вручную, ни передавать его. Странное, конечно, решение авторов библиотеки - вместо создания свойства getView у Activity. вот класс сгенеренный с помощью androidannotations на базе java annotation processing Проблема в том, что читая исходник ты не видишь всего исходного кода сразу и что сгенерировано может быть как и нормально, так и ужасно. Использование макросов тема для отдельного обсуждения и его очень тяжело вести с человеком, который уже показал свою неспособность воспринимать элементарную информацию. Почему, кстати, в твоем примере макрос override не раскрылся? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:29 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewНадо же, в первый раз ты что то по делу сказал нет, ты просто впервые попытался прочитать написанное Eugene NewМне разжевать как ссылку на Fragment получить прямо при его создании? а мне разжевать тебе про то, что Activity ничего не должен знать о том, что там во фрагменте? и что у фрагмента есть свой цикл жизни и по-этому он сам должен разруливать свои вьюхи? Тоже самое касается контейнеров типа ViewGroup. к чему это я? к тому что задача генерации подобного или любого другого кода в дизайнере бесполезна, потому что у нас тех же Fragment-ов может быть 5 штук и они могут использоваться на 2-3 Activity, так что генерировать весь этот шум в каждой из них не просто муторно но и архитектурно не правильно. но я все же хочу вернутся к твоему тезису о нечитаемости генерируемого по аннотациям кода. приведенный выше код сгенерирован автоматически. что там нечитаемо и чем твоя поделка по-твоему лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:38 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewПроблема в том, что читая исходник ты не видишь всего исходного кода сразу и что сгенерировано может быть как и нормально, так и ужасно ты не понял, ВЕСЬ код в этом классе сгенерирован на 100%, тут нет прикладного кода. его единственная задача избавить прикладной код от всей это лапши видa findByView, onOptionsItemSelected и много чего еще Eugene NewПочему, кстати, в твоем примере макрос override не раскрылся? что значит не раскрылся? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:43 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Эмм, override даже в С++11 добавили. Чувствуется запах нафталина. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:55 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, [quote]что значит не раскрылся? [/quote @override - не конструкция языка, а аннотация. Какого он делает в "полностью раскрытом' коде? Компилятор по идее его не понимает, т. к. это не конструкция языка. Значит вместо @override компилятору подсовывают что то другое. Где оно? Или все-таки @override это конструкция языка, понятная компилятору? у фрагмента есть свой цикл жизни и по-этому он сам должен разруливать свои вьюхи? Объявления объекта L можно и внутрь фрагмента засунуть и инициализировать его при создании фрагмента. Конечно, мой класс делает не больно то много, всего лишь избавляет от явного объявления полей и их инициализации. При этом генерируя минимум кода - только объявление класса с этими самыми полями, т. к. использует RTTI. ты не понял, ВЕСЬ код в этом классе сгенерирован на 100%, тут нет прикладного кода Да, и я правду не понял сразу. Но тут как раз выходит проблема с гибкостью с фрагментами или нет? Непонятно, нужно ли обязательно наследование от этого _Activity. Я напишу критику этого подхода чуть попозже.. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:58 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
авторЭмм, override даже в С++11 добавили. Зачем ты что то пишешь, если вообще нихрена не понимаешь, о чем идет речь? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 15:06 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewИли все-таки @override это необязательная аннотация, которая просто позволяет компилятору проверить действительно ли мы делаем то, что думаем, что делаем - например если мы ошиблись в названии метода и/или кол-ве/типе параметров. кроме того она имеет чисто информативный смысл Eugene NewОбъявления объекта L можно и внутрь фрагмента засунуть и инициализировать его при создании фрагментаможно. и мы получим 100% аналог androidannotations или butterknife, сделанный на базе convention over configuration и без использования annotation processing (официального механизма для кодогенерации). Так и в чем профит? Если бы ты по-человечески спросил, как избежать вот этого boilerplate, я тебе сразу 3-4 способа и назвал бы, смысл было истерить и сраться? Eugene NewНо тут как раз выходит проблема с гибкостью с фрагментами или нет? нет, эти аннотации (и много всяких других) валидны для многих элементов, в том числе для "чистых" классов не наследующих ни фрагменты, ни activity Eugene NewНепонятно, нужно ли обязательно наследование от этого _Activity только при запуске Activity. т.е. прикладной код пишется в MyActivity, MyFragment, MyViewGroup и т.д., а в манифесте или при старте указывается MyActivity_, для создания фрагмента используется MyFragment_ и т.д. Eugene NewЯ напишу критику этого подхода чуть попозже пиши ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 15:17 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, это необязательная аннотация, которая просто позволяет компилятору проверить действительно ли мы делаем то, что думаем, что делаем - Что оно делает, я знаю. Механизм работы до конца не понятен. Почему то это не сделано частью языка, а названо аннотацией, которая реализована через public @interface Override, а как это раскрывается дальше уже непонятно. мы получим 100% аналог androidannotations или butterknife Совсем разные вещи. сделанный на базе convention over configuration Файлы с определениями класса должны генерироваться визуальным редактором и записываться в каталог src проекта или может в отдельный подкаталог. Так и в чем профит? Не писать руками объявления и инициализацию полей-вью. Хотя можно это сделать и руками, если дизайнера форм нет. Объем генерируемых файлов минимален, механизм работы (вызов одной функции) прост. Не скажу, что это прямо великий профит, т. к. обычно на окне контролов мало (о чем я сказал сразу). ? Если бы ты по-человечески спросил Я не только спросил, но четко сформулировал задачу. По большому счету - как упражнение. только при запуске Activity. т.е. прикладной код пишется в MyActivity, MyFragment, MyViewGroup и т.д., а в манифесте или при старте указывается MyActivity_, для создания фрагмента используется MyFragment_ Хитрозамудрено. Еще и манифест менять. Слишком неочевидно для решаемой задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 16:16 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewМеханизм работы до конца не понятен. механизм работы аннотаций типа NotNull/Nullable понятен? позволяет выявить ошибки на этапе разработки в отсутствующих или излишних проверках на null в параметрах методов, значениях полей, результатах возврата функций. Так и в случае override это просто маркер. Все аннотации - это просто метаданные, не имеющие прямого эффекта на элементы, для которых они объявлены. Они несут некую информацию для компилятора и массы других механизмов типа кодо-генераторов, сериализаторов, дейплойеров и т.д. и т.п. Eugene Newа как это раскрывается дальше уже непонятно. никак не раскрывается - это метаданные. ты можешь получим к ним доступ (в зависимости от декларации), на этапе компиляции или в рантайме и что-то по этому поводу сделать. Например Код: java 1. 2. 3. 4. 5.
так понятно? в данном случае аннотация JsonProperty несет информацию для сериализатора/десериализатора json как сериализовать и де-сериализовать поле myProperty Eugene Newмы получим 100% аналог androidannotations или butterknife Совсем разные вещи. полный аналог, но у меня нет настроения на спор в стиле да/нет/да/нет. и твой код и описанные инструменты имеют целью избавить разработчика от рутинной лапши. оба делают это одним и тем же способом, только вышеозначенные элементы через кодогенерацию и наследование, а ты - через рефлексию и отдельный класс, содержащий все элементы. я могу переписать твой пример на androidannotations, подумай еще раз, на сколько это аналог твоего кода Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Eugene NewХитрозамудрено. Еще и манифест менять нормально. "менять" нужно только если проект мигрируется на подобное. иначе мы изначально пишем наследника. Eugene NewСлишком неочевидно для решаемой задачи Любые инструменты приходится изучать и правильно применять. Очень часто ничего из вышеперечисленного вовсе не надо, с помощью DataBinding можно решить очень много тривиальных задач без обеспечения доступа к элементам layout. Собственно DataBinding, это то - что изначально должно было быть в инструментарии андроида, но к сожалению появилось довольно поздно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 16:44 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Ок, попробуйте с помощью аннотаций повторить генерацию такого же файла, как я привел в примере. Если сумеете в аннотации прочитать xml-файл и атрибуты tag из него, то выйдет, а если нет - то скорее всего не выйдет. Т. к. имена полей, которые нужно сгенерировать, находятся в атрибутах xml-файла и больше нигде - писать их в исходном коде при вызове аннотации не допускается по условиям задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 16:47 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewЕсли сумеете в аннотации прочитать xml-файл и атрибуты tag из него функционала из коробки для генерации полей по layout нет в androidannotations, зато такой функционал есть в DataBinding вот кусочек реально сгенеренного файла (кол-во полей я сократил) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
если бы подобный функционал потребовался мне в androidannotations, я бы это сделал в виде плагина для оных, благо java annotation processing поддерживает множественные проходы. однако я не вижу особой пользы в подобной фиче по следующим соображениям (навскидку) - все, что нам как правило нужно, это установка свойств и реакция на события. это решается лучше и элегантней с помощью databinding, нам не нужен прямой доступ к контролам, нам достаточно менять значения модели - если нам нужны нестандартные манипуляции с парой контролов (например сложная логика перемещения фокуса или еще какой изврат), то игра не стоит свеч ради пары-то контролов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 17:32 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewавторЭмм, override даже в С++11 добавили. Зачем ты что то пишешь, если вообще нихрена не понимаешь, о чем идет речь? Я понимаю, что оверрайд имеет чисто декоративный[предупредительный] смысл в C++/D/C#/ Java А ты почему то требуешь "раскрыть макрос" =) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 18:01 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, зато такой функционал есть в DataBinding а что для этого программисту надо написать в исходном коде? Определение аннотации или как это правильно называется. Короче, вызов этого хозяйства. Чтобы мне не гадать. Насколько я понял, определение класса надо писать вручную. Потом ЕЩЕ раз пишем названия его полей в атрибутах в xml. Понятно, что раз определение класса уже есть, а атрибуты загружены во время выполнения, то мы сможем его инициализировать, примерно это я и вижу в реализации. Загвоздка в том, чтобы имена контролов написать РОВНО один раз и сгенерировать класс, не описывая его вручную и чтобы к полям класса было корректное обращение с автозаполнением и прочими плюшками в момент редактирования кода. это установка свойств и реакция на события. Открыть по нажатию на кнопку новое Асtivity или запустить задачу сможет? Siemargl Я понимаю, что оверрайд имеет чисто декоративный[предупредительный] смысл в C++/D/C#/ Java Неправильно понимаешь относительно C++ и С#. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 19:10 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene Newа что для этого программисту надо написать в исходном коде? погули официальный туториал, у меня рабочий день закончен , так что все вопросы и примеры завтра ;) . можно использовать databinding + androidannotations, что позволяет еще уменьшить кол-во ручного кода ( позволяет убрать большинство инициализаций из исходных примеров databinding). Eugene NewНасколько я понял, определение класса надо писать вручную вручную ты пишешь модель данных и binding expressions в layout (с автозаполнением), плюс в layout в спец секции указываешь тип модели данных (для автозаполнения и генерации методов доступа), в xml какие свойства контролов на какие свойства модели байндить, плюс события. для всех контролов с id автоматом генерятся поля как в примере выше. Eugene NewЗагвоздка в том, чтобы имена контролов написать РОВНО один раз и сгенерировать классэто как раз работает (если у view есть id, на сколько я помню) и это имхо максимально бесполезно, потому что как я уже писал выше в 99 случаях из 100 мы байндим какой-то текст на какаую-то переменную, или видимость/enabled/disabled плюс реагируем на нажатия какой-то кнопки. Для этого сами контролы нам не нужны. Eugene Newчтобы к полям класса было корректное обращение с автозаполнением работает Eugene NewОткрыть по нажатию на кнопку новое Асtivity или запустить задачу сможет? естественно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 19:27 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, Вероятно, databinding позволяет решать определенные задачи. Но мне бы хотелось увидеть решение своей задачи, не чужой. Ручками объявление короткого класса я и сейчас могу написать и дальше вызвать свою функцию. Но без его генерации придется два раза писать названия полей - в самом классе и в xml. Мало того, что писать 2 раза одно и то же, и менять потом в 2-х местах в случае необходимости. Можно и ошибиться и компилятор ошибку на этапе компиляции не выявит. То же касается использования databinding. https://stackoverflow.com/questions/41938671/databinding-button-onclick-not-working Код: sql 1.
Это примитивный плохой подход, потому что заставляет писать сложные выражения со скобочками в атрибутах - а в строках атрибутов компилятор не проводит никакого синтаксического анализа. В которых легко ошибиться и ошибка, как явствует из вопроса по ссылке ошибка вообще не будет выявлена. В данном случае можно было бы написать "onclick", который работает без всякого databindg и которым никто не пользуется, т. к. это неудобно. Код: java 1. 2. 3. 4. 5. 6.
И чем это лучше прямого назначения анонимного онкликлистенера, при котором не надо ничего писать в атрибутах? Текста столько же. Вижу усложнение вообще без выгоды. Повторяюсь, для чего то другого databinding может быть хорош. Но для назначения обработчиков пока что вижу только лишние сложности вообще без выгоды. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 09:49 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewЭто примитивный плохой подход, потому что заставляет писать сложные выражения со скобочками в атрибутахэто не совсем так, допускается запись вида model::onClick или как в примере callback:onClick . но автоподстановка именно для событий действительно не работает Eugene Newа в строках атрибутов компилятор не проводит никакого синтаксического анализа. это тоже не так, если референцируемый метод не существует, компилятор выдаст ошибку android.databinding.tool.util.LoggedErrorException: Found data binding errors. ****/ data binding error ****msg:Listener class android.view.View.OnClickListener with method onClick did not match signature of any method model::onClick1 в приведенном тобою примере со stackoverflow ошибка была в другом Eugene NewВ данном случае можно было бы написать "onclick", который работает без всякого databindg и которым никто не пользуется, т. к. это неудобно.да, неудобно. в databinding в отличие от, можно указать где будет находится обработчик события Eugene NewИ чем это лучше прямого назначения анонимного онкликлистенера, при котором не надо ничего писать в атрибутах? Текста столько же. Вижу усложнение вообще без выгоды.пример неудачный, у меня есть лучше Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 11:16 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
SiemarglА ты почему то требуешь "раскрыть макрос" =) Он со времён hello world не видел других языков, кроме си. А в сях есть так называемые команды препроцессора, которые как раз можно назвать макросами, которые компилятор раскрывает и запускает. Вот он и бредит знакомыми образами, разглядывая новый для него игрушки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 14:11 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
alex55555, говори за себя, что ты видел и что нет. И прекрати здесь флудить. НИ ОДНОГО содержательного сообщения от тебя в данной теме. Вообще ни слова по делу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 17:08 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
chpasha, ок, так лучше. Способ ссылаться на модель из разметки на xml. Но все таки такое использование создает определенную кашу. Например, что здесь модель? Модель из MVC? Тогда она не должна управлять интерфейсом напрямую - вызывать другие окошки из нее некомильфо. Требуются магические слова с @ расставленные в определенных местах. В редакторе атрибута не работает автодополнение. Много текста. Избыточно для решения моей задачи. И т. п. Я придерживаюсь принципа (придуманного не мной), что код должен быть максимально читаемым, насколько это возможно. То, что сделал я - объявление класса, нигде не спрятанное и его явная инициализация вызовом функции. Сразу ясно откуда что берется. ЧИТАТЬ и понять что происходит удобнее и легче. Можно, конечно, и в databinding разобраться, понять что означают магические слова и почему они ставятся именно там, где ставяться и как писать атрибуты, на что там ссылаться можно, а на что нет. Но это сложнее - и нужно только при решении адекватной по сложности задачи, решение которой другим способом будет еще сложнее. Тем не менее благодарю за полезную информацию, которую вы начиная с определенного момента начали выдавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 17:25 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewНапример, что здесь модель? Модель из MVC? на твое усмотрение, но я бы сказал, что это скорее МV(P) . не спрашивай, почему я обозвал класс моделью :) Eugene NewТребуются магические слова с @ расставленные в определенных местах не требуются. как я писал выше - лично я использую databinding вместе с androidannotations, что позволяет упростить код. можешь не использовать, а писать как в оф. примерах. а вообще в яве магические слова на каждом шагу, это ты еще, видимо spring не видел. Eugene NewВ редакторе атрибута не работает автодополнение для свойств работает, для событий нет Eugene NewИзбыточно для решения моей задачи дело хозяйское. для примитивных "форм" лично мне хватает только androidannotations, databinding юзаю когда у интерфейса много состояний. Eugene Newкод должен быть максимально читаемым с этим не поспоришь, но это очень слабо натягивается на случай знакомства с новым инструментом т.к. понимание читаемости становится очень субъективным. например, что более читаемо - явное инстанциирование кучи объектов или декларативное создание их же с помощью depedency injection? как по мне, так второе - более читаемо, но требует более высокого порога вхождения и некоторого понимания предмета, т.к. человеку абсолютно не знакомому с концепцией абсолютно не понятно откуда берутся все эти объекты. ему куча строк с new будет понятней. Eugene NewМожно, конечно, и в databinding разобраться, понять что означают магические словав данном примере магические слова никак не связаны с databinding. в любом случае за каждым из них стоит довольно простая концепция, более того, если тебе показать более простой пример, то ты почти наверняка и так поймешь, что здесь происходит, не будучи знакомым с инструментом. например Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 18:06 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Eugene NewЗачем мне Eclipse? Хочу уйти от gradle. Дело не только в сложности этого сборщика и ужасно плохой работе шта ? плохой работе, мда... уж в разы лучше ант. и еще, градл умеет работать в оффлайн режиме, можно в настройках поставить, тогда качать ничего не будет каждый раз. и в чем сложность установки Андроид Студио ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2018, 10:57 |
|
Почему заглох Eclipse Andmore?
|
|||
---|---|---|---|
#18+
Джибсшта ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2018, 11:04 |
|
|
start [/forum/topic.php?all=1&fid=13&tid=1330846]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
1ms |
get page messages: |
171ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 277ms |
0 / 0 |