Это копия, сохраненная 9 мая 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1280x660, 0:04
> Хочу вкатиться в разработку под Android! С чего начать?
Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.
После этого можно установить Android Studio, открыть официальную документацию http://developer.android.com/training/index.html и попробовать создать по туториалам своё первое приложение.
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.
> Мануалы?
- Официальная документация: http://developer.android.com/
- Полезный гайд для начинающих и продвинутых: http://guides.thecodepath.com/android
- Бесплатный видеокурс от Google для новичков: https://www.udacity.com/course/android-development-for-beginners--ud837
- Два ресурса, единственный плюс которых — русский язык: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
- Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": http://stackoverflow.com/
> Не хочу писать на Java!
- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. С 17 мая поддерживается официально.
> Есть что-то кроме нативных приложений на Java/Kotlin?
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.
> Хочу писать игры!
LibGDX или Unity. Спрашивать в /gd/.
> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы одно готовое приложение.
Предыдущий тред: https://arhivach.org/thread/334340/
опять эта шмара
mItems — это что? Массив? Вставляй все сразу и делай только один вызов notifyItemRangeInserted
> из БД в recyclerView
Возможно ты из БД их как-то через жопу достаешь, я не знаю, что там у тебя.
В наше время многие девушки имеют те еще ведра.
У меня до этих методов была реализация пика1. Здесь при скролле у меня просто элементы новые заменяли старые.
Потом я добавил пик2. И написал пик 3. Самое интересное то, что, если я после
public void add(BRealm r) {
напишу listAdapter.clear()
То при первом скролле у меня отобразится 10 элемент (Изначально мы видим 5) А потом скролл не работает.
>>27625
>mItems — это что? Массив?
Обычный лист в адаптере.
>Вставляй все сразу и делай только один вызов notifyItemRangeInserted
Пытался, все равно не хочет работать, только через clear() как выше.
что за тянучка на ОП пике?
ConcurrentModificationException возникает из-за реалма, так что ищи где у тебя несколько модификаций происходит, возможно ты пытаешься одни и те же инстансы юзать в разных потоках, не закрывая их при этом, а так, без всех сурсов тебе вряд ли кто-то поможет
Cпасибо большое, в очередной раз убеждаюсь, что нужно больше ебаться с документацией.
Поигрался в этом направлении, заработало, в итоге у меня page_size стояло на 5, поставил на 50 - скролл нормально пошел.
В смысле на гитхабе? Ты про CI какой-то? Конечно умеет, дело-то не в студии, а в плагине для грейдла. https://developer.android.com/studio/write/java8-support.html
Просто выставить таргет и все.
>Студия уже сама умеет без всяких ретролямбд.
А вот некоторые проекты живут. И вообще, меня напрягают проблемы с компиляцией. Качаю репу чтобы детальней разобраться с кодом, а она блять не компилиться, ничего не помогает блять.
Если проекты действительно живут, их обновляют и они нормально компилируется.
Ну в худшем случае предложите ресурс где я могу почитать про firebase(не документацию)
>Realm для даунов-неосиляторов.
Ну да, тогда и асинтаски лучше использовать, потому что рх для даунов-неосиляторов. Хули нам, костыльным пацанам, да?!
То firebase, то realm. Ты уж определись, зачем тебе все это надо. Программу тебе не собираюсь писать, там и писать-то нечего. Вот например интро для ньюфагов от божественного мастера:
https://medium.com/@Zhuinden/why-realm-is-a-great-persistence-solution-for-beginners-in-android-development-6d69698efaad
> божественного мастера
Поехавшего фанбоя, у которого во всех постах только восхволения realm и есть.
Ты поехавший. Даже в той статье в ссылке он говорит про "минусы".
Ну что значит не компилится? Обычно пишется конкретная ошибка или проблемы с зависимостями.
Сейчас знания по realm и firebse у меня одинаковые - нулевые. Поэтому я просто хочу увидеть реализацию.
>Посмотрел realm - чет не зашло,
>так что теперь выбор стоит между православным sqlite
Давай. А еще асинтаски наплоди, Васян.
Я хочу реализовать: чтение, а точнее поиск данных по бд, по заданным пользователем параметрам
С такой постановкой задачи можно юзать любую бд. Я бы советовал рум. Новое что-то. И его хвалят
Опять эта тварь на оппосте. Игнорим тред, битарды.
> от божественного мастера
Блядь, ну я еще понимаю, откуда у Вортана стадо подсосов. Но у этого-то они откуда? Да еще и на харкаче
Почему тебе не нравятся ведра?
>кококо
Человек шарит и посты пишет, а что ты делаешь? Вот оттуда подсосники и берутся. Я лично нейтрально к нему отношусь, но его посты действительно мне помогли в некоторых аспектах.
мне важен понятный синтаксис и логика, для начинающего, отвечает ли рум этим требованиям?
Посморел про room на хабре, получается, что он тоже использует sql запросы?
> // Получение всех Person из бд с условием
@Query("SELECT * FROM person WHERE favoriteColor LIKE :color")
Почему она проглатывает слова? И где вообще сабы?
Из речи вроде слышно, что она говорит: Данные андройда в твоем кармане, или ты просто хочешь их видеть?
Это ORM над SQLite, поэтому да, оно тоже использует SQL-запросы.
Рум неочень:
1) Запросы хуяришь руками на SQL
2) Всё, кроме селектов, не способно выдавать Rx
3) Выборка данных из Many to many - руками, из One to many - костыль через отдельную сущность
4) Слушатели на апдейты таблиц устанавливает сам рум, из таблиц в запросе.
5) Ебанутое тестирование, где тебе надо дао для тестов пилить
Лучше юзайте Storio, там всё это давно пофикшено, либо пилится в резолверах руками
потому что ВНЕЗАПНО именно он автор библиотеки ретрофит, которую теперь практически каждый андроид-разраб юзает в своих проектах, которая стала стандартом в разработке к-с приложений. Также он автор пикассо и баттернайфа, которые очень часто используются. Найди другого человека, который сделал настолько большой вклад в андроид разработку. Добавляем его общительность, помощь при решении каких-то проблем (с тем же ретрофитом хотя бы), кучу туторириалов и вот тебе ответ на вопрос
Научись читать сообщения, на которые отвечаешь, речь не про Вортана шла.
>5) Ебанутое тестирование, где тебе надо дао для тестов пилить
Ты базу тестируешь? Ебанулся совсем?
>Если ты не можешь в английский,
Если я не понимаю людей, которые проглатывают слова, это не означает, что я не могу в английский. Выблядок.
>то в этот тред тебе точно рано заходить.
А ты здесь вообще откуда взялся?
С румом еще не работал но.
>2) Всё, кроме селектов, не способно выдавать Rx
Делаешь селект и слушаешь изменения. В чем твоя проблема? Тебе сложно оборачивать инсерты в комплитаблы если оно само этого не делает?
>3) Выборка данных из Many to many - руками, из One to many - костыль через отдельную сущность
SQLite то еще говно, и подобных проблем походу во всех орм хватает.
>4) Слушатели на апдейты таблиц устанавливает сам рум, из таблиц в запросе.
А что в этом плохого?
>1) Запросы хуяришь руками на SQL
Ого, как с этим жить да?
Что посоветуете? Переносить разметку из XML и юзать статик лэйаут, или есть еще другие варианты?
Я думаю оно и без датабиндинга будетк ак говно работать.
Советую поменять немного ux. И отображать текст не полностью, но дать возможность открывать итемы.
Там бабблы с сообщениями, все сложнее. Скрывать — такое. А проблема именно в ТВ. Вот я и думаю, есть ли варианты, чтобы не переписывать целую кучу кода.
врядли ты такое с текствью сделаешь, юзай едиттекст, макс линий 1 и скроллабле добавляй
она говорит: Это телефон андроид в твоем кармане или это ты так рад меня видеть? (типо намекает, что телефон выпирает как эрегированный хуй) мимо переводчик
>Делаешь селект и слушаешь изменения. В чем твоя проблема? Тебе сложно оборачивать инсерты в комплитаблы если оно само этого не делает?
Да ни в чём, просто нелепая полуподдержка Rx
>SQLite то еще говно, и подобных проблем походу во всех орм хватает.
>А что в этом плохого?
>Ого, как с этим жить да?
Да в общем-то, ничего смертельного в этом нет. Просто как орм рум - недоделок. Storio вообще не орм, а надстройка над голым апи sqlite. Но там для этой еботени специально сделаны резолверы, дефолтные запросы зауярены билдерами. Объём кода при этом получается примерно такой-же.
Ох какой же я еблан. Отхватить креш у каждого пятого пользователя, из-за ебаного гугла и их говно либы.
какие же уебаны там в гугле сидят, ох как пичот!
сам синтаксис конечно такой же. Классы же абсолютно другие, так как берутся из андроид сдк. Поэтому смотри сам. А вообще в 2к18 юзать джаву на андроиде малость зашкварно и отстало, так как есть котлин
К слову, у меня recyclerView стоит там.
Через activity
думал компилять быстрее будет, - да хуй там было.
Какая конфа нужна чтобы компилять быстро?
Ок, буду смотреть. Там насколько все сложно? Просто на данном этапе моих знаний может не хватить и я обосрамс.
На маке все ок, хз
Ну, минутка в среднем для всех. Это я еще не оптимизировал его, говорят там ништячки еще для быстроты можно найти.
Мимо начинающий
Она вовсе не проглатывает слова. По крайней мере на этом видео произнесла все слова вполне чётко. Ты просто плохо понимаешь язык на слух. И не надо говорить про акцент и тп, у неё стандартный американский.
>что за хуйня
Ведро-с.
Можно конечно стримами, иногда так проще всего.
Если файлы менее 2 гб то можно https://developer.android.com/reference/java/nio/channels/FileChannel.html
Спасибо, анон, попробую это прикрутить.
Обмазываю впервые, все по гайду, при отладке баннеры активны, после установки на все свои устройства три телебона на ведре баннеры так же крутят свою рекламу фейсбука и капусты лол.
Скинул апк друзьям, у них реклама не появляется. В чем дело - не понимаю. Возможно, без размещения в сторе реклама не хочет генериться, но врятли.
нет подходящей таргет рекламы для твоих друзей уебанов
Нет кайфа, в андроиде есть плохая архитектура которую уже не могут выпилить.
Пытаюсь запилить урок по гайдам с ютьюба, но всё заканчивается на синхронизации зависимостей. Пирилейтед. Гуглил, получал миллион решений, но никакое не помогло.
Ты читать умеешь на другом языке? Мне кажется, у тебя где-то там 27 recycler view стоит, кароче, ты юзаешь 26 суппорт, а ему нужно 27. Но это не точно.
не подключил гугловский репозиторий. Поищи где у тебя добавляется mavenCentral или jcenter и добавь гугловскую репу.
> но всё заканчивается на синхронизации зависимостей.
Потому что нужно самому делать, а не качать откуда попало. Я же тебе говорил, Славик!
Чего злой такой?
Добро пожаловать в пр.
https://android-developers.googleblog.com/2018/02/introducing-android-ktx-even-sweeter.html
https://www.youtube.com/watch?v=kmvS3sZF_y0
Да, только sdk и библиотеки придется качать где-нибудь, где есть интернет, а потом копировать на комп без интернета.
Ты имеешь ввиду те что качаются в .gradle ? То есть я могу дома скачать эти файлы через android studio, потом скопировать папку .gradle на рабочий ПК и все будет работать?
Какая же она няша. Так бы и всунул.
В настройках студии можно выбирать папку, где у тебя лежит сдк. Соответственно также можно делать и с импортом сторонних библиотек, которые прописаны в градл.билд файле.
че ты за хуйню несешь, поехавший? сейчас для всех библиотек надо имплементейшн юзать, начиная с последней гредл версии, не забывая при этом среди репозиториев указать google()
https://github.com/android/android-ktx/pull/161#issuecomment-363270555
Неблохо, осталось что бы они остальную тонну дерьма стандартного вырезали (инб4 все ведро).
1) Интеграционный - где активити вызывает презентеры, репозитории и т.д.
2) Онли UI, где вызовы презентера мокаются?
Разные.
Мне просто привычней всего по книге учиться.
Отвыкай. Андройд настолько быстро шагает, что людям впадлу писать. Напишут, а уже будет неактуально. Но книги все же есть, лично меня они не устроили, если по хед фесту я смог джаву понять, то андройд книга полное дерьмо. В главе с фрагментами они очень сильно путают людей и особо не поясняют за network и мало мальски затрагивают SQ Lite. Хотя, некоторые могут порекомендовать и Murphy - Android, да вот лежит у меня, но я ней не пользовался ни разу.
Получше будет смотреть курсы от Udacity, там их как раз 6 или 7, на месяц хватит. С 0 до клиент-серверного дойдешь, а дальше можно уже свое приложение тестовое делать с попутным гуглением требуемых вещей.
Да, предыдущий анон все правильно расписал про то, что книги слишком быстро устаревают. Можно попробовать книгу по подписке почитать. Там море всего:
https://commonsware.com
Если уже имеется написанная клиент серверка(получаю данные с сервера, отображаю в ресайклере, перехожу по фрагментам, имеется поиск по приложению), то стоит ли пробовать работу искать? Или еще все вышеописанное на дагер перевести?
Смотри пикрлейт. Пробуй и дагер, больше узнаешь -
будет заебись. А вообще, в этом я не советчик, т.к. я клиент-серверное сам пока делаю, дальше ничего сказать не могу.
А зачем тебе тогда книги? Дальше можешь просто знакомиться с технологиями: тонны конференций на ютубе, куча различных архитектур, даже язык новый тебе запилили - это всё знать хотя бы поверхностно надо, чтобы потом когда прихватит было проще окунуться в это дерьмо с головой.
Про книги был другой анон. Я уже прост набыдлокодил немного, и изучаю вопросы по мере их поступления.
Уже не востребованна. Учи Javascript.
>Cколько лет будут продолжаться тупые вопросы?
Алсо, учи дарт, хули. Или хамарин. Вон там прям разбирают людей, ух. Даже в питере 400 вакансий андройда и 13 по хамарину. Видишь! ХАМАРИН вырывается в топ!.
Иди нахуй.
очевидно, что столько же, сколько будет жива ОС Андроид. Ты видишь, чтоб она загибалась? И я не вижу. Самый большой процент на рынке у нее. Так что лет 5-10 - это самый минимум. Другой вопрос в том, что разработка на джаве будет загибаться с каждым годом все больше и больше, и будет идти переход на котлин. Но это уже другая история
>У тебя котлин без jvm работает?
Причем здесь это? На котлине говорят удобно писать, только разницы я этой не вижу.
Не вижу применение здесь этой картинки. Я написал факт, так что ретардишь здесь ты.
нахуй ты вообще приплел одно к другому? Гугл сделали котлин своим оффициальным языком для разработки андроид приложений. Сделали , чтоб не было судебной тягомотины с ораклом, которая длится годами. Окей, это все что достаточно знать. Все остальное лично меня вообще не ебет, срал я на это. Я уже использую котлин во всю и мне похуй на джаву, лол.
Видимо, этот малолетний даун понимает выражение "умрёт java" буквально, будто она вот возьмёт, и удалится нахуй с его компа прямо из папочки с доткой. И в JetBrains сразу же возьмут, и убьют котлин нахуй таким же способом. И они даже не подумают продолжать писать язык для последней вышедшей версии JVM.
Проиграл. Только сегодня читал в одном из кодеропабликов холивар между фанатом кордовы (!!!) и фанатом реакт нейтива. Это было весело.
двачую. Искренне заебали долбаебы, воспринимающие котлин, как какую-то новую версию джавы, не понимающие, что это - два независимых языка и что даже если умрет джава, то котлин дальше продолжит развиваться, пусть и на базе последней стабильной версии jvm.
> чтоб не было судебной тягомотины с ораклом, которая длится годами
Для этого они перешли на опенждк. Системные компоненты все равно будет писаться на чистой джаве, а не котлине, иначе рантаим по пизде пойдет, когда у тебя в системе одна версия котлиновской стдлиб, а ты тащишь свою. После чего класслоадер тебе успешно подсовывает системную версию.
Сколько ПРИМЕРНО может стоить разработка приложения, которое опрашивает API нескольких сайтов, загружает оттуда данные (там будут тексты, картинки, видео и звуки), парсит их и показывает пользователю в читабельном виде. Будет экранов 10-15, меню, все дела. Дизайн стандартный без особых изысков.
Вот сколько: 5 тысяч? 10, 15?
А то жадные пидоры из руководства совсем охуели и считают, что тыжпрограммист должен и картриджи менять, и шиндошс переустанавливать, и мобильные приложения писать на зарплате в 20к.
>Вот сколько: 5 тысяч? 10, 15?
Это тебе не картриджы менять.
>которое опрашивает API нескольких сайтов, загружает оттуда данные (там будут тексты, картинки, видео и звуки), парсит их и показывает пользователю в читабельном виде. Будет экранов 10-15, меню, все дела.
Ну, если в подробности не лезть, то думаю здесь около 100-200 часов работы. Может и меньше. Я бы дал тысяч 100 за такое.
1) Версии API. Количество ебли зависит от них. Двачбраузер раньше работал с 1.6 но это кромешный пиздец хотя может уже послали олдфагов нахуй
2) Что планируешь делать с видео?
3) Кто занимается дизайном, тестированием? ТЗ будет?
Стоимость зависит от этого. Соглашусь с предыдущим, будет около сотки, возможно выше.
За 20к не стоит пилить вообще ничего - читай лаборюнион и не будь штрейкбрейхером. Одно дело намакакать ведроид-приложение, другое - его поддерживать и фиксить баги с лайфсайклами/версиями апи.
> 1) Версии API.
API у нашего сайта это самодельное говно на PHP.
> 2) Что планируешь делать с видео?
Воспроизводить его в YouTube player for Android
>3) Кто занимается дизайном, тестированием?
Я, я.
>ТЗ
Нет
Короче суть в том, чтобы пользователь получил всю информацию и новости от нашей говноконторы в одном месте, а не лазил по сайтам и ютьюбам с мобильного браузера.
>суть в том, чтобы пользователь получил всю информацию и новости от нашей говноконторы в одном месте, а не лазил по сайтам и ютьюбам с мобильного браузера.
Орнул чет. Как-будто люди будут пользоваться этим.
Если у вас там говноконтора не уровня хотя бы вк, то никто не будет устанавливать ваше приложение (ну 3,5 тестера установят и ты).
Вам проще запилить единый сайт, аггрегирующий всю информацию, с нормальной адаптивностью и производительностью.
Что за конфликт между гуглом и ораклом? Расскажи подробнее.
Вообще, я хочу, чтобы у меня на экране была этакая матрица картинок с четырьмя колонками, и создал gridView с атрибутом numColumns = 4. Затем я хочу, чтобы длина ImageView вьюхолдера автоматически подгонялась под размер элемента в гриде. Я получаю длину экрана в MainActivity и передаю в конструкторе адаптера, а потом ставлю эту длину/4 ImageView в getView. Это вроде как работает, но мне кажется, это костыльно. Можно как-нибудь получить размер элемента GridView из самого адаптера?
У нас СМИ типа Muhosransk Today, поэтому приложением пользоваться точно будут.
Я привык к приложениям, занимающим от 5 до, максимум, 30 метров, и очень охереваю, когда какой-нибудь TripAdvisor жрет 585 метров! Сука, на что???
Подключил дагер к проекту. Написал модуль видеоплеера, создал компонент. Пометил все что нужно аннотацией @Singleton. Заинжектил компоненты во фрагменте, там же в методе onCreateView инициализирую компонент. Плеер работает, при повороте экрана все проебывается, т.к. проходят жизненные циклы, плеер повторно инициализируется, на фоне остался звук от другого экземпляра плеера, если не вызвать метод его разрушающий. Но мне то интересно сохранить состояние при повороте экрана. Если ориентация == ландскейп, то фуллскрин видео (создаю макеты для портрета и альбомной ориентации). О чем я говорю, так это как не проебывать состояние при жизненном цикле активити/фрагмента?
Окей, дядь
Это для этого не подходит.
Открой каким-нибудь апкутлом и узнаешь (правда только что в апкашке, с рутом узнаешь все остальное). Во-первых хранится сам файл апк, то есть байткод, ресурсы и нативный код (худший сценарий - нативный код для несколкьих архитектур, и ресурсы для кучи конфигураций, по хорошему это надо вырезать). Во-вторых на последних осях эта байда не просто распаковывается, а еще и оптимизируется под конкретный девайс, то есть у тебя еще и нативный код совсем не маленький будет место занимать.
Чтобы твой синглтон не проебывался, ты должен хранить модуль/компонент, который его порождает в своём application классе.
Либо сам сохраняй его через Retain fragment или методы жизненного цикла
Когда ты создаёшь новый scope, ты просто создаёшь новый scope. Dagger не знает, когда его нужно уничтожать и пересоздать. Это должен ты сам делать
ты меня не понял, нужно допустим приложение, я его запустил, оно начало в фоновом режиме работать, я потом пошел в хром картинки смотреть, и при попытке загрузки картинки мне алерт прилтал какой-нибудь и ссылка на эту пикчу сохранялась, как реализовать слежение?
1. Как организовать архитектуру приложения? Вот читаю что MVP это хорошая практика, погуглил про MVP - а там везде в статье пишут одно, а в репо примере создают какие-то левые непонятные пакеты. Поясните плиз как называть пакеты, разбивать по фичам или по назначению(вьюха, моделька и тд)?
2. Какая лучшая практика для создания рест клиента на андроиде? Подскажите в сторону чего копать.
3. Если я подниму сервак на локалхосте,то мой андроид клиент сможет отправлять на него запросы(если запустить в эмуляторе). Или лучше сервак залить куда-то на хироку? Или есть другие способы тестить связь сервера и клиента если клиент - ведро?
> Если я подниму сервак на локалхосте,то мой андроид клиент сможет отправлять на него
Только по wifi
>2. Какая лучшая практика для создания рест клиента на андроиде?
ретрофит.
>
1. Как организовать архитектуру приложения? Вот читаю что MVP это хорошая практика, погуглил про MVP - а там везде в статье пишут одно, а в репо примере создают какие-то левые непонятные пакеты. Поясните плиз как называть пакеты, разбивать по фичам или по назначению(вьюха, моделька и тд)?
Если не имел дело до этого с клиент серверкой, то я бы рекомендовал не беспокоится по этому поводу. Практика этих тредов показала, что каждый маня-анон эту МПВ понимает по своему. И на первых порах лучше сосредоточится на серьезных вещах.
Погоди погоди, может дебильный вопрос но все же - если я поднимаю локалхост скажем на ноуте, что подключен к сети по wifi, то я могу отправить запрос с другого устройства, что подключено к этому же роутеру?
>>37749
До этого писал только на JEE, где MVC(только серверную часть). Но в примерах MVP на андроиде почти ничего не понял. Посмотрю еще немного, но не буду заморачиваться с этим на первых порах.
Чтобы парсить картинки разного размера и подгонять под заданные рамки же
Каких репозиториях? И я не Василий.
>Чтобы парсить картинки разного размера и подгонять под заданные рамки же
А разве они автоматически не подгоняются? Например юзнул centerCrop в Glide?
Короче, блет, запутался с этой хуйней. Все удалил и вернулся к разбитому корыту. Все таки тут нужен другой подход.
Итак, есть фрагмент с кнопкой и exoplayer-ом. В портретной ориентации будет пол экрана видео, под видео информация и кнопки, при повороте будем растягивать на весь экран. Как на ютубе например.
Что я пробовал. Создавал обычный синглтон плеера и передавал туда из фрагмента ссылку на видео. Получал при повороте экрана пересоздание этого синглтона и на фоне оставался звук от старого экземпляра. Такая же хуйня была с даггером который сука меня запутал и теперь я хочу убить себя.
Так вот, как правильно сделать этот ебаный плеер, чтоб при пересоздании он никуда не проебывался, да и собственно у меня тогда не только плеер тогда будет повторно все делать и запрос на сервер тоже будет повторятся. Кароче заебало блять, пойду спать.
начну с этого курса,
https://classroom.udacity.com/courses/ud834/lessons/4027328704/concepts/43295507890923
правильный выбор?
Да. Хоть разработки здесь не будет пока что, но они очень хорошо поясняют за layout и разметку относительно экрана. Только с помощью них я это все дело понял. К слову, сами курсы делятся на платные и бесплатные. Я фришки проходил, но анон говорит, что, предоставив карту для покупки платных - они снимут деньги через неделю. Можно за неделю там накачать платного курса, но я не проверял. Может кто решится.
А отличаются они информативностью всего лишь. Мне и фришного хватило.
Там месяц стоит 200 баксов, то бишь 12000 рублей, пиздец,
раздражает эта атмосфера толерастии, но что поделаешь, таков современный мир.
Если б этот курс снимался в 3м Рейхе, вместо китайской девочки и индуса сидели бы прилизанный фриц и арийская девушка из гитлерюгенда...
>Если б этот курс снимался в 3м Рейхе, вместо китайской девочки и индуса сидели бы прилизанный фриц и арийская девушка из гитлерюгенда...
Тогда этот курс был бы ограничен к просмотру недочеловекам вроде тебя.
Для меня нет большего удовольствия, чем разрыв жопы быдла.
>Там месяц стоит 200 баксов, то бишь 12000 рублей, пиздец,
>раздражает эта атмосфера толерастии, но что поделаешь, таков современный мир.
Скажи спасибо, что у них бесплатные годные. 2 года людей по ним учат и ниче. Растут.
Я бы посоветовал приглядеться к этому подходу (MVVM): https://medium.com/corebuild-software/simple-android-mvvm-using-rx-and-kotlin-9769a91b03ef
Похуй что котлин, ркс и новые андроидовские компоненты, основная идея передана вполне внятно.
или наоборот
Но почему так? Я всего лишь хочу загрузить картинку в исходном виде, без масштабирования.
Как? Ставлю options.inMutable = true; падает по ошибке NoSuchFieldError: android.graphics.BitmapFactory$Options.inMutable
Может есть какие-то альтернативы педроид студии? Как-то раз получалось завести хеллоуворлд под бобами, но, говорят, студио более стронг.
>Ебу че у тебя там филда нет, оно с 11 апи
Как ты про это узнал? У них на сайте ничего про 11 апи не сказано:
inMutable
If set, decode methods will always return a mutable Bitmap instead of an immutable one.
Бич вариант среди ноутбуков - Macbook Air 8Gb. Если хочешь стационарный ПЕКА, то что-нибудь что имеет 16Gb оперативки.
Спасибо, удобный список.
Тащемта есть.
В любом случае, если сперва ты создал имутабельную битмап, то потом ты её уже не сделаешь мутабельной: только создав новую мутабельную.
Выше все ебанутые ответы. Говорю по своему опыту, год назад имел пеку 2009 и студия очень сильно лагала.
В общем, нужно определиться, что у тебя за комп. В идеале можешь купить i3 с какой-нибудь мат платой + видяшка, за 3-4 тысячи или поменьше. SSD не нужен, ибо он предназначен для других дел. HDD простой на 500ГБ. Ну и остальное. За все это добро можно максимум 22к отдать - чисто для работы. В идеале лучше ай5 покупать, или вообще ай7.
В итоге у меня отлично работает, даже дженимоушеном не пользуюсь, и так прогружается нормально. Билдит китайскую похабщину за минуту две без оптимизации.
>Может есть какие-то альтернативы педроид студии?
Сейчас все на ней сидят. Даже аноны-клоуны.
Не забудь поставить пинукс, на нем заметно быстрее работают иде от джетбреинс чем на шиндоусе
бич не в плане денег, а в плане умственных способностей. Потому что адекватный человек уже в 2018-то году техникой эппла точно не будет пользоваться - все скатилось к хуям собачим
>Как сделать контекстное меню списка определённым цветом? Делаю <item name="android:itemBackground">?android:attr/colorPrimary</item> и пункты красятся, но всё равно остаются две тёмно-серые полосы сверху и снизу.
Анон помоги, как сделать так, чтобы мои буковки ВОН ТАМ ВОТ, НА СКРИНШОТЕ, Я ПРИЛЕПИЛ ЕГО, ВОН ТАМ, СВЕРХУ, не слетали?
Скажите пожалуйста, что мне конкретно изучить, чтобы наконец-таки придти к желаемому результату? Я уже устал все эти вариант с хабра читать, прочитаю пару статей, пытаюсь что-нибудь сделать, а в реальности все наоборот. Будто они в другой реальности живут эти авторы. Еще ни разу ничего не сработало с этих ваших хабровхабров, только вводят меня в путаницу. Я только хочу сохранить состояние своего плеера. Пойду спать.
да сколько можно то уже, когда же ты блять поймешь что это не твое, просто остановись, хватит
Кароче, загорелся желанием сделать простенькое приложение на ведроид для учета статистики своих ставок. Если быть точным, то просто хочу взять готовую таблицу эксель и сделать ее как приложение, ибо юзать сам эксель очень муторно. Таблица простая, около 5 колонок и подсчёт итоговой суммы. Но главная проблема в том, что я вообще нихуя не шарю в программировании.
Поэтому спрашиваю, что мне надо знать для реализации моей идеи?
Не важно как назовешь.
Прочитай SICP.
>Но главная проблема в том, что я вообще нихуя не шарю в программировании.
Не перживай, товарищ!
>Поэтому спрашиваю, что мне надо знать для реализации моей идеи?
Ну, если ты не шаришь, то это не твоё. Очевидно же.
А какие операции должны быть у таблицы? Если ты хочель туда добавить поддержку экселевых формул, то ты охуеешь ебаться с лексером, парсером и БНФ.
Инициализация, изменение датасета и сам адаптер - https://pastebin.com/RsDDfHNk
бля, ты понимаешь что если ты сам имея ВСЮ ИНФОРМАЦИЮ на руках не можешь загуглить ответ, то почему ты ожидаешь от нас услышать ответ давая так мало инфы? пиздец, да там блять всё что угодно может быть, либо весь код давай либо расписывай вообще всё что там происходит прям максимально детально
а вообще, если ты тот хуй что пилит приложения с вебмками то просто иди нахуй. заебал уже
Я ж кинул пастебин, или той информации недостаточно?
И да, я тот самый хуй с вебмками. Объясни, почему я тебя заебал? Если потому, что спрашиваю глупые вопросы, то извини, я только начинаю во всем этом разбираться и мне нужна твоя, анон, помощь. Я и так не лезу на сосач с проблемами, которые я гуглил меньше дня, но если тебя даже такая частота заебывает - буду писать еще реже. Энивей, скажи, какую информацию тебе ещё предоставить, и я тебе ее скину кроме фоток с супом.
Шрифт - Source Code Pro. Ссылку не кину, потому что сам не знаю %%но мне кажется, что это дефолтная%
Мимо
Спасибо.
ты уже пол года тут торчишь и спрашиваешь, мог уже давно залить свою парашу на гитхаб и расшарить его, это было бы полезно не только тебе, но и другим анонам в треде. кто-то мб будет ревьюить, вкатывальщики будут использовать как пример и так далее, а ты всё пастебин свой шлешь. боишься диванона - сделай новый акк и туда залей
Хмм
Мб тут два таких анона с вебмками, или у тебя детектор сломался? Я здесь появился в конце января только.
А насчет гитхаба - он у меня есть, диванона не боюсь, но расшарю, как только проект бует представлять из себя хоть что-нибудь более-менее нормальное. Я помню, как вручную писал уебанский аналог gridView, и только потом нагуглил grid и ещё чуть позже - recycler. Не думаю, что вкатывающимся анонам было бы полезно видеть мою наркоманию. Честно, я блеванул, когда увидел свои первые коммиты.
ну значит ты не один тут такой с вебмками.
но если хочешь чтобы тебе помогли, то придется расшарить, иначе тебе придется ждать анона который возможно сталкивался с чем-то подобным или анона-телепата, который сможет без всего кода разобраться
Да я уже вроде как разобрался, перепилил немного логику и архитектуру, и оно заработало.
Теперь ебусь с many-to-many связью в релме, никак не могу найти нормального мануала в гугле - там про свифт и objective-c. Нашёл только видео на caster.io, но оно платное
Скорее всего с апи. Если с джавой все плохо, можешь попробовать на плюсах (про реакт не знаю).
Есть множество примеров на гитхабе, где обновляется ресуклер, когда скроллишь вниз. А вообще реилмовский адаптер с OrderedRealmCollection чот я не видел, чтобы люди юзали. Да и сам не юзаю его, хотя свой скроллинг со спиннером так и не решил.
Посоны, я руби-джун, у меня появилась идейка простенького, но полезного андроид приложения, кода минимум и он простой. Но я ВООБЩЕ не знаю джаву и андроид. За пару недель написать простенькое приложение реально?
>За пару недель написать простенькое приложение реально?
Ну, не знаю. Смотря что за простенькое. За неделю можешь уложиться по 7 часов. И вообще, это выглядит как
>Посоны, я сантехник-джун, у меня появилась идейка простенького, но полезного сайта, кода минимум и он простой. Но я ВООБЩЕ не знаю хтмл, ксс, жс, пхп, и программирование. За пару недель написать простенькое приложение реально?
Примерно вот так.
Ха-ха, лол.
Вот есть у меня кнопка, по нажатию проигрывается звук. А если у меня штук десять звуков и нужно рандомно их проигрывать при нажатии на кнопку? Нужен массив. Больше ничего не знаю, ну как реализовать - тем более.
https://ideone.com/md01jA онончеки, кому не лень, скажите, что нужно добавить, чтобы проигрывать кроме reee другие звуки :3
Конкретные по теме. Там к каждому рецепту по пикче надо
Курс udacity тебе в помощь. Можешь на гите покопаться в advanced. Там это реализовано.
Можно
Там будет действительно много картинок, я не хочу что бы они загружались вместе с приложением
я же писал, все это будет весить достаточно много
Если задаёшься таким вопросом, то загрузи в вк > вставь в приложение ссылки. Когда-нибудь потом, когда будешь зарабатывать миллионы на своём детище, придумаешь что-нибудь другое.
В логах только
>E/libsuspend: Error writing to /sys/power/state: Device or resource busy
Куда копать и кто виноват? Я рукожопый или эмулятор?
Отбой, с genymotion всё збс сработало.
там вроде как обновлено то, что уже не актуально
очень годная инфа, я бы даже сказал. Лично я сам начинал свой путь в андроид-девелопмент именно с нее. Все знакомые андроидовщики аналогично. Там автор очень легко и хорошо все описывает с примерами и все бесплатно
синтаксис проверил, пермишены проверил, пробовал разные экшоны, типа REBOOT, POWERON etc, разные флажки, мошнил с ресивером, попробовал солюшен с 3.1+ андроидом (запустить апку первый раз вручную), все тщетно, логи не выводятся, в onReceive не заходит, где копать?
Алсо, на одном девайсе работает, лол, на остальных нет. (Девайсы все одинаковые, модель, версия андроида и т.д.)
Там индексация разная, по ключевым словам если не ошибаюсь, их должно быть не больше 10, т.к. в ином случае будет в минус идти, алсо, еще учитываются скачивания, рейтинг и т.д., так что нельзя вот так просто сразу вверху уйти
И какие это могут быть атятя?
Ой блять, в глаза ебусь, там же чат еще, это + 60-80 на андроид и около 200 на бэкенд
так я потому и задал тут вопрос, что если это анреал, то не буду и браться
>Забанят акк гугл плей
На основании чего? Нарушение какого-то пункта каких-то правил?
Если результат берет все равно что сам пользователь из браузера, никаких 100500 запросов в секунду.
Дорого в обслуживании, чат это дохуя конекшенов и триггеров, даже если не сейвить переписки(а это какой-нибудь 1967)
Я как-то считал что для хуевой апки обслуживание чата на фаербейзе для одного клиента обходится в 10-15 бачей/месяц
https://github.com/RMizin/FalconMessenger
Ну кароч нужно разобраться как открывать фрагмент и открыть его. Почитай доку там
6 недель рассчитываются как среднее значение для всех пользователей как разность между датой начала курса и его окончания?
Тогда как часто они обновляют эту цифру?
>недель рассчитываются как среднее значение для всех пользователей как разность между датой начала курса и его окончания?
>Тогда как часто они обновляют эту цифру?
Что за тупые вопросы? Тебе дали божественный материал - сиди и дрочи.
На xda ничего нет, а 4пидора молчат, для них это слишком сложна.
Ну вот смотри, есть xperia keyboard, в ней по дефолту стоит фича автопрописные/автозаглавные/autocab. То есть после каждой точки или просто в начале сообщения в мессенджере она ставит заглавную букву, и отключить это нельзя. Понятно, что она детектит среду и повышает регистр. Так вот, надо эту фичу выпилить.
я же в правильный тред с этим пришел?
Злой ты. Фу таким быть.
>Ну вот смотри, есть xperia keyboard, в ней по дефолту стоит фича автопрописные/автозаглавные/autocab. То есть после каждой точки или просто в начале сообщения в мессенджере она ставит заглавную букву, и отключить это нельзя. Понятно, что она детектит среду и повышает регистр. Так вот, надо эту фичу выпилить.
Вот оно что! Так это все просто! Напиши свое приложение - клавиатуру, которая будет начинаться с маленькой буквы. Чего тут париться.
> Вот оно что! Так это все просто! Напиши свое приложение - клавиатуру, которая будет начинаться с маленькой буквы. Чего тут париться.
Все настолько сложно?
>Все настолько сложно?
Человек не будет подстраиваться под твои вкусы, если ты ему конечно же не заплатишь.
Ты хочешь срать, но не хочешь подтираться бумагой. Либо ты создаешь новую бумагу, либо подтираешься пальцами.
> Человек не будет подстраиваться под твои вкусы
Шта? Это ж тред разрабов под ведро, ну я и пришел совета спросить. Перечитай первый пост. Я не просил за меня что-то переделывать.
> Ты хочешь срать, но не хочешь подтираться бумагой. Либо ты создаешь новую бумагу, либо подтираешься пальцами.
Бумага состоит из изменяемых строчек кода, ввиду чего может самоочищаться? Какая-то топорная у тебя аналогия.
>Бумага состоит из изменяемых строчек кода, ввиду чего может самоочищаться?
Можешь и так. Осталось только найти тебе поменять пару строчек.
>Шта? Это ж тред разрабов под ведро, ну я и пришел совета спросить. Перечитай первый пост. Я не просил за меня что-то переделывать.
Я тебе пример привожу, неуч. Будто "разрабы под ведро" будут заниматься твоей бумагой.
Это нельзя сделать без изменения самого приложения. Либо найти другое приложение, что маловероятно. Мешок.
> Осталось только найти тебе поменять пару строчек.
Вот я и хочу. Модов на эту клаву дофига на 4пда, там и скины и добавленные символы, но от вопросов про выпил автокаба много кто об этом просил тамошние морозятся.
> Я тебе пример привожу, неуч.
Ты тупой какой-то и озлобленный.
>Будто "разрабы под ведро" будут заниматься твоей бумагой.
Я думал, что собирать клавы - одна из самых простых вещей в разработке приложений, и что тут могут подсказать в какую сторону копать. Спросил - мне ответили идти с этим в моби. Что ты от меня хочешь?
> Это нельзя сделать без изменения самого приложения.
Ну это и так понятно.
>но от вопросов про выпил автокаба много кто об этом просил тамошние морозятся.
Конечно. Хуй кто тебе даст это сделать.
Кароче, тебе здесь никто не поможет, неудачник.
> Конечно. Хуй кто тебе даст это сделать.
Странно, учитывая количество модов на эту клаву.
> Кароче, тебе здесь никто не поможет, неудачник.
В любом случае спасибо.
>Что за тупые вопросы? Тебе дали божественный материал - сиди и дрочи.
тебе наверно очень хорошо живётся в нашей стране, рад за тебя
Ну смотри, я не против этим заняться, и даже более-менее знаю, куда копать, но мне тупо лень этим заняться я дохуя прокрастинатор и нет желания что-либо делать. Если сможешь мотивировать, не имею в виду финансовую мотивацию, но она тоже может сработать, наверное то займусь.
>>45803
Анон, ты не совсем прав. Это, конечно, тред по программированию, а не по моддингу/декомпиляции/реверс инжинирингу, но я думаю, что каждый итт знаком с апктулом и может поменять пару условных переходов в смали, не особо напрягаясь. Или же я ошибаюсь?
> Если сможешь мотивировать
Ну, если ты это сделаешь, то осчастливишь много людей, вопрошающих о выпиле автокапа с 2012 года (на 4пидора уже много раз просили, но мододелы их тупо игнорят, а на xda и сайте поддержки sonymobile шлют юзать гуглоподелие).
>финансовую мотивацию, но она тоже может сработать
Могу 500р. скинуть на киви :3
>Kotlin for android
А что в ней необычного, Kotlin in Action сейчас же модная.
Алсо, можешь попробовать видеокурс
https://rutracker.org/forum/viewtopic.php?t=5475290
Или же экшион.
https://rutracker.org/forum/viewtopic.php?t=5484031
Yep
https://kotlinlang.ru/
лучший ресурс на данный момент имхо, сам по нему вкатился в котлин и буквально через дня 3 после прочтения и осознания всего, что тут прочел, стал уже проекты чисто на котлине ебашить
Во время установки он жаловался, что не умеет читать кириллицу и я создал ему папку с английским шрифтом. Но во время докачки другой версии эмулятора он однохуйственно установил его в папку пользователя.
При попытке сбилдить проект, выдало сообщение о критической ошибке "Editor is already disposed", ну я сообщил гуглу о том, как получил ошибку.
>Aapt2 is enabled by default when you use android plugin for gradle 3.0.
>But if you are facing issues with it: android.enableAapt2=false
А еще эта скотина во время создания проекта жрет 40%ЦП. У меня матлаб во время создания и обучения 100 нейронных сетей столько ресурсов потребляет.
В вижуалке такие же проблемы?
Виндопроблемы
Это канал про анимэ?
Я конечно сомневаюсь что тут есть матерые синиоры. Но все же вопрос. Какие зп у них? Доу пиздит, потому как я на своем мидл+ имею 3к, а у них синиор с 3.5 к.
В то же время на шарпах можно просить 4.5к.
Я вот и думаю, какая граница у ведра. В вакансиях такие числа совсем не пишут.
Начни с плюсов
Забыл доавить - string это айди этого объекта и внутри объекта он тоже есть.
Редис на андроиде, охуенные советы.
так а в чем проблема? создаешь таблицу из двух столбцов, в один пишешь свой ключ, в другой лист с объектами, вроде бы значение поля может быть списком, а если нет то просто в эту же таблицу вместо списков складываешь объекты
Ну да наверно можно так, но чёт я хуй знает. Вообще ни разу не видел чтобы где-то юзались массивы sqlивские. Может сделать что-то типа такого: записывать объекты прям так в талицу, только сделать им автогенерируемый айди, а поиск делать по другому айди, который строка и сделать его индексом?
И ещё. У меня объект в котором таких хешмапов дохуя. Нормально ли будет, если я их будут селектить несколькими запросами но в одной транзакции? Или же надо писать невротебенный запрос с кучей джоинов?
Лучше переделай все в нормальные модели. А потом реши как их хранить, в склайте, в реалме или ещё где.
Пробовал через
CookieManager.getInstance().setAcceptCookie(true);
и
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
, но проблема в том, что когда полностью закрываю приложение и выкидываю с памяти, то куки все равно не сохраняются. Кто-то эту штуку обходил?
Ее уже все юзают?
пробовал, не вкатило. Так что не юзаю. Но тут дело вкуса уже. Большинство (моих знакомых прогеров) от нее вообще плюются.
Какой возрастной порог?
Есть желания и время. Знаю основы ООП и Java.
Ты сюда тролленькать опять что ли пришел? Я тебя уже посылал нахуй, мало что ли?
Fused Location Provider либо выдает неверную погрешность определения координат, либо координаты всегда с погрешностью 20 метров.
Либо не вызывается update коллбек.
Приоритет на высокую точность.
Пора выкидывать его и переходить на старое API?
Говорят, WebView то еще говно.
Ты уебок? Sketch у него на айосе. Sketch работает на маке, в нем делается дизайн, причем т ыможешь делать там дзиайн для гейоси, ведра, венды, хуинды, и прочего дерьма. Figma есть, работает через веб, умеет читать sketch.
Зависит от твоих задач. Судя по твоему вопросу тебе достаточно использовать готовый ExoPlayer
Задачи совершенно стандартные - показывать видосы в фулскрине, скроллить туда-сюда, переключаться (ссылки на видосы будут поставляться из массива), ну и шаффлинг с рипитингом, наверно. Из-за тривиальности задачи я не очень хочу использовать экзоплеер, у меня и так уже две либы подключены.
Кстати, благодаря этому у меня код практически без васянства, хотя размер апк сильно вырос, а я бы этого не хотел.
>2 либы
>размер апк сильно вырос
лол, найс рофлишь, в нормальных проектах и по 20 либ и никто не парится, И ТЕМБОЛЕЕ никто не думает о размере апк в 2018
Ну это кодстайл ващет.
Меняй величину continuation indent'а.
https://stackoverflow.com/questions/24455513/chained-methods-and-continuation-indent-in-intellij
Бля, теперь другая хуйня ломается. Походу низя никак. Ну похуй, придётся страдать.
Я сам уменьшал до 2х вметсо 4, ниче не ломалось. Но выглядело неконсистентно. Попробуй squarовский кодстайл, он не такой широкий.
Как и везде - бек не меняется, а фронт нужно полностью перепиливать со спринга или что там у тебя.
Есть приложение на котлине. При определённом событии вызывается метод, который делает HTTP-запрос через JSoup, а потом парсит полученный JSON и складывает результат в RecyclerView.
Изначально вызов метода был обёрнут в doAsync (из Anko). Этот таск запоминался и в некоторых случаях отменялся через cancel() с mayInterruptIfRunning=true. Проблема в том, что периодически cancel() каким-то образом умудрялся класть приложение с различными ошибками ввода-вывода (а не InterruptedException); часто проскакивал JSONException с воплями, что он не может считать поток.
После этого я попробовал сменить doAsync на корутину. Работать стало в разы лучше, и в подавляющем большинстве случаев выполнение прерывалось CancellationException. Однако, если отменять корутины достаточно часто (или, скорее всего, попадать в какой-то определённый момент их выполнения), опять начинают сыпаться ошибки ввода-вывода (пикрелейтед). Иногда падает вообще молча, хотя стоит логгинг в catch(e: Exception).
Так вот, как сделать так, чтобы таски можно было спокойно прерывать, не роняя при этом всё приложение? Ловить IOException не вариант, искать вообще все эксепшены, которые выпадают - тоже.
В каждый момент времени жив должен быть как максимум один таск - если живого не было, новый просто начинает выполняется, а если живой есть - он прерывается и новый занимает его место.
Ну, дружочек, прежде чем дыры латать на твоей посудине, давай порасcуждаем системно. Исключение, которое тебе бросается, https://docs.oracle.com/javase/7/docs/api/java/io/EOFException.html принадлежит к классу проверяемых исключений, а это означает.
1 Его можно избежать, гарантируя выполнение некоторых предусловий.
2 Выполнение кода восстановимо после исключения, если его обработать.
3 Предыдущий пункт проверяется компилятором.
Так что, обеспечивай контроль входных данных, не маскируй исключения суперклассами в сигнатурах методов, пиши обработчики исключений, особенно для методов, вызываемых асинхронно, и все будет ок.
адекват в треде! всем под шконки!
Где я должен это все делать? Есть активити с фрагментом базовым. Щелкаю на другой фрагмент - там лежит кликер Back. Мне в него хуйнуть onBackStack или как?
Такое ощущение, будто мой вопрос ты решил не читать.
>Исключение, которое тебе бросается, https://docs.oracle.com/javase/7/docs/api/java/io/EOFException.html
Не одним EOFException (не) живём. Выпадали и другие, но все они IOException - проблема именно в том, что запрос к серверу не прерывается / прерывается некорректно.
>1 Его можно избежать, гарантируя выполнение некоторых предусловий.
Да, отлично, именно то, что мне нужно! Как отменить корутину так, чтобы запрятанный в библиотеках ввод-вывод не бросил в меня своим эксепшеном, который тут вообще ни при чём? Причём сам ввод-вывод надо прервать. Ибо сейчас даже после отмены корутины операции ввода-вывода накапливаются зачем-то в очереди, что вообще не то, что мне нужно.
>2 Выполнение кода восстановимо после исключения, если его обработать.
Учитывая то, что иногда после отмены корутины приложение просто молча падает вообще без эксепшенов, восстановимо не очень.
>обеспечивай контроль входных данных
Тут нет входных данных.
>не маскируй исключения суперклассами в сигнатурах методов
Приложение на котлине - в нём нет checked-эксепшенов и в сигнатурах они не указываются.
>пиши обработчики исключений, особенно для методов, вызываемых асинхронно
Куда ты хочешь, чтобы я впихнул try-catch на пикрелейтеде? Естественно, настоящий код содержит больше логики, но по смыслу и работоспособности один-в-один.
Обратись в котлиновскую группу в слеке. Выложы хуйню на гитхаб ток.
>Такое ощущение, будто мой вопрос ты решил не читать.
Ессно, если у больного рак, то горчичник не поможет.
> task = null - зачем?
> async (UI) {
>> bg { ... }.await() - зачем?!!!
>>}
> task = null - зачем?
Как только корутина заканчивает своё выполнение, "текущая задача" обнуляется. Тогда при следующем выполнении мы не будем пытаться остановить уже завершённый таск.
> bg { ... }.await() - зачем?!!!
Что конкретно?
bg - чтобы не было "network on UI thread".
await - чтобы корутина дождалась момента, когда запрос данных завершится и доделала свои дела в UI-потоке.
Спасибо кстати за сообщение об инновации котлиновской насчет исключений.
>> bg { ... }.await() - зачем?!!!
>Что конкретно?
Разве это не то же самое, что вызов обычной функции - тела bg и затем зануление task.
>Спасибо кстати за сообщение об инновации котлиновской насчет исключений.
Это какой такой инновации?
>Разве это не то же самое, что вызов обычной функции - тела bg и затем зануление task.
Нет: await() работает в suspend-контексте (то бишь, только внутри корутины), потому что он приостанавливает корутину вместо блокировки потока. А блокировать UI-поток, как известно, идея плохая.
Сорян, был неправ. Судил поверхностно. Но ты всё равно, не злоупотребляй поддержкой nullability. Ведь API удобное https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.experimental/-deferred/
Да ладно, не страшно. Я сам в корутинах особо не разобрался, считай два дня с ними (пытаюсь) работаю.
Null я использую потому, что изначально таска нет - вполне логично, как мне кажется, его отсутствие помечать именно нуллом. Да и хранить убитый таск незачем.
В этой схеме есть подводные камни? Кто-то подобную вещь делал?
Log.d
Сап. Сегодня в вузике мне засунули в жопу фсбшный зонд под названием "точка роста". У меня есть apk этого приложения и, я даже смог его декомпилировать. Но вот беда, я ничего не понимаю в яве и андройде в целом.
Приложение я уже удалил, и несколько раз просканил систему разными антивирусами, которые, конечно же ничего не нашли (в фсб нет дураков, которые скормят свой троян антивирусным базам). Если я скину апк сюда, смогут ли достопочтенные господа сказать мне, где искать и выпиливать куски зонда? Или может быть сразу стоит менять прошивку.
> Сап. Сегодня в вузике мне засунули в жопу фсбшный зонд под названием "точка роста".
Никто тебе ничего не засовывал, ты сделал это сам, терпела.
> У меня есть apk этого приложения
Don't ask to ask. Скидывай уже.
> Или может быть сразу стоит менять прошивку.
Стоило сделать это сразу после покупки телефона.
Если кому-нибудь интересен итог моих мучений, то я умудрился починить этот асинхронный недокошмар. Пикрелейтед работает как часы (я надеюсь).
Во-первых, оказалось, что в свежем anko-coroutines используются корутины от мая 2017 года. Экспериментальная библиотека, устаревшая на почти год. Нахуй anko-coroutines, простые kotlin-coroutines-android сами по себе ничем не хуже абсолютно (они буквально такие же).
Во-вторых, делать task=null в конце корутины оказалось плохой идеей. Если быстро пустить сразу много этих тасков, то вскоре начинают появляться живые таски, которые почему-то вылетели из этой переменной. Не могу понять, где я проебался с синхронизацией. Впрочем, даже если навесить invokeOnCompletion { task = null }, лучше не становится.
С отменой ввода-вывода проблем больше не наблюдаю. Не знаю, из-за обновления ли библиотеки или просто из-за немного другого подхода к отмене корутин.
Молчаливый вылет пофиксился обновлением библиотеки - буквально следующая версия содержит это исправление.
> Во-первых, оказалось, что в свежем anko-coroutines используются корутины от мая 2017 года. Экспериментальная библиотека, устаревшая на почти год.
Почитай про транзитивные зависимости.
Если ты ведёшь к тому, что я мог указать нужную версию корутин, то это и так понятно. Но абсолютно незачем. anko-coroutines буквально содержат два метода, причём один из них и так есть в kotlin-coroutines (bg или async), а второй состоит из одной строчки.
написал же - реклама, которой они усиленно занимаются, ты совсем даун что ли?
Есть много ссылок на опен ресурсы, МАНЯ.
Вот один, к примеру.
https://github.com/pcqpcq/open-source-android-apps
Двачую вопрос
И в догонку - как мне сбилдить сраные тесты чтобы у меня даггеровский компонент сгенерировался? Rebuild all не работает, если просто запускать тесты - то же не работает.
Бля, ебать я аутист.
Скачал Андроид студию 3.0.1, последний ждк и накатил все это на свой ноут с win7.
Решил реализовать какой-нить простенький туториал и запустить его на своем старом андроиде 4.1, но сгорел нахуй выставляя версии в app/build.gradle файле.
Хуле ему пидору надо то, я не понимаю, какие версии ему надо прописать.
Вижу рабочее решение просто скачать старые версии sdk + api и прочее соответствующие моему 4.1 андроиду и выставить одинаковые во всех местах. Но это же хуевое решение, оно же должно уметь компилить и под старые версии на последних sdk?
android {
compileSdkVersion "??"
//buildToolsVersion "??" // - в конфиге который создавался средой, данной строчки не было
defaultConfig {
applicationId "com.example.anonname.myapplication"
minSdkVersion 16
targetSdkVersion "??"
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}
Пиздец, до чего я дожил, версии в зависимостях не могу верные указать
Ну, в том-то и дело что тест есть. Но почему-то с кастомным раннером оно его не видит. А кастомный раннер мне нужен чтобы впилить кастомный класс аппликейшн с мокнутыми зависимостями для даггера.
Вот я скачал с помощью
git clone https://github.com/AliceCA/Overchan-Android
хороший мобильный клиент для имиджборд и имею пикрелейтед,
у мея установленна IntelliJIdea, как мне открыть такой большой проект?
Я не тролю, у меня реально нет понимания этого момента.
Какие файлы и директории должны находиться в репозитории?
1) У него есть какой-то необъяснимый с научной точки зрения маргин слева, который мне нужно убрать. app:contentInsetLeft="0dp" и подобное не помогает. Каких-либо маргинов/паддингов через Layout Inspector я обнаружить не смог. Hamburger-icon от библиотеки MaterialDrawer.
2) app:iconifiedByDefault в menu.xml не работает. Но если задавать аналогичное свойство в коде, работает нормально. Почему? Не то, чтобы важно, но интересно.
3) Иконку поиска надо убрать, app:searchIcon="@null" не работает. При этом, если iconifiedByDefault=true, то достигается нужный результат (пикрелейтед 2), но iconifiedByDefault нужен в состоянии false.
Погугли по лучше. Сам с этим сталкивался недавно и по началу казалось, что нифига не понятно и нет информации.
Короче разобрался с этой ссаной говниной, если кому ещё понадобится вдруг. Дело было в том, что не правильно запускал аппликейшн в кастом раннере.
Это из-за прогуарда, наверно. Он названия классов/методов/переменных заменяет на эти самые a, b, c, d, e.
А ты плагин фабрика не забыл включить? А то судя по всему он не заливает маппинги на свой сервер.
На самом деле я хуй знает про миграцию, но чтоб такой хуйни не было нужен именно плагин фабрика в градле.
>>53480
Да, все верно.
Я лично жду флаттер, чтобы потом с него быстро соскочить на новую ось гугла.
>чтобы потом с него быстро соскочить на новую ось гугла.
Читал, что на этой основе 200-400 приложений уже в гугл плее написано.
Желательно, ведь источником твоих данных является не интернет, а бд. По хорошему ты не должен знать откуда конкретно эти данные приходят, тогда и вопроса такого не будет в принципе.
Вопрос связанный с декомпиляцией apk. Опустим момент "зачем" - занялся чисто из любопытства.
В наличии тяжелый Apk.
Внутри лежит 4 dex файла с исходниками.
Код обфусцирован это и ежу понятно.
При декмопиляции я получаю на выходе фактически битые исходники, а именно:
- inner классы и анонимные классы так и остаются лежать снаружи
- зачастую в коде вызываются либо несуществующие, либо неизвестные перегруженные методы
Это все последствия обфускации? Я ожидал что там максимум будут выполнены переименования у классов/полей/методов дабы затруднить чтение, но код хотя бы будет целостным. А так получется куча несвязных фрагментов что делает анализ невозможным.
Есть ли какая секретка? Возможно скрытые нюансы? Кто еще заморачивался реверс инжинирингом андроид приложений?
Прогварду можно сказать что бы флэтил пакеты, видимо такой случай.
Зависит от того, что именно ты хочешь. Лучше всего начинать с поиска аннотаций, так быстро выйдешь на ретрофит, гсон и бд. Больше мало что использует рантаймовые аннотации. А дальше смотреть где они дергаются. Ну либо начинать со строк.
> но код хотя бы будет целостным
Добро пожаловать в мир -optimizationpasses >5
Основная задача - изучить ту часть приложения что взаимодействует по bluetooth с неким девайсом.
Анализ начал с того что искал BluetoothDevice и прочие классы из пакета android.bluetooth, и таки нашел их, но проблема в том что они разрозненны по классам самого приложения и по ним мне не удалось понять в каком порядке приложение взаимодействует с девайсами.
Так как стоит задача исследования взаимодействия двух дейвасов по Bluetooth, то исходно была идея проснифать Bluetooth трафик.
Однако поверхностный гуглеж показал что для этого чуть ли не спец железку надо покупать. Поэтому то и стал копать в сторону исследования самого приложения.
Теперь вот думаю вернуться к идее прослушивания трафика.
> You can enable this by going to Settings->Developer Options, then checking the box next to "Bluetooth HCI Snoop Log."
Это тебе не подходит?
Я об этом читал но ещё не добрался попробовать.
Возможно следует обратить более пристальное внимание
Тут ты похоже прав. Херачит названия именно в релизном билде. Но я эту штуку не добавлял и не настраивал. Если какой-то дефолтный и есть, то где он лежит?
>>53540
>А ты плагин фабрика не забыл включить? А то судя по всему он не заливает маппинги на свой сервер.
>На самом деле я хуй знает про миграцию, но чтоб такой хуйни не было нужен именно плагин фабрика в градле.
apply plugin: 'io.fabric' прописал
Прописал ключ Crashlytics в fabric.properties, а не в манифесте. Может из-за этого ошибки не приходят. Или задержка большая, пока точно не могу сказать. Пока оставил и старый, и новый сбор ошибок.
В Firebase Crash загрузил mapping.txt. Вроде норм показывает, буду смотреть. А вот в Crashlytics вот что надо сделать: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports . И куда это прописать?
Сильно зависит от твоей компании, если это ООО Рога и Копыта. То тут все совсем неопнятно. В некоторых компаниях есть практика ежегодного персмотра и тд.
Общий совет - сам для себя подумай почему тебе должны платить больше? Обдумай список объяснений. Собственно пример: "Дратути Иван Говнович/Пизда Ивановна, короче я уже два года работаю, выполняю задачи качественно и в срок, мой уровень квалификации вырос и исходя из этого прошу поднять мне зп."
ок, учту, спасибо
аноны, есть тут толковые разработчики? нужно запилить приложение типа каталога с сервером (онлайн-панелью управления) с возможностью создания пользовательских аккаунтов, чтоб могло работать офлайн, при наличии интернета синхронизация каталога на устройстве с сервером и выгрузка информации из устройства на сервер
Может там каталог это простой плоский список, а дизайна нет, тогда и правда 2 недели работы.
Итак, я снова выхожу на связь.
Включил эту опцию, однако лог файл так и не появился.
Проверил конфиг bluetooth командой
adb shell cat /etc/bluetooth/bt_stack.conf
И там ожидаемо обнаружил опцию
BtSnoopLogOutput=false
Т.е. режим для девелоперов не способен включить сбор логов для bluetooth.
Там же нашел путь куда лог по идее должен складываться, и команда adb push дала в ответ что у меня нет прав.
Слил на комп файл bt_stack.conf, отредактировал параметр, однако push Не сработал - файловая система только для чтения.
Короче пиздец, логирование включить не удалось. Опять же, кто сталкивался? Может есть какая-то возможность таки включить логирование?
Root себе уже сделай раз занялся реверсом.
В модуле приложухи. Заливать конечно. Смотри рекомендованный .gitignore.
Сам я айфонобог, поэтому во время разработки пользовался симулятором. На симуляторе всё работает чётко и без каких-либо проблем.
Сегодня раздобыл ASUS ZENPHONE S2, поебался с установкой драйверов с 4PDA, и запустил приложение на нём. А дальше начались проблемы. Во-первых жутко фризит боковое меню, выдвигается рывками, прокручивается с тормозами. Хотя из всего кастома там есть только иконки, которые весят по 20kb.
Во-вторых, приложение крашится при запуске одного из Активити через меню, хотя в симуляторе оно прекрасно открывается на всех версиях андроида, начиная с 4.4 и до 8.
Понимаю, что экстрасенсов здесь нет, но есть хотя бы предположения из-за чего могут возникать проблемы?
Завтра дадут погонять ещё какой-то планшет, попробую запустить на нём.
> Несколько недель назад я задавал здесь вопросы о проблемах при установке Android Studio, а теперь моё первое приложение под Android уже готово.
> Понимаю, что экстрасенсов здесь нет, но есть хотя бы предположения из-за чего могут возникать проблемы?
Из-за того, что у тебя нет ни знаний, ни опыта и ты написал говнокод.
Да я не спорю, но почему говнокод на симуляторе работает лучше, чем на реальном девайсе?
Ты пробовал хоть смотреть что в логах когда на девайсе гонял? Там же небось тривиальные вещи типа частой сборки мусора (фризы, может быть где-то ты кучу мусора плодишь), проебаны сильные ссылки на тяжелые объекты и ты вылетаешь по памяти (креш при открытии новой активти).
В приложении есть формочка, состоящая из EditText и Button, лежащих в вертикальном LinearLayout. Если нажать на EditText, то открывается клавиатура, которая смещает весь интерфейс так, чтобы EditText лежал прямо над ней. Это всё, конечно, прекрасно, но можно ли сделать так, чтобы андроид пытался весь LinearLayout над клавиатурой уместить?
Я об этом думал, но мне не особо нравится такой вариант.
https://www.reddit.com/r/androiddev/comments/3547ra/push_views_up_when_keyboard_is_shown/
Обычно пытаются наоборот - превентить пуш всего. Я бы засунул в скролл.
К сожалению, не помогло.
Интерфейс состоит из RelativeLayout, в котором лежит тот самый LinearLayout с centerInParent и ImageView, который привязан к верху формочки. Если в ScrollView обернуть формочку, не меняется ничего. Если обернуть вообще весь RelativeLayout, то формочка просто уплывает вверх.
запрети поворот экрана, лол.
Сегодня сижу в конторе ебусь с сохранением состояния в фрагменте, в итоге мне сказали что ротейт выключили. Я дико орнул блять, пиздец, минус 2 часа времени.
А зачем? Кнопки не видно ни там, ни там.
> в итоге мне сказали что ротейт выключили
У тебя осталось как минимум dont keep activities еще.
Кейс: юзер сворачивает твое говно, открывает 10 вкладок в браузере и возвращается к тебе в приложение. В итоге на активити вероятней всего отработает onCreate с бандлом, т.к. была уничтожена в фоне.
Спасибо, что не поленился расписать. Очень интересно.
Куда ты засунешь свои бандлы и парселабл так что бы они сохранились после закрытия приложухи?
блядь за то время пока ебусь давно уже приложение можно было сделать
Нужно сделать лист из элементов, с простым содержимым, типа строки.
По тэпу на элемент должен открываться его полный текст.
Вопрос: это можно сделать с одной активити, или две надо?
RecyclerView использую
Там встроенная виртуалка, оно вроде как из коробки должно запускаться.
Ты установил необходимые СДК?
Может твой проц не поддерживает апаратную виртуализацию.
Можешь подключить свой ведройд и протестить на нем.
>Ты установил необходимые СДК?
конечно!
>Может твой проц не поддерживает апаратную виртуализацию.
нет, но никогда не мешало. ведро настолько тормозное что без этого не будет работать???
>свой ведройд
я пока в своем уме
Одно активити у тебя отображает RecyclerView (ListActivity), а полный текст отображает уже другое активити (DetailsActivity).
Это такое тестовое задание на прием на работу? Интересно, где это так? Тоже собираюсь войтивайти, но очень очкую, что засрусь на собесе. Поэтому стараюсь как можно больше изучить и свой проектик написать более менее сносно.
>Вопрос: это можно сделать с одной активити, или две надо?
Вообще, я бы погуглил очень много на эту тему. Из первого, что приходит на ум, так это фрагмент открывать по тэпу, а если еще раз нажать, то фрагмент закрывать.
Интересное тестовое.
>Интересное тестовое.
Ебать какое интересное. Сделаешь - можно кандидатскую защищать, не меньше.
>Сделаешь - можно кандидатскую защищать
кек, слишком толсто.
У меня третий курс - выбрал курсовую findMovie - проектов на гите да и от юдасити - море. Но зато мне будет заебись рассказывать про фреймворки.
А на 4 курсе я думаю двач мобильный сделаю.
И после этого они будут мне на собеседованиях про ценность СНГшного диплома рассказывать.
поставил на другой кундахтер с поддержкой vtx, один хуй кнопка не активна, инструкции нихуя не подходят
копец говно этот ваш ведроид
Приложение ставить не стал, но по коду не понял: зачем свой HTTP-велосипед пилить? Ты бы лучше скринов нарезал, и на гитхаб выложил.
>По треду попадался Room, насколько он мне подойдет или использовать старый SQLite?
Если ты не юзаешь rx java или еще что-то связанное с РХ, юзай SQLite. Если тебе только это хранить нужно, то ничего особенного нет.
Но вот лайки и дизлайки ты случайно не с сервака запрашиваешь?, тогда и рх пригодиться. И придется пердолиться.
Rx использую для запросов на сервер.
Про лайки дизлайки могу пояснить. Они организованы таким образом: имеется айди элемента, который имеет toggleLike/toggleDislike. Последние имеют значение true or false.
Допустим, у нас элемент имеет значения false/false, то в таком случае мы добавляем +1, в зависимости от выбранного нами лайк/дизлайк на сервер и параллельно должны записать себе в локальную БД айди элемента и булевы значения, чтобы в дальнейшем мы не могли бесконечно ставить лайки на этот элемент, а так же отменять свои лайки или дизлайки. Логика такова, если был дизлайк, а мы жмем на него еще раз, то получаем отмену нашего дизлайка и по аналогии с лайком.
Организация данного процесса сделана довольно странно, но это меня не особо волнует, это же все тестовое и без учетных записей. Получается, если мы снесем наше приложение с устройства, то все БД потрутся и потом можно будет опять понаставить сколько угодно лайков.
вообще реилм для такого говна занимает слишком много места 5мб и методов. Если тебе в принципе больше ничего не нужно в бдшке копай в сторону Room - спонсируется от гугла, или можешь попробовать юзнуть рх на СКлайт, примерчики всегда найдутся.
такие тривиальные вещи проще хранить в шаредпреференсах вместо того чтобы внедрять бд и ебаться с ней
>>59516
Мопед не мой, я просто разместил объяву (решил посмотреть код победителя курсов по андроиду). В первом фрагменте вводишь слово и запоминаешь его. Во втором и третьем выбираешь языки и переводы слов. Открывается активити и для себя переводишь слова. Статистика сохраняется в Firebase и локальную БД(?) и показывается на последнем фрагменте.
Вот и стало мне интересно, не переусложнён ли этот код (12 000 строк). И так не понял, где там imageloader юзается.
>>27618 (OP)
>>27618 (OP)
>>27618 (OP)
Господа, какие сертификаты мне получить чтобы съебать из этой страны по рабочей визе?
Пока нашел только это
https://developers.google.com/training/certification/associate-android-developer/
Сертификатами подтереться можешь. Нужно 5+ лет подтвержденного опыта и желательно профильное высшее образование.
Мне нужно сохранять String id | boolean hasLike | boolean hasDislike. По гайдам от гугла вполне себе осуществимо, т.к. SharedPreferences позволяет сохранять ключ-значение. Но у меня в ходе ознакомления возникли вопросы. С его помощью именно ключ-значение или ключ-значение-значение можно сохранять и еще кучу переменных? Как потом мне получить список всех моих раннее записаных значений? Поскольку лайкнутые элементы у меня будут отображаться в списке фаворитов, то мне придется по сохраненным айдишникам обращаться на сервак, дабы получить список с полной инфой по лайкнутым элементам.
>Как долго вкатывался?
В конце сентября начал каждый день задрачивать.
>Что для этого делал?
Курсы от юдасити. Потом пошел двач писать, не дописал - и взяли как раз на стажера.
Что тут скрывать - берешь и хуяришь. Только вот работа мотивацию дает, раньше я на расслабончике, а сейчас дедлайны.
Проект насколько был закончен? (отправлял запросы, отображал полученную информацию)
для начала стоит решить зачем вообще мигрировать и так ли это необходимо. и если вдруг это прям такая необходимость то тогда и отпадает вопрос о том проблемно это или нет, потому что у тебя есть необходимость и тут уже похуй на проблемы, а надо просто брать и делать
Ты из тех, что каждые два месяца приложения на новом модном фреймворке переписывашь?
Realm как был говном, так и остался. Room лучшего голого SQLite, но голым и так обычно никто не пользуется. Бери StorIO - самая годнота под Android.
>>60732
>>60766
Спасибо за ответы. Погуглил еще про рум и решил не мигрировать.
Насчет сторио - хуй знает, их описание на хабре слишком меметичное, что часто обозначает проект, написанный на коленке для защиты курсача или хеллоуворлд для ГП от васянов1999. И, кстати, мне нужны мутабельные запросы, а в сторио, насколько я понял, они имутабельны.
> 2к звёздочек
> Разработчик из топа
> проект, написанный на коленке для защиты курсача или хеллоуворлд для ГП от васянов1999
))
>2к звездочек
>а описание все равно меметичное
Ты мои аргументы не игнорируй, раз спорить собрался.
Использую либу с гитхаба socket.io, https://github.com/socketio/socket.io-client-java
Мне нужно подключиться к серверу на сокетайо по определенному урлу, включающему querystring с юзертокеном. Ридми говорит, что нужно делать так:
IO.Options opts = new IO.Options();
opts.forceNew = true;
opts.query = "auth_token=" + authToken;
Socket socket = IO.socket(hostURL, opts);
Однако когда я в opts кладу query, вся конструкция наебывается к херам. Не валит эксепшн, нихуя, просто перестает коннектиться, даже не срабатывает событие connect. Без query всё окей.
Судя по тому что ни в issues репы, ни на стаковерфлоу, никто не поднимал данный вопрос - проблема это персонально моя. Может кто скинет пример реально рабочего кода с подключением к сокетайо-серверу с передачей параметров?
Перекат https://2ch.hk/pr/res/1161404.html (М)
Перекат https://2ch.hk/pr/res/1161404.html (М)
Перекат https://2ch.hk/pr/res/1161404.html (М)
СГТУ?
такого, что у меня его нет и покупать не собираюсь
Это копия, сохраненная 9 мая 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.