|
Почему заглох 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?fid=13&msg=39703624&tid=1330846]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 316ms |
0 / 0 |