Это копия, сохраненная 24 апреля 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Делимся своими графиками заработка, палим годные способы привлечения большей публики и выхода в топ100, бугуртим, быдлокодим, учимся, делаем первые шаги, лайкаем и оставляем приложениям отзывы за бесплатно.
Пред. тонет тут: https://2ch.hk/pr/res/408321.html
iOS: https://developer.apple.com/devcenter/ios/index.action
Android: http://developer.android.com/index.html
Т.е. колличество карточек выбирается в зависимости от ориентации и они сами выравниваются. Точно также себя ведут цветные кнопки разделов (см. google play).
Auto-layout в iOS, а в Android поищи что там у них вместо него.
Я скопировал простой код, вставил и студиоандроид не изменил ничего на виртуальном экране. Подозреваю, что дело в xml.Вопрос - как писать на JAVA в таких программах (Android Studio, eclipse, NetBrains), чтобы xml как бы "подстраивался" (прости) под этот код. Пикрелейтед.
Открываем MainActivity.java и пишем код:
http://startandroid.ru/ru/uroki/vse-uroki-spiskom/58-urok-21-sozdanie-i-vyzov-activity
Ты хочешь создавать разметку программно?
Вот так: http://startandroid.ru/ru/uroki/vse-uroki-spiskom/49-urok-16-programmnoe-sozdanie-ekrana.html
Похоже, что базовый. Как минимум тулбара я там не увидел. А он есть.
Правильный я выбрал вариант?: храню всё в horizontal scrollview, элемент списка - класс, наследованный от cardview, которому подпихнули свою разметку и вывели наружу методы для инициализации.
Добрый день, анон. Знаком ли ты с SDK вконтакта? Мне нужно прикрутить вконтакт. К простому приложению. В гугле какие-то ебаные не понятные тупому ублюдку мануалы. Нужна пошаговая хуета.
Речь об ios.
Захуячил на RecyclerView. Збс работает.
Бро, подскажи как гуглить-то? По запросу "создание приложение с авторизацией вконтакте" выводит более чем нихуя.
vk.com/dev/standalone
Народ, как через атрибуты view объекта передать layout, который надо подгрузить через layoutinflater?
При этом в плей маркете висит десяток приложений со словом Вконтакте в загаловке.
Поцоны, я сам шарпист уже третий год.
Тут внезапно сменил работу и теперь я Objective-C разработчик.
Естественно ни языка, ни фреймворка я нихуя не знаю.
Тяжко будет? Может самоучитель какой посоветуете?
Обязательно иметь планшет и телефон, или можно обойтись эмуляторами?
Ты до сих пор не купил божественный Nexus 5?
Сложно будет освоить джаву никогда не кодил? С чего начать?
С джава треда.
да, ты можешь использовать фонгап для этого, только не называй это парсером.
password = (EditText) findViewById(R.id.login_page_password);
Никак.
Философия Java. Если ничего на джве не писал и боишься ООП и паттернов - то начни именно с этого. Иначе дальше увязнешь.
http://startandroid.ru/ru/
http://developer.alexanderklimov.ru/android/
Вот я тоже об этом подумал - выбираешь layout и префикс для айдишника, а он сам лезет в xml и генерит.
Иногда бывает нужно отобразить пользователю много форматированных данных (список с категориями и всякой графикой) какой в этом случае самый оптимальный способ?
0) Хуячить виджеты на актитивити. Это хуйня, много однообразного кода писать
1) Хуячить адаптеры для Listview, но это тоже много кода и не гибко
2) myTextView.setText(
Html.fromHtml("тут аштмл теги")); - заебись вариант, только как верстать, чтобы в экран умещалось и шрифты на устройствах с разной плотностью пикселей одинаковые были по размеру?
3) WebView - оверкил или нет?
MenuItem revertview = (MenuItem)findViewById(R.id.revert);
может выдавать нулл при наличии в xml-файле меню итема
<item android:id="@+id/revert" ...
?
Што
Не помогло.
Потому что у content не существует дочернего элемента с id = R.id.revert.
А за то, что ты кастишь к MenuItem - вообще сразу убивать нахуй.
В общем шоделать-то? Кастю к менюитем я затем, что мне из кода надо менять его надпись; если кастить к вью, это не работает.
Обновляй надписи через onPrepareOptionsMenu, можно принудительно пересоздать меню - invalidateOptionsMenu.
Более грязный, но тоже рабочий способ - в onCreateOptionsMenu записать переменную типа MenuItem и потом обращаться напрямую менять.
Но судя по тому, что ты ищешь через findViewById и кастишь к MenuItem, ты в этом нихуя не понимаешь, так что учи матчасть.
Эмм... Вообще-то такой способ
TextView v2 = (TextView)findViewById(R.id.reverts);
v2.setText(Integer.toString(reverts));
я взял прямо из developer guide гугла (http://developer.android.com/training/index.html)
Я спрашиваю, в каком конкретном случае этот код использовался?
Вопрос к тому, что идёт поиск вьюхи с этим ид среди дочерних элементов вьюхи android.R.id.content. Ты в этом можешь убедиться, посмотрев в исходный код активити.
Если ты сделал setContentView - у тебя создалось дерево вьюх со своими ид, и тогда ты можешь искать нужные вьюхи при помощи этого метода. В гугл доках именно что-то такое делается как раз.
А случай с меню к этому не имеет никакого отношения.
> идёт поиск вьюхи с этим ид среди дочерних элементов вьюхи android.R.id.content. Ты в этом можешь убедиться, посмотрев в исходный код активити.
На самом деле это я голословно сказал, может быть ищет не у контента, а у decorView, но учитывая то, что ид вьюх за пределами контента ты по факту знать не должен, пусть будет так.
Мне нужно выводить в меню три пункта, каждый с текстом
@string/string№ + " (" + интовая_переменная + ")"
чтобы получалось
"String (int)"
Число будет меняться в процессе работы в программе и должно своевременно обновляться в меню.
Ну я тебе сказал:
> Обновляй надписи через onPrepareOptionsMenu, можно принудительно пересоздать меню - invalidateOptionsMenu.
> Более грязный, но тоже рабочий способ - в onCreateOptionsMenu записать переменную типа MenuItem и потом обращаться напрямую менять.
В общем суть проблемы в том, что через R.какая.то.хуйня можно обращаться только к элементам активити-вьюх, но не к элементам меню? Блять, нафига такое ограничение...
Но нелогично то, что для изменения текста TextField и для изменения текста MenuItem я должен пользоваться кардинально разными методами.
Забросить программирование и уехать в КРIМ. Он теперь нашмяш, бггг
F-Droid и десятки других маркетов
Такой сумбурный поток терминов, что я нихуя не понял.
Вьюхи ты создаёшь через getView, через него же их заполняешь. Переопределяй метод в адаптере и заполняй как тебе нужно.
PizdaTvoeiMamkiShluhiFont Serif 12.
Я про listview.setadapter спрашивал в итоге. Когда нихуя не знаешь, даже такую элементарную хрень можно не понимать, как делать.
Мне не ид элемента нужен, мне нужен ид из тех данных, которые были вытащены для адаптера с сервера, суть поле жсонобэжект, чтобы это поле передать в новом запросе.
Но он один? Id где-то хранится?
Вот и используй getItemId (у адаптера есть метод такой и его переопределить можно).
Вообще, у меня есть варант со невидимым текствью, куда писать ид адапторм, а при клике его читать, но мне этот вариант не нравится.
Все, разобрался, спасибо.
ButterKnife
>>438048
сначала подумай как оптимизировать саму задачу. может можно разбить что то.
ну или приведи пример того что надо показать и как надо.
>>439385
>>439386
>>439395
>>439397
>>439400
и остальный
ох блядь. то что вы хотите сделать - очень плохо.
сетаешь лист вью setOnItemClickListener
тебе будет приходить onItemClick с position
потом вызывашь у адаптера getItem(position). таким образом ты получаешь элемент списка данных из адаптера (элемент модели). потом сразу же создаешь там интент и пихаешь то что тебе надо в него. и запускаешь активити. все это в обработчик onItemClick можно запихнуть если не много говна. и все. это само правильное что можно в такое ситуации сделать.
АО
> потом вызывашь у адаптера getItem(position). таким образом ты получаешь элемент списка данных из адаптера (элемент модели). потом сразу же создаешь там интент и пихаешь то что тебе надо в него. и запускаешь активити. все это в обработчик onItemClick можно запихнуть если не много говна. и все. это само правильное что можно в такое ситуации сделать.
Если ему нужно ид передавать только надо - лучше getItemId, т.к. в этом самом onItemClick есть аргумент "id", который сразу получит нужное значение - не придётся отдельно дёргать getItem и искать в нём этот ид. Ну как бы ящетаю это правильнее будет в данной ситуации.
Читай документацию эппловскую, видео с WWDC. Особо там ничего сложного нет, все гуглится легко.
Как сделать его видным в идее?
В SDK_ROOT/sources/android-14(и всех более поздних СДК) есть исходники его и его зависимостей.
В SDK_ROOT/platforms/android-14(+)/android.jar/android/util нет такого класса.
Попробовал на девайсе с 4.0.3 Class.forName - есть.
Без того, чтобы этот класс был виден идее и градлу я не могу собрать аппликан.
Я могу работать с этим классом рефлектором, но уж очень это криво.
Ну да, этого класса нет в сдк. Таких классов дохуя - в ведре есть, в сдк их нет.
Варианта 3.
1 - пересобирать сдк (гугли, статей на эту тему много).
2 - использовать рефлексию. Обычно это и делают.
3 - самому переписать этот класс, если это возможно.
> неплохим таким скиллом
Чем пруфанёшь "неплохой такой скилл"? Вас послушать - здесь все сеньор-девелоперы, а на деле простые хуи.
Ну, той же прогой законченной к примеру. Ну, и толку мне пиздеть-то, я же предоплаты не требую.
Я в 17 лет тоже много прог заканчивал, рейтинги были также высокие. И я тоже думал "нихуя у меня скилец, умён не по годам".
Сейчас я точно знаю, что всё что я делал - полная хуйня. Открывал несколько раз старые коды и охуевал с индусни и лоускилла.
Ну, я смотрел код за май свой, лол, говнокод там редкостный конечно. Но скилл то прокачивается, зачем тратить впустую, если можно поработать.
как полумера - попробуй задисейблить ненужные плагины. выключить автодополнение. (придется ебенить контрал пробел постоянно). а вообще гугли. ну и достойного результата не добьешся. нужна машина норм. 8гб рамы +, проц похуй в принципе, ну и ссд желатьельно что бы собиралось быстро
>>440528
опять ты. понимаешь, если бы у тебя хоть был бы опыт промышленной разработки ... а так. хуй знает что тебе посоветовать. либо люто пиздеть и работать по ремоуту (пиздеть придется не только на счет опыта но и на счет возраста).
кароч я хуй знает.
может попробуй допилить свой вин проект и всунь туда инапы, донаты, платную версию, рекламу (admob facebook mopub a9) и попробуй заработать. но это впиливать рекламу нужно с умом делать.
кароч как закачик я бы ни за что не вел бы дел с 17летним программистом с неплохим таким скиллом. поэтому хуй знает.
так как джун, в андройде ты практически нихуя шарить не будешь поэтому по java будут спрашивать, многопоточку, коллекции.
по андройду могут спросить про основные компоненты, про ресурсы, про то как асинхронно выполнить задачу. про dp sp. прочитай для начала
http://developer.android.com/guide/index.html -> Develop -> Api Guides -> [app components, app resources, app manifest]
AO
>всунь туда инапы, донаты, платную версию, рекламу
я с нее нормально зарабатывал, просто так заебался что теперь просто тошнит от одного упоминания это проги
а ее нужно переписывать ибо там говнокож
ну для студента нармуль
Алсо, все идеи приложений для плей маркета требуют нормального бэкенда. Хз с чего начинать даже. А в одно ебало делать все лень, так как кроме бд и апи нужно еще и контента туда засунуть. Что анон для портфолио пилил?
Phonegap годится только для простых приложений.
Сейчас актуальна Java. Разбираться долго, времени не теряй. Научись эффективно пользоваться IDE - это пригодится.
Могу помочь с бэкендом, все равно делать нехуй, давай контакты.
Там, особо, никакие материалы не нужны, если могешь в веб-фронтенд хватит самого простого туториала.
Пользоваться эмулятором это всегда боль и мучение.
Какой на ваш взгляд самый эффективный способ запилить более-менее приличный дизайн для своего приложения не имеющему фотошоп скила программеру? Может, для этих целей есть какие мега-удобные и простые проги с кучей шаблонов и элементов?
Дройданы, я правильно все почел в википедии?
Для разработки используется html, css, js на выходе получаем приложенько для хуевой тучи платформ, остается только его скачать на свой говнодевайс и юзать?
Технология годная или медленная параша, которая будет жрать памяти больше чем файрфокс?
>Технология годная или медленная параша, которая будет жрать памяти больше чем файрфокс?
Ну ты сам подумай. Сравниваешь парашный джаваскрипт с нативной джавой.
Куда смотреть? Что подучить?
Ну ответ очевиден, но мало ли там какие-то свистоперделки-ускорители-компиляторы всего на свете в самый нативный из нативных код?
Ну я интересовался не слишком сильно, но все советуют писать геймдев на нативной для дроида жабе или движках с сишным программированием.
Гугли зарубежные сайты по геймдеву и читай.
Да мне как-то геймдев в хуй не вперся, я приложенько для сайтика хочу наговнокодить, шоб с телефона удобнее сидеть.
Почитал малость, да тут даже ангуляр можно впиздрячить. Хуй знает как он на мобиле будет работать, у меня на пека в фуррифоксе он адово тормозит.
Ну пока вроде стопроцентно профитной технологии под все платформы не придумали джава.
Больше увы ничего не могу посоветовать. Разберись что именно нужно тебе сделать и гугли как это реализуется там или там.
Посмотри дизайн google play, Dropbox и т.п. там нет никакой сложной графики, научись кастомизировать компоненты и юзай векторную графику (ура, андроид это умеет из коробки). Посмотри material dedign., скачай material_colors.xml
Спасибо за советы
Как я понял, достаточно не использовать try-with-resources, и тогда код будет работать на старых версиях Андройда. А с The try-with-resources только начиная с версии 4.4.
Если твой СДК поддерживает 7ю жаву, то скомпилированное приложение будет работать на всех предыдущих версиях вне зависимости от того, какие фичи языка ты используешь.
СДК занимается этим, компилирует в байткод.
Другое дело всякие либы и т.д., что должно присутствовать в рантайме, там нужно смотреть.
> Другое дело всякие либы и т.д.
Вот в try-with-resources как раз используется новый интерфейс из либы.
Да похуй, сама идея не плоха, я примерно такие приложеньки делал в 12лет(5-6 лет назад) на Вижуал Бейсике. То есть все окно - це браузер, в нем хтмл-интерфейс. Еще думал хули так все не делают, лол
>>442707
my bad
> Try-with-resources requires minSdkVersion 19; the rest of the new language features require minSdkVersion 8 or higher.
http://stackoverflow.com/questions/20480090/does-android-support-jdk-6-or-7
Есть бета.
Как эту хуйню поставить? Второй день ебусь, ставлю так
npm install -g phonegap
И что? И нихуя. phonegap в сосноли какбэ как будто запускается, но молчит. Где логи этого ссаного npm? Что мне делоть?
https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp
Как на первых двух скриншотах. Т.е. превьюшки вместе с разметкой масштабируются автоматически и при этом не занимают лишнего места. Как выбирать размер этих элементов?
попробуй тогда кордову поставить - cordova.apache.org, отличается только другими названиями команд в консоли и отсутствием платной йобы phonegap build.
Вычисляй в зависимости от размера гридвью, плотности пикселей и меньшей ширины экрана. Немного задроченно конечно получится, но выглядеть будет заебись.
Собственно сейчас нужно делать клиент который юзает хттп запросы и вытаскивает джейсон, потом делает бд у себя в файлах для стенделон режима.
Как это проектировать вообще? Нужен ли синглтон или мне хватит прокидывать нужные две строки(логин и пароль) дальше по активити?
Нужен хороший материал по проектировке самого по.
Делай как вконтакте - авторизация в статическом классе.
Насчет хранения данных в автономном режиме:
SQLite? Нужно, чтобы не было такого, что:
1. Пользователь обновил приложение
2. Не обновил кэш
3. Старый кэш не подходит к новой версии
4. FUUUUUUUUUUUUUUUUUU!!
>Делай как вконтакте - авторизация в статическом классе.
Пример если можно.
>Насчет хранения данных в автономном режиме:
SQLite?
Ну да, другого выхода не вижу. Хотя бы минимум инфы в кеш засунуть.
>1. Пользователь обновил приложение
2. Не обновил кэш
3. Старый кэш не подходит к новой версии
4. FUUUUUUUUUUUUUUUUUU!!
Мне бд будет выдавать свою версию или дату изменения. Правда хуйня получается что весь кеш перекачивать нужно будет.
Но зато работает хоть как-то без интернета.
Ну я и применял.
У gridview есть horizontal и vertical spacing. Задаёшь как тебе нужно - это отступы между ячейками. + задаёшь такой же padding слева и справа (сверху и снизу по желанию).
Оставшееся место подгоняешь под нужный тебе размер. Зависит от того сколько тебе ячеек надо, ну или вычислять это число я для этого дела формулу использовал: число_ячеек = (ширина_gridview - horizontal_spacing) / (минимальный_размер_ячейки + horizontal_spacing)
Конкретно пытаюсь разобраться вот с этим индусским сервисом: https://www.cognalys.com
Буду использовать под iOS.
Ну или посоветуйте какой-нибудь другой способ подтвердить мобильный номер пользователя.
https://get.fabric.io/digits
У твитора такая приблуда есть, сам не тестил. Нам через неделю-другую самим это реализовывать надо будет, если к тому времени останутся вопросы - постараюсь ответить.
Совсем другая. У них подтверждение через смску, причем, на стороне сервера можно верифицировать только токен, привязанный к номеру, но не сам номер. В общем, вообще не то, что мне надо.
Это нормально? Не может же цветопередача в моем ноуте настолько отличатся от телефоной.
>Maven? Gradle? Jenkins?
груша яблоко соковыжималка
бля если бы ты хоть чуть чуть ориентировался в этойCI теме то не задовал бы таких идиотских вопросов. а так ты просто >студентики и плеймарктеошколота
>Gradle
Почему?
Потому что тебе все равно похуй, а эта штука новая и мощная. Да и похуй, ты все равно даже треть способностей ее юзать не будешь.
>Jenkins
Даже почитал, хуй знает, но это не обычный сборщик.
Для контактов мыльцо: faiko-anon@mail.ru
Вот с инглишом вопрос, я все планирую подучить его, но курсы + работа это просто пиздец. Самому чтоль учить?
Меня всегда добивало это, как вы и--ось с андроидом умудряетесь изучать? Там блять колупать каждую технологию оче долго можно. А тут ты с 1 годом работы и двума блять яязыками.
Годный ли этот, сразу, с нуля?
http://teamtreehouse.com/learn-swift
Свифт говно для подушек пердушек только подходит. Obj-C можешь учить по книжке Stephen Kochan - Programming in Objective-C.
Swift слишком сырой и туториалов и решений проблем больше на Obj-C.
https://www.youtube.com/user/AppleProgramming
Я правильно понимаю что KIF/Frank нинужны с ним?
анон, всё нормально. он нихуя не знает ни в том ни в другом ни в третьем. хуй простой во всех направлениях которые он перепробовал.
практика показывает что это всегда именно так. если бы ты был не хуй простой ты бы это знал.
>Свифт говно для подушек пердушек только подходит.
Мне нужно только простое приложение запилить для айфонов, вроде игрули с текстом и картинками.
Сейчас вообще сложно о чем либо судить.
Когда доделают - тогда и стоит его ковырять.
Obj-C по-своему мил, просто надо пройти этап предвзятости от необычного синтаксиса и многословности.
Ну да, по верхам и изучают для простых приложений.
Но как раз года хватит - по полгода на каждую платформу.
Вполне достижимо если реально учиться по 5-7 часов в день, а не сидеть на бордах.
Достижимо да, но будем реалистами, нужен опыт, мне подогнали такую ебанутую задумку по дизайну, что я охуел и и уже пару дней сижу и думаю что и куда.
Ты серьёзно блять?
Дошёл до конструирования вьюх, но знаешь про контекты и конструкторы вьюх ровно нихуя /0
Да, я серьёзно; можешь ответить? С контекстом вроде разобрался: getApplicationContext() , а атрибуты?
Нихуя ты не разобрался. Вьюха не сможет использовать стили твоей активити, если ты контекст приложения туда передашь. В твоём случае, скорее всего, тебе нужно саму активити передать активити это тоже контекста, есле чо.
А второй параметр тебе вообще не нужен, если ты вьюху в коде создаёшь. Уюери его из конструктора совсем.
да
И вообще, блять, нахуя ты это спрашиваешь? Гораздо круче и полезнее разобраться самому. Когда я вижу подобные вопросы, я просто унываю нахуй. Учись прогать и гуглить, чем по таким вопросам форумы дёргать.
Ну я как бы к тому моменту уже разобрался (поставил имя активити - ошибка, поставил зис - заработало), просто хотел убедиться.
ты либо учишь язык, либо учишь отмазки, тут всего два варианта. Может тебе просто пока не очень хочется?
>>446469
Так я и ищу работу ведро разрабом, где ты увидел что я ХОРОШО пишу на и-ос и вин? Разобраться немного смогу, а тонкости пусть и-ос-девелоперы пишут.
Поддвачну вот это:>>446925
>>445546 -кун
>Может тебе просто пока не очень хочется?
Скорее даже очень не хочется.
Я ненавижу языки, тупая зубрежка, особенно в инглише. Самое блять бессмысленное в мире занятие, да и инглиш сам по себе говно а не язык.
Хуй знает как "захотеть" его выучить. Силой воли, ага блять.
Но таки я спрошу как лично ты его учил. Это не столь легкое занятие чтоб просто захотеть и выучить, внезапно нужна систематика.
где ты увидел что я его выучил)
Тоже раньше придумывал для себя отмазки, потом просто понял что мне это пока не надо.
Ну мой реализм таков что за 2-3 месяца вместе с обучением я пишу какой простой продукт для аппстора или на заказ где параллельно испытываю новые навыки.
>>447057
Потому что ты неправильно его готовишь
Как ты в 2 года язык учил? Мамка тебе дала учебник и ты зубрил грамматику?
А нет, сразу пиздеть начал же тябу-тябу всякое.
Вот так и новые языки взрослому стоит учить:
http://learnanylanguage.wikia.com/wiki/Shadowing
Скачай какой интересный аудиотекст и повторяй синхронно на ходу каждый день. Смени все свои новостные ресурсы на англоязычные, вместо макача читай 4chan.
Там и выучится.
Нихуясебе у вас курсачи. Хотет к вам, а то у нас унылая оборонка, ракеты, вся эта хуйня никому не нужная.
Сделай счетчик оборотов, типа этого:
https://play.google.com/store/apps/details?id=lt.magneticcounter
Спасибо, попробуем.
>>447067
>Ну мой реализм таков что за 2-3 месяца вместе с обучением я пишу какой простой продукт для аппстора или на заказ где параллельно испытываю новые навыки.
Ну это прыгать на глубину не умея плавать. Сам как студент только так и учусь, за 3-4 бессонных дня поглощаю массивы инфы и реализую свой быдлокод.
>>447112
Если в универе есть ресурс с бэкендом пиздуй к ним и делай сервис для андроида.
layout.addView и нужно использовать. Если не добавляет - ты используешь его неправильно. Код покажи.
setMargin вроде можно сделоть.
RelativeLayout layout = (RelativeLayout) findViewById(R.id.field);
for (int l = 0; l < layers; l++)
for (int r = 0; r < rows; r++)
for (int c = 0; c < columns; c++){
tile[l][r][c] = new tile(l, r, c, init, initlist, tilenames, rand, this);
}
tile[2][4][10].setImageResource(tile[2][4][10].image);
tile[2][4][10].setMaxWidth(tilewidth);
tile[2][4][10].setMaxHeight(tileheight);
layout.addView(tile[2][4][10],100,200);
Решил для начала вывести просто одну планку для проверки.
Должна добавляться. Включи отображение границ элементов в настройках разработчика или просто setBackgroundColor пропиши вьюхе. Возможно, вьюха есть, а картинки нет.
Ничего. Добавил tile[2][4][10].setBackgroundColor(100); (блин, как описать цвет одним числом?), убрал фоновую картинку из кода и хмл-ки - пустое серое поле. Как включать отображение границ элементов не знаю. Делаю всё это в конструкторе активити, массив tile[][][] - переменная класса.
Дроиданы, подскажите. Имеется приложение с WebView растянутым на весь экран, внутри - немного кода на js.
Возникла острая необходимость скачивать с сервера json объект, но как это сделать - не пойму.
Можно ли выставить какой-нибудь пермишшен, чтобы можно было обращаться к серверу?
Или может какое-то есть стандартное решение, всякие яндекс.метрики же как-то отправляют запросы на сервера яндекса
> Как включать отображение границ элементов не знаю.
В настройках разработчика это делается. У тебя в телефоне обязательно такая хуйня быть, в разделе "рисование" ищи.
Раз не отображается вьюха совсем - на это может быть много причин. Включай эту штуку и смотри, как у тебя выглядят границы вьюх. Возможно, твой field скрыт или ещё какая хуйня.
Нужен android.permission.INTERNET в манифесте.
Выкачивай как хочешь. Хоть через тот же WebView.
Проще всего стандартными решениями выйдет использовать какой-нибудь HttpUrlConnection. Впрочем, для этих дел библиотек может быть дохуя, но я мало разных библиотек вообще знаю.
Китаеговно, сэр.
Возможно, если потыкать на номер билда в информации о телефоне, появится больше опций.
Да, появились, втч твоя. Да, видна граница карточки, прилепленной к углу экрана, внутри пусто.
То есть сама вьюха, которая 100х200, есть, но внутри ничего не отображается?
Если так - скинь код вьюхи.
public int layer, row, column, x, y, image;
public boolean removed, marked;
public String type;
public tile(int l, int r, int c, int[][][] init, ArrayList<Integer> initlist, Hashtable<Integer, String> tilenames, Random rand, Context context)
{
super(context);
this.marked = false;
this.layer = l;
this.row = r;
this.column = c;
this.removed = init[l][r][c] == 0;
if (!this.removed)
{
int rnum = rand.nextInt(initlist.size());
this.image = initlist.get(rnum);
this.type = tilenames.get(this.image);
initlist.remove(rnum);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:text="MY LIST"
android:textStyle="bold" />
\t<ListView
\t android:id="@+id/lvSimple"
\t android:layout_width="match_parent"
\t android:layout_height="wrap_content">
\t</ListView>
</LinearLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/field"
android:layout_width="match_parent" android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools" tools:context="--//--.mahjong.playfield">
<!--ImageView android:id="@+id/bgr" android:scaleType="centerCrop"
android:layout_height="wrap_content" android:layout_width="wrap_content"/-->
</RelativeLayout>
>Я даже не понимаю, зачем тебе здесь кастомная вьюха. Можно ограничиться обычным ImageView.
Так там есть дополнительные поля и методы (их я не стал сюда копировать, например isFree() ), в стандартный класс нельзя же добавить свои поля и методы?
В общем разобрался. Тот тайл, который я пытался выводить, при инициализации назначался несуществующим и никакое image ему не присваивалось; сменил координату тайла - заработало.
Спасибо большое, все заработало
Бамп. У меня получается на дровер лейауте(для выезжающего меню) фреймлейаут как основной, на нем релейтивлейаут и на том еще и линеар.
Теперь для менюшки которая выедет я еще делаю один лейаут на котором будет листвью и еще блять один лейаут.
Всё норм, все так и делают. Смотри только со всякими весами и прочей поеботой не перемудри, а то производительность проебёшь.
Спасибо большое, а то прямо таки застрял.
А как лучше структурировать все это?
В один иксэмель пихать?
Видел код когда куски фрагментов через xmls:tools перекидывали как-то. В чем профит?
> public final void setLeft (int left)
> Sets the left position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.
Ты бы документацию хоть почитал для начала, лол.
Используй gravity + marginLeft + marginTop. Зависит от того, какая у тебя родительская вьюха, конечно же.
RelativeLayout (кстати, важен ли тип лэйаута, если в этой активити я все объекты буду размещать из кода?)
Он всегда важен, в зависимости от того, что ты в нём будешь размещать.
>Используй gravity + marginLeft + marginTop
Не совсем понял. Ни у вьюхи, ни у лэйаута никаких margin-методов нет. Гравити мне не нужна - мне нужно разместить вьюху попиксельно точно, гравити же указывает лишь абстрактные привязки. В хмл эта вьюха не прописана и не будет.
Блять, заебал ты с такими вопросами. "android margin programmatically" - гугли, блять.
Ну же, элементарная хуйня же.
Алсо, если у меня в дровайбле уже овердохуя картинок, создавать внутрение папки норм?
Вообще где подсмотреть готовый код для нормального проекта? На гитхабе без названия я нихуя не нашел.
Планирую покодить под ведро, думаю, стоит ли бить приложуху на MVC составляющие.
>на ведре ioc
>Или там сервисы не распространены?
>И вся логика в жирных вьюхах.
>ведро
>ioc
>сервисы
>вьюха
>Для новичка сложно и поначалу вообще не нужно.
И ничего там не сложно, если не вникать во всякие фичи которые появляются в жабе 1.5.
Да и никто не говорит ему учить Cyclicbarrier, executorservice или нахуй нужен threadpool. Достаточно хоть примерно знать что это, и если нужно найти.
> нахуй нужен threadpool
Нихуя себе не нужный. Охуенная штука.
Для новичка сложно будет разобратьсяс мониторами и прочей важной хуитой. Для new Thread().start() знаний, офк, не нужно.
>Нихуя себе не нужный. Охуенная штука.
Имел ввиду что ему необязательно знать нахуй нужен threadpool. Но что такой есть знать нужно.
>Для новичка сложно будет разобратьсяс мониторами и прочей важной хуитой. Для new Thread().start() знаний, офк, не нужно.
Сложно, но никто не просит сразу дебажить как про. Но знать что есть процесс а есть потоки в нем обязательно я считаю.
Обосрался с запятыми, извиняйте.
> Имел ввиду что ему необязательно знать нахуй нужен threadpool. Но что такой есть знать нужно.
В глаза ебусь, неправильно прочитал.
> Сложно, но никто не просит сразу дебажить как про. Но знать что есть процесс а есть потоки в нем обязательно я считаю.
Видишь, в чём дело - для начала ведрокодинга знание concurrency вообще не нужно. Максимум что может понадобиться - asynctask. А вот остальное что ты перечислил (ооп, коллекции, паттерны) знать действительно нужно. Впрочем, паттерны те же по ходу осознаются.
Да, есть.
на лоре есть такой топик https://www.linux.org.ru/forum/development/10475401/page1?lastmod=1425126508989
Ага, спасибо. Т.е за всем этим нужно идти в джава тред и там искать литературу?
Хватит гугла под рукой и этого списка.
Смотри, есть файл такого вида (генерируется автоматически):
3 hexa 8 8 gaussian
3 0 28.8927 M_orig
0 0 30.074 ZH_orig
4 7 28.9128 M_rot
7 7 30.1405
...
Сначала идет строка с параметрами (не нужна). Ниже - собственно данные. Первые две цифры строки с данными - координаты, третья - ошибка квантования (не нужна), последний параметр текстовый (метка).
Задача - отобрать из этого файла все строки с метками (большинство обычно без них), сконкатенировать в одну строку координаты (первые две цифры) и метки. В примере выше должна получится строка:
3 0 0 0 4 7 M_origZH_origM_rot
И затем полученные таким образом строки из нескольких входных файлов записать в один выходной:
6
3 0 0 0 4 7 M_origZH_origM_rot
...
Первая строка - размерность координат. Остальные - строки, сгенерированные как описано выше.
>Всё это можно регулярками распарсить, например.
Ты же понимаешь, что если бы я умел что-то там парсить каким-то регулярками, я бы не спрашивал? Скорее всего не понимаешь. Ну ладно. Тогда еще вопрос, есть bat-файл, который определенным образом вызывает программы, генерирующие файлы из вышеописанного примера. То, что я прошу, возможно сделать коммандами в этом же батнике, или нужен дополнительный софт?
./emulator -avd mydev -force-32bit
Нету нихуя, кушает 100% проца и молчит, в консоль не срет. Что не так?
Успех, хули. Но то что без зп - это печально
Уменьшать иконки? Или как вообще? Мне еще туда фрагментов натыкать нужно будет.
Ну или не сетевые - но тогда с логикой бота придется заморочиться. Как прожект для портфолио или какое дерьмо может прокатить.
Дам совет, ебани лучше работу с медиа и картой.
То что ты будешь ебаться внутри приложения с логикой сетевой игры нахуй никому не уперлось. Кроме гейдева.
Геймдев не нужен.
5+ лет опыта геймдева, включая iOS последние 3 года. Работы приличной нихуя нет, переучиваюсь на аппы.
На одеске по запросы игры - 70 результатов, аппы - под 800. Причём аппы objC/java, а геймдев - какой хуйни только не попросят. От OpenGL до Corona SDK. И геймдев 4 из 5 проектов - "сделай ммо за пицот баксов".
В оффлайне не лучше - клоны candy crush и clash of clans, об остальном можешь забыть если не в топовой компании типа Wargaming работаешь.
Анон, учу андроид, гоняю виртуал студио, что надо знать что бы взяли на работу? То есть когда ты понял что хватит учится, пора идти работать? Какой минимальный порог вхождения?
Потому что за всё время существования тредов, здесь не было вп-девелоперов их ведь просто не существует.
>>449652
>Когда напишешь свой первый мобильный кластер метапарадигм.
>Прогаю под андроид 3.5 года, всё ещё нигатов.
Семен, я кажется знаю, почему у тебя проблемы с трудоустройством.
А если серьезно, то закончу все примеры из Android Programming: The Big Nerd Ranch Guide, на портфолио я думаю пойдет и буду искать себе работу за еду в какой нибудь конторе, а тебе анон надо быть добрее.
Либо ты делаешь все спустя рукава, уча по 20 минут в месяц, либо не так ищешь, нет джава это не просто, с андроидом еще сложней, но бля 3,5 года, я говорю о просто работе, которая я уверен сведется к говноподелкам от алвара, или что-то в этом духе, на ближайшие 2 года пока не появится опыт работы, но за 3,5 года можно было ракеты в космос запускать.
На самом деле я достаточно много знаю, просто я студент и мне ваще не хочется работать сейчас, лол.
Я знаю, что не нужен. Собственно я работаю на плюсах, а тут, ради развлечения решил обмазаться упомянутой тобой короной, так как ее сделали бесплатной. Потом подумал, что кому-нибудь будет интересно поучаствовать в командной разработке.
>с андроидом еще сложней
Ват? Исходя из того что сырая жаба нигде не юзается, а ведроид сдк на порядок проще ентерпрайза, да еще и не нужно знать такой стек хуйни технологий.
Читай стартандроид и ебанутого на котах. Для того, чтобы стартануть, они - норм.
Уже стартанул и пилю проект. Их читаю параллельно с девелоперс.андроид и стековерфлов когда решаю задачи по ходу.
>Девелоперс.андроид я физически не воспринимаю нормально
ты обречён на провал, читай дальше рускоязычное говно обезьянок который так же хорошо понимают в андройде как и твоя мамка
>developer.android.com/reference/android/widget/SpinnerAdapter.html
Вчера делал кастомный спинер, очень блядь помогло. При том что я все равно в конце концов наследовался от эррей адаптер, как документация заебись, для некоторых штук очень годно расписанно, но что-то немного сложнее и по пизде этот сайт идет.
Проблема в том, что я не понимаю как его читать, структуры для обучения нету.
бля, есть тренинги. есть апи гайды. есть дизайн. есть просто апи доки (референс). есть джигурдалион примеров в сдк. всё чётко. всё понятно.
ты меня реально бесишь. не разобрался и сидишь кукарекаешь тут. читай тогда книжку голощапова. как раз для таких как ты написана.
> ты обречён на провал, читай дальше рускоязычное говно обезьянок который так же хорошо понимают в андройде как и твоя мамка
Обосрался с этого ЗНАТОКА АНДРОЕДА
>есть тренинги. есть апи гайды. есть дизайн. есть просто апи доки (референс). есть джигурдалион примеров в сдк.
В этом и проблема.
В чем разница сука между тренингом и апи гайдом? Еще демки эти по 2 класса. Говняно сделали, поделки от стартандроида внезапно годнее.
Делаю всё точь-в-точь по официальному гайду. После вызова метода VKSdk.authorize() должно запускаться вк приложение с предложением разрешить доступ, которое нихуя на запускается. Пермишин на интернет прописан в манифесте. Приложение в ВК зарегил.
VKSdk.initialize(sdkListener, appId);
setContentView(R.layout.activity_login);
VKSdk.authorize(appScope, true, false);
VKUIHelper.onCreate(this);
Что я делаю не так?
короче нужно было сразу после вызова суперкласса в onCreate() вызывать VKUIHelper.onCreate(this).
Проблема с выпадающим меню, во-первых оно шире картинки, во-вторых выбранный элемент подсвечивается вырви глазным синим.
А уже разобрался.
main_activity_layout
а не
activity_main_layout?
Так ведь удобнее.
потому что твое крэдо - обсираться твоей мамке aidl stub делал
>>450457
>В чем разница сука между тренингом и апи гайдом?
с одной сторны очень хочется тебя обосрать но ведь опять начнут верещать что вместо того что бы пояснить обсираю
с другой стороны конечно лучше обьяснить.
в апи гайдах описывают апи блядь, а в тренингах плюс к этому еще решают реальные проблемы, например как битмапы правильно грузить, но ты ведь не читал, а сразу полез на двач кукарекать. еще много хочется сказать. но ты лучше читай голощапова и других русских экспертов. еще на форумы русскоязычные можешь залезть. вот там то тебя блядь научат.
>>450561
ты пидр
>>450550
не слушай этого >>450561 пидора
правильно писать activity_main. без layout. и так понятно что это лэйаут. и вообще main лучше не называть. а называть как по назначению.
для лист айтемов
item_contact_list
для фрагментов
fragment_contact_details
для активит ты уже понял.
и сразу будет видно где лэйауты фрагментов активитей лист айтемов, и прочие. погугли как правильно называть.
>>450564
>каждая по 8кб
тормозит не из за этого.
не понимаю, ты делаешь боковое слайдинг меню?
опиши чо там у тебя вунтри лэйаута. фрагмент пихать не стоит, быстрее и лучше не станет
потому что твое крэдо - обсираться твоей мамке aidl stub делал
>>450457
>В чем разница сука между тренингом и апи гайдом?
с одной сторны очень хочется тебя обосрать но ведь опять начнут верещать что вместо того что бы пояснить обсираю
с другой стороны конечно лучше обьяснить.
в апи гайдах описывают апи блядь, а в тренингах плюс к этому еще решают реальные проблемы, например как битмапы правильно грузить, но ты ведь не читал, а сразу полез на двач кукарекать. еще много хочется сказать. но ты лучше читай голощапова и других русских экспертов. еще на форумы русскоязычные можешь залезть. вот там то тебя блядь научат.
>>450561
ты пидр
>>450550
не слушай этого >>450561 пидора
правильно писать activity_main. без layout. и так понятно что это лэйаут. и вообще main лучше не называть. а называть как по назначению.
для лист айтемов
item_contact_list
для фрагментов
fragment_contact_details
для активит ты уже понял.
и сразу будет видно где лэйауты фрагментов активитей лист айтемов, и прочие. погугли как правильно называть.
>>450564
>каждая по 8кб
тормозит не из за этого.
не понимаю, ты делаешь боковое слайдинг меню?
опиши чо там у тебя вунтри лэйаута. фрагмент пихать не стоит, быстрее и лучше не станет
> потому что твое крэдо - обсираться
Мелкобуквенное хуйло включило реверс и начало шутить про мамок, спешите видеть!
да, но ведь ты вообще бесполезен.
или ты один из тех гондонов у которых есть свой tech-бложик в который они выкладывают просто РЕВОЛЮЦИОННЫЕ посты про то как стартануть активити?
и поэтому у тебя так припекает когда говорят что все русскоязычные ресурсы по андройду - кал?
или ты не этот >>450440 пидр а другой пидр? ставлю очко твоей мамки да да, ты не ошибся, я продолжаю это делать что ты именно тот пидр.
вообще лучше бы ты показал всем что ты не пидр а хоть что то можешь сказать за ведро.
Я могу сказать, что сайты вроде стартандроид - гораздо лучшее решение для старта, чем читать андроиддев, особенно когда опыт программирования за спиной на уровне laba1.cpp.
Просто потому что там на русском в лёгкой форме объяснены начальные азы. И сомневаться в том, что авторы этих блогов не знают этих азов (цитирую тебя - читай дальше рускоязычное говно обезьянок который так же хорошо понимают в андройде как и твоя мамка), то ты просто мамкин элитарий долбоёб, вроде тех, что создают в /b GODTIER-SHITTIER треды.
>для лист айтемов
>item_contact_list
>для фрагментов
>fragment_contact_details
>для активит ты уже понял.
Спасибо, хотя уже и сам начал так писать ибо это удобно, так как папок нету.
>тормозит не из за этого.
>не понимаю, ты делаешь боковое слайдинг меню?
>опиши чо там у тебя вунтри лэйаута. >фрагмент пихать не стоит, быстрее и лучше не станет
Основное окно это карта, боковое меню имеет панель с имейджбатонами которые в свою очередь будут вызывать фрагменты.
При запуске приложения, при вызове этого слайдбара, когда он уже открылся до панели с кнопками, я вижу подвисание на треть секунды, а после все уже плавно работает. Без картинок все ок.
Думаю спрятать за анимацию, но хуй знает, если прорисовывать до полного открытия бара, оно все равно подвисает, а если уже после, то панель с кнопками будет пустой слишком долго
учился по андройддеву когда там не было ещё такой тонны инфы, сэмплам из сдк и книжке Professional Android 2 Application Development 4 года назад. что со мной не так?
стартандройд легко заменяется SOтолько не читайте ответы предположительно индусов, google groups etc.
>на русском в лёгкой форме
лучше даже не начинать привыкать к этому говну
не сижу на /b/ не понмаю вообще о чём ты
> что со мной не так?
Тогда просто не было стартандроид в первых строчках в гугле, очевидно.
> стартандройд легко заменяется SO
SO - совсем другой формат. Там задают вопросы, на них отвечают.
Новичок не будет даже толком знать, что нужно искать, как бы хорошо он ни умел пользоваться гуглом.
И, опять же, русский язык.
И дело не в том, как ты учился. Дело в том, что ты говнишь стартандроид, причём судя по тому что ты пишешь, - просто потому что ты по нему не учился. Возмущение уровня ВОТ В НАШЕ ТО ВРЕМЯ КОМПУКТЕРОВ НЕ БЫЛО, лол.
> лучше даже не начинать привыкать к этому говну
От этого легко отвыкнуть. Именно тогда, когда за спиной уже есть знания о том, как конструировать приложения, а не когда ты решил только начать.
Я сам начинал с него, но потом пересел на гугел с SO, например. И не сказать, что я сделал что-то не так.
> не сижу на /b/ не понмаю вообще о чём ты
А манера общения такая, как будто ты от туда наперевес с МДК сюда залетел.
Так годных книжек нету чтоль? Девелоперс.андроид хватит?
Ну а стековерлоу это манна небесная.
я те говорю, из-за 8кб картинок педалить не должно. я спрашивал про "что внутри" в надежде услышать что ты там чтонибудь динамически инициализируешь долго. или может картинки свои перепидориваешь.
я отказываюсь верить что тормозит из за 5-10 мелких картинок. бы тебе посоветовал конечно же запрофайлить через traceview но хуй ты ею умеешь пользоваться скорее всего да и проблема скорее всего на поверхности в твоей ситуации.
поэтому рассказывай про свой лэйаут боковой менюхи. что внутри листвью аль статический линеар, и так далее. есть ли какая то динамическая инициализация при создании вьюхи?
>бы тебе посоветовал конечно же запрофайлить через traceview
О, может ты пояснишь как этой штукой пользоваться?
Я пробовал, но на выходе получал статистику о вызовах, и в верху была куча низкоуровневых функций. Как через неё реально можно находить причину зависаний?
>Тогда просто не было стартандроид в первых строчках в гугле, очевидно.
тогда самого сайта небыло. единственное что было на русском языке - книга голощапова. я про стартандройд узнал от пришедшего джуниора год назад. и даже он говорил что местами говно.
лично я сторонник первоисточников и противник вторичности. есть пара тройка бложиков от ведущих инженеров которые можно и нужно читатьно это не для начинающих и не для обучения а для расширения знаний. остальное всё уже давным давно есть на андройддеве и сдк сэмплах и на SO. возможно, если ты еще мамкин борщехлёб и стартуешь свою карьеру с изучения андройда не имея за плечами опыта в других технологиях именно таким я был когда-то то легче начать с русскоязычного, но я категорически против.
> если ты еще мамкин борщехлёб и стартуешь свою карьеру с изучения андройда не имея за плечами опыта в других технологиях
> /pr
Ну ты понел
Чего расказывать, лови код pastebin.com/nus6diMC
С созданием вьюхи нету никаких заморочек.
Если кнопки сделать невидимыми подвисать тоже не будет.
Из гайдов я только находил, как эту штуку запускать и данные получать, а также что в ней что означает.
А именно практических - нет, не читал. Не находил их даже.
попробуй убрать инклюд и напрямую пидорнуть всё это в главный лэйаут
Один хуй лагает.
При первом запуске приложения всегда лагает.
Если закрывать и вызывать это окно уже второй раз, подлагивает только тогда, когда карта еще полностью не прорисовалась.
Алсо, вроде читал что инклюд не должен тормозить.
Там кстати не просто картинка, а селектор с двумя кратинками-пнг для переключения. Но не думаю что в этом причина.
В реальных условиях так сказать.
На своем нексусе, позже на сосунге еще попробую.
Видимо пора научиться работать с тулзами для тестов интерфейса.
Поставь genymotion
Хуиту для перевода треков в ловеркейс и апкейс.
Норм.
Очертил для себя небольшой круг вещей для изучения
1. Английский язык - научиться безграмотно, но без паники пиздеть (как? Читать могу сносно)
2. Рисование на примитивном уровне (подскажите, что взять)
3. Java SE - взять книжку и прочитать бегло (какую?)
4. Пролистать книгу серии "ведро за 30 дней"
5. Написать игрушку
В общем порекомендуйте литературы и дайте советов
Старые туториалы, но код то работает.
>с ненавистной работы программиста энтерпрайза
>Java SE
Вы там осатанели? Как сука работать и не знать?
>Написать игрушку
Пиши приложение сервисного типа лучше.
>Пролистать книгу серии "ведро за 30 дней"
Пиши приложение сервисного типа лучше. №2
>Вы там осатанели? Как сука работать и не знать?
Вообще легко, на самом деле. Тем более что весь тырпрайз мой был на ruby/python/javase (которая там служила как прокладка между первыми двумя и некоторыми веб-сервисами)
говно
Не знаю даже как правильно загуглить, думаю пока ебануть лейаут и на него потом выводить фрагмент, правда не знаю как убирать это окно по нажатию по пустой области.
Уже сам нашел, диалогфрагмент.
Единственный вариант сделать диалог фрагмент одинаковым по пропорциям на все экраны только через костыль?
getDialog().getWindow().setLayout(dialogWidth, dialogHeight);
Ну а высоту и широту считать вытягивая реальные размеры экрана?
Пытаюсь редактировать 400+ аудиозаписей в цикле. ВК по докам позволяет делать не больше 3 запросов в секунду. Поставил паузу между запросами аж в полсекунды.
Почему это говно всё равно частично отваливается время от времени с ошибкой "Too many requests per second"?
То есть, часть запросов проходит нормально, всё редактирует правильно, но некоторые выкидывает с ошибкой. Может я неправильно паузу как-то сделал? Делал через обычный Thread.sleep(500).
На пастбине код doInBackground() и листенер для обработки запросов.
http://pastebin.com/ybGJaJ95
В андроеде из-за вроде как не принято располагать элементы абсолютно.
Можно накидать кучу обычных линейных лайаутов друг в друга. Горизонтальные в вертикальные и т.д. Или использовать релетив лайаут. Там элементы размешаются относительно других элементов. Ну и это дело в хмл бывает быстрее сделать чем мышью.
Есть подозрение, что проблема лежит в методе executeWithListener() самой ВК библиотеки. Внутри вызывается метод start():
http://pastebin.com/WDtXfJgh
Внутри которого создается лупер и вызывается вот эта хуйня VKHttpClient.enqueueOperation():
http://pastebin.com/QYkHSgGz
в которой на Executor цепляется уже запрос.
Вопрос: тут ведь какая-то проблема с гонкой потоков или что-то подобное? Как можно это попробовать решить?
>>452075
Долго очень будет. С паузой в одну секунду уже дохуя ждать нужно тоже некоторые запросы отваливаются.
Беда с диалогфрагментами, нужно делать кастомные. Нету обхода кроме как хардкодить размер самого фрагмента? Это пол проблемы, но из-за нее усложняется процесс рисовки в xml.
Сейчас приходиться считать и пересчитывать кучу раз. А окон этих у меня много, разных размеров.
Не вижу проблемы. Указываешь нужный размер диалогов через LayoutParams и всё. Как это усложняет остальное, я не понимаю?
Впрочем, там всё должно решаться гораздо проще. Ты ведь можешь указывать размеры самого лейаута.
>>452629
А вот у меня, если задавать размер через xml пидорасит по длине.
Пришлось поебаться, в конце концов захардкодил так
window.setLayout((int)(315metrics.density), (int)(262metrics.density));
Где цифры это дп, которые я юзаю для рисования в xml. Сделал так чтоб было удобнее.
Почему нужно делать такой костыль я хз.
Знак умножения схавало.
Бамп! Неужели никто не проходил?
Не понял, что за кастомные селектабл итемы?
Тебе нужно поменять селектор у листвью или сделать выбираемые элементы прямо внутри каждой вьюхи типа кнопачек?
ListView с кастомными элементами.
>поменять селектор у листвью
Это. Но сделать так, чтоб при прокрутке ListView метка выбора не спадала. Делал замену фона онкликлистенером, но сука спадает при перерисовке.
>или сделать выбираемые элементы прямо внутри
Это уже делал, просто в адаптере навешивал листенер на клик.
> Это. Но сделать так, чтоб при прокрутке ListView метка выбора не спадала.
Адаптером умеешь пользоваться? Переопределяй getView и ставь в нём нужный фон.
Смотри, есть список на 50 элементов.
Я выделяю первый элемент, это получилось, прокручиваю список вниз, возвращаюсь, и первый итем уже не выделен.
Юзаю холдерпаттерн еще.
Получилось, вот только почему нельзя делать так?
itemView.findViewById(R.id.layout).setSelected(true);
Алсо, после того как задал бекграунд листенеры с лейаута нахуй послетали.
Ты принцип работы листвью понимаешь вообще? Когда элемент уезжает за край экрана, он исчезает и попадает в "утиль". А когда ты скроллишь назад, далеко не факт, что тебе вернётся та же вьюха.
Впрочем, учитывая то, что ты заговорил про viewholder паттерн, меня кое что начинает сейчас смущать. Покажи свой код getview.
>Когда элемент уезжает за край экрана, он исчезает и попадает в "утиль".
Но я же его setTagом привязываю, а потом достаю.
Либо я совсем тупой либо хз.
pastebin.com/w1gRBF9L
>Но я же его setTagом привязываю, а потом достаю.
Хотя хуйню спизданул, уже мозг вырубаеться.
Короче, я бы сейчас на твоём месте пошёл почитал про устройство listview и как работает адаптер, в особенности - что такое convertView в методе getView.
Хранить информацию о выделенных вьюхах через setSelected/isSelected нельзя. Для этого у листвью есть setChoiceMode(ListView.CHOICE_MODE_MULTIPLE), setItemChecked, isItemChecked и т.д.
Спасибо, пойду почитаю.
>setItemChecked, isItemChecked
Но это в адаптере разве юзать можно? Или вешать на листвью листенер? Хуй знает почему для такой тривиальной задачи я не могу нагуглить ебаный пример.
Нет. Хотет кодить и уметь фигачить красивые темные интерфейсы. Светлые кстати проще делать - примеров больше.
Как светлые делаешь, так и тёмные делай.
В чем то тебя можно понять.
очевидно, что зависит от конторы.
в норм -- ты проверяешь, что оно вообще запускается и очень базово функционал (чтобы отловить баги, которые прямо невооружённым взглядом видны), а уже дотошно чисто тестировщики.
у нас так
хочешь продолжать быть пидором - пиши под iOS
хочешь реабилитироваться в глазах общественности - пиши под Android
>>453343
>сильно ли отличаются перспективы зп у ведро-девелоперов и обычных джаванов-тырпрайзеров
у нас в бульбостане потолок один и тот же, но проще а значит быстрее достичь его будучи андройд-петухом
>И да, куда растет мобайл-дев? У обычных разрабов есть тимлид, а мобильный сервис к приложению пишут 1-2 человека?
зависит от компании. можешь быть ведущим. можешь быть ведущий/тимлид.
Ок. Алсо, подскажите, какие аппы наиболее актуальны для резюме (сервис к какому-нибудь вк пилить, али игру какую?)
И да. Правило 2011/2012: 1 приложение в маркете == 3 месяца опыта, действует у работодателей, или рынок уже достаточно насыщен?
Короче я сделал это говно чуть быстрей.
По дефолту библиотека заставляет делать асинхронные запросы, но много погуглив я нашел как делать синхронно. После каждого запроса просто поставил Thread.sleep(300) наверное быдлокод, но как лучше сделать не знаю.
Теперь такой вопрос. В чём лучше выполнять эти запросы, если я хочу чтобы оно продолжало работать после сворачивания приложения? Нужен сервис ведь?
нет. ты похоже загрузил много образов для эмулятора. они не нужныесли только 1-2 или какие то специфические если есть реальный девайс. или можно использовать другой эмулятор. у меня 4 гб без образов. при этом установленны сдк 8 10 11 14 16 19 20 21 22, все доки для них, примеры, и все их исходники. и все поколения билд тулзов.
Нужны раскрученные приложения с дохуя закачек или это вроде доказательства что ты умеешь работать с гугл плэй?
Предположу, что раскрутка и пр. не важны, т.к. это уже маркетинг, а не программирование. Скорее-всего, важно, чтобы его не захуесосили кучей багов
Делал кастомные списки в фрагментах, всегда юзал
View result = inflater.inflate(R.layout.fragment_menu, container, false);
mListAdapter = new HistoryListViewAdapter(result.getContext(), R.layout.item_list, createHistoryList());
Начал пилить кастомный список в диалогфрагменте получил.
android.view.ContextThemeWrapper cannot be cast to android.app.Activity
Пришлось заменить result.getContext() на getActivity().
Как блять это мозгами понять?
Какое-то говно этот андроид, пойду вскроюсь нахуй.
Если загрузить все что есть в менеджере то может и норм. Но нахуя?
Будет, я так тестил приложуху с трай-виз-ресорсес на своем ведре 4.2.1.
Ну это я, наверное, выебнулся сказав про а-, синхронность вот теперь стыдно, лол. Просто почитал вот здесь как чувак дергал запросы без executeWithListener():
VKRequest request = VKApi.users().search(params);
VKJsonOperation oper = (VKJsonOperation)request.getOperation();
oper.start();
JSONObject obj = oper.getResponseJson();
Глянул немного исходники VkJsonOperation.start(), необнаружил там никаких луперов и экзекьюторов, ну и решил попробовать со своим говном сделать тоже что и чувак этот, только паузу в 300 миллисекунд добавил.
Работает пока норм, но чувствую, что может отвалиться что-то.
> android.view.ContextThemeWrapper cannot be cast to android.app.Activity
Потому что ты блять используешь getContext у вьюхи, а потом где-то в твоём сраном адаптере кастишь его к активити. Максимум долбоебизм. Если тебе в адаптере нужно активити - так переменную типа активити создавай. И в конструктор активити передавай.
>Если тебе в адаптере нужно активити - так переменную типа активити создавай. И в конструктор активити передавай.
максимум долбаебизм.
в адаптере инстансы активити не нужны. если вам нужны - значит вы допустили архитектурную ошибку
А как тогда прорисовать и привязать к данным свой кастомный элемент в листвьюхе?
Я в адаптере делаю так.
itemView = ((Activity) getContext()).getLayoutInflater().inflate(R.layout.item, parent, false);
>>453799
>так переменную типа активити создавай
Как это в фрагментах делать скажи. Адаптер требует контекст, в фрагменте его нету, потому и создаем вьюху.
if (getContext() instanceof Activity) {
inflater=((Activity)getContext()).getLayoutInflater();
}
else {
inflater=LayoutInflater.from(getContext());
}
> Как это в фрагментах делать скажи. Адаптер требует контекст, в фрагменте его нету, потому и создаем вьюху.
В принципе, он >>453806 правильно говорит, передавать в адаптер активити не нужно. Проблема именно в том, что у тебя в адартере контекст кастится активити, что не верно - у вьюхи контекст это далеко не всегда активити. Проблема в твоём адаптере.
Что видно, мань? То, что у него в адаптере кастится контекст к активити без проверки? Это было очевидно.
А вот то, что там дёргался именно getLayoutInflater - уже твои манядогадки.
>Проблема в твоём адаптере.
Ну он пытался из контекста достать лейаутинфлейтер, для этого контекст нужно привести к активити.
В результате воспользовался
>LayoutInflater.from(getContext())
Думаю теперь всегда буду его юзать.
>Адаптер для listview.
>Кастомные элементы.
>getLayoutInflater - уже твои манядогадки
Нет, все логично.
Нет, не логично. Если он передаёт активити адаптер, это не значит, что она ему нужна для вызова getLayoutInflater, смекаешь?
Передается context, а не activity.
А чтоб понять логику хватит иметь опыт в написании хотя бы одного подобного списка.
> А чтоб понять логику хватит иметь опыт в написании хотя бы одного подобного списка.
И, наверное, им и ограничиться. Чем больше знаешь - тем сложнее ткнуть пальцем в небо :))))
Я вот даже не вспомнил, что у активити есть такой метод, потому что всегда в адаптере использовал LayoutInflater.from(context).
ну а если без форсов уровня старого /t/? Стоит ли реально перекатываться на андроид?
Я не по книгам учился. Вначале пару русских статей почитывал уровня "как настроить эклипс и зделоть com.example.helloworld", а потом стековерфлоу + официальная документация.
Бесит это, кажется что трачу время на копание в интернетах.
layoutinflater.from() Хоть и можно найти в документации на андроиддевс но там нихуя не написано чем он лучше старого способа. А шишки на практике набивать не слишком производительно.
Если SQLite - для фаерфокса есть аддон SQLite Manager
sqlite3, в любом ведре есть.
Сделал setMultiChoiceModeListener и setSelector(). Нихуя.
http://www.androidbegin.com/tutorial/android-delete-multiple-selected-items-listview-tutorial/
Мне помогло, и тебе думаю поможет.
Хех. Дело в том, что у меня есть проект в котором эта хуйня идеально работает и делал я её как раз по этому тутору! А в новом приложении какие-то танцы с бубном, лол. Поэтому я уже пробовал через селектор менять фон, что по идее правильней.
Ну ладно, буду копаться в своем говне тщательней.
Поясни поподробнее. Я только-только раздуплился как с этой хуевиной работать.
Что именно не работает?
>через селектор менять фон, что по идее правильней.
Там прикол в том, что в селекторе нужно прописать android:state_activated="true"
Потом все элементы внутри итемвью не должны вмещать всякие параметры типа фокусейбла и прочее. Иначе выбора просто не будет.
Ну и в примере листенер вешался для multipleChoiceModal, если ты юзаеш обычный multipleChoice то и вешать нужно обычный онитемкликлистенер.
Всё как в примере. Тоже multipleChoiceModal с таким же листенером.
Я уже поменял листактивити на активити и вручную установил лэйаут и листвью сделал также как и в проекте где работает, ничего не меняет по сути, но на всякий случай решил так попробовать.
И всё равно нихуя.
Долго жму на листвью, открывается меню выбора с экшенбаром вверху и жму на айтемы в списке. В экшенбаре вверху пишется кол-во выбранных айтемов, но сами они не остаются выбраными подсвеченными
С селектором я ещё не разобрался. Всё что через XML делается плохо пока даётся.
>В экшенбаре вверху пишется кол-во выбранных айтемов, но сами они не остаются выбраными подсвеченными
Скинь сюда селектор и лейаут с ним. Если программно выделения оно засчитывает, то проблема именно в этом.
>С селектором я ещё не разобрался. Всё что через XML делается плохо пока даётся.
А у меня бугурт от внутреннего пиздеца с устройствомпрорисовки.
И еще, сильно ли я сосну удалив андроид студию и используя intellij IDEA?
>>453810
ну это одна из классических ошибок молодого и не только молодого
передавать из вне в адаптер
ни активити, ни его контекст не надо. контекст по хорошему нужен только в getView. нужно помнить что context можно всегда достать из view. во время выполнения getView что бы получить контекст нужно вызывать getContext у последнего аргумента этого метода и ты получишь свой контекст. а дальше пользуешся методом до которого ты уже вроде дошёл сам LayoutInflater.from()
таким образом лучше всегда делать гет и не хранить контекст как переменную в классе во избежании мемори ликов.
453806-кун АО
у вас есть лист. на каждом элементе кнопка которая должна стартовать активити (для каждой кнопки оно разное. название активити лежит в модели вашего листа, тоесть задача сводится к тому что бы повесить на кнопки обработчик и запустить активити). задача весьма стандартная. вот сейчас узнаем усвоили ли материал изложенной мною тут >453955
АО
Нету встроенного сдкменеджера. Да и она лайтовее вроде как.
У меня сейчас и студия и идея.
>>453955
>во время выполнения getView что бы получить контекст нужно вызывать getContext у последнего аргумента этого метода и ты получишь свой контекст.
Лазил я в сорсы, внезапно если суперконструктору не передать этот контекст, то ты его и не получишь через getContext.
>таким образом лучше всегда делать гет и не хранить контекст как переменную в классе во избежании мемори ликов.
Вот тут не понял, вместо конструктора юзать гет или как? Лучше пример кода кинь.
>>453957
Сделал бы самым уебанским способом, ередав в адаптер коллекцию с этими активити. Вешал бы по айдишниках. Алсо, придумал за минуту пока писал первую половину поста, и скорее всего хуевый вариант, но не бейте.
Ты уверен, что вызывать LayoutInflater.from норм? Там ведь вызов getSystemService используется. Всегда казалось, что для таких вещей всегда логично завести переменную, поскольку никогда точно не известно, сколько такая операция будет длиться.
if (getContext() instanceof Activity) {
inflater=((Activity)getContext()).getLayoutInflater();
}
else {
inflater=LayoutInflater.from(getContext());
}
Так можно, но стековерфлов говорит что такая оптимизация на деле нихуя не оптимизирует, только байты в твоей голове.
Adapter implements View.OnClickListener
в getView при создании:
button.setOnClickListener(this)
при обновлении:
button.setTag(position)
в onClick:
int position = (Integer) view.getTag()
...
view.getContext().startActivity(...)
> Лазил я в сорсы, внезапно если суперконструктору не передать этот контекст, то ты его и не получишь через getContext.
Речь о ListAdaper/BaseAdapter, у них нет контекста, он есть у parent в getView.
Контекст есть у ArrayAdapter, например
Да, ты прав.
>Котики, что лучше выбрать Hyndai Solaris или оставаться на Kia Rio?
Сорта говна. Кому как, не попробуешь - не узнаешь.
Если ебануть сеттером не слишком ли это быдлоподход?
Но с другой стороны я не вижу смысла юзать setArguments();
>>454090
Через конструктор.
Если тебе надо передать объект во время работы - через коллбеки.
Так вот, суть в чем: в маркете не нашел ни ни одного приложения, подходящмго под мои нужды, часы либо совсем мелкие и кроме них нихуя нет, либо страшные шопиздец. Так что загорелся идеей написать что-нибудь сам. Но джаву учить ради такой фигни не очень хочется. Как поступить? Может есть какие-то нормальные штуки, чтобы под ведро на ObjC писать я сам под айфоны пишу? Или на html что-нибудь лучше городить? Короче, посоветуйте что-нибудь.
>внезапно если суперконструктору не передать этот контекст
суперу чего? ты про арэй-адаптер чтоли? переставай пользоваться этим говном!
>коллекцию с этими активити
WUT?!
>>453987
уверен, эти сервисы будут висеть всегда
>>453988
этот код говно. просто делаешь всегда LI.from
>>453990
заебись класс чётко. то что и хотел увидеть.
>>454090
если во время создания - то через setArguments, во время выполнения либо сеттерами или через EventBus(но будь осторожен с этим мой юный друг)
Если тебе надо передовать во время выполнения - задумайся, возможно ты что то делаешь не так
>>454174
>Через конструктор.
нельзя так!
>>454208
ты серьёзно?! нету часов в сторе подходящих?!
АО
>внезапно если суперконструктору не передать этот контекст
суперу чего? ты про арэй-адаптер чтоли? переставай пользоваться этим говном!
>коллекцию с этими активити
WUT?!
>>453987
уверен, эти сервисы будут висеть всегда
>>453988
этот код говно. просто делаешь всегда LI.from
>>453990
заебись класс чётко. то что и хотел увидеть.
>>454090
если во время создания - то через setArguments, во время выполнения либо сеттерами или через EventBus(но будь осторожен с этим мой юный друг)
Если тебе надо передовать во время выполнения - задумайся, возможно ты что то делаешь не так
>>454174
>Через конструктор.
нельзя так!
>>454208
ты серьёзно?! нету часов в сторе подходящих?!
АО
> нельзя так!
Можно 2 конструктора сделать - пустой и с параметрами, и у того что с параметрами - setArguments вызывать.
Полностью без джавы нельзя, по крайней мере на обжективе. Там вроде есть такая хуйня как CrystaX NDK - замена гугловкому NDK которая поддерживает обжектив. Но там нет естественно cocoa, тоесть нихуя нет, на нем логику можно наебашить, а UI все равно на джаве - а у тебя считай один UI.
Я нихуя не понял.
Сейчас у меня фрагменты создаются через статический метод new instance в который я передаются начальные данные.
Как лучше сделать такую вещь: есть 3 фрагмента и есть сервис, который периодически через коллбек сбрасывает новые данные, мне нужно эти данные отправлять в открытый в данный момент фрагмент. Биндить сервис в каждом фрагменте или один раз в активити и уже через ещё один коллбек передавать в фрагмент?
по гайдлайнам у тебя должен быть дефолтный конструктор.
http://stackoverflow.com/questions/9245408/best-practice-for-instantiating-a-new-android-fragment
>>454241
из каждого фрагмента биндится или через EventBus
АО
>если во время создания - то через setArguments
В чем смысл то? Все равно чтоб принимать нужно писать лишний код. да и работает вроде как медленнее обычного сеттера, правда меняет Стейт, который я так и не понял зачем.
>во время выполнения либо сеттерами
Ну норм стандартный подход.
>или через EventBus(но будь осторожен с этим мой юный друг)
Почитаю потом, слышал еще через парсейблы как-то можно.
Короче, хуй с ним, на таскере наклепаю
Хелп ми!
К примеру, в onCreateView создаю асинктаск который какое-то время достает данные и пока он не закончит работу показываю загрузочный экран или прогрессбар. Когда по коллбеку приходят данные вызываю метод в котором создаётся адаптер и вешается на листвью.
Норм решение?
Отдает налл на андроиде 4.0.+
Как обычно это делается?
Сейчас я вынес весь код, отвечающий за запросы и обновление UI в класс VKController и по коллбекам от элементов UI из Activity вызывающие соответствующие методы, которые делают запрос асинхронно и обновляют УЙ.
У тебя есть модель списка которая отсылает запросы в ВК и апдейтит себя. Код запроса и апдейта или в самой модели или в отдельном классе (контекст). Дергается этот код или из самой модели ли из какого-то контроллера (по таймеру например). Контреллер вида со списком следит за моделью и если надо подправляет вид.
Все эти вещи гораздо понятнее, если приблизить к реальности.
>У тебя есть модель списка которая отсылает запросы в ВК и апдейтит себя.
К примеру refresh layout шлет запрос на обновление. Он и его коллбек находится в классе MainActivity
>Код запроса и апдейта или в самой модели или в отдельном классе (контекст)
В самой моделе это всмысле прямо в MainActivity? Дофига же кода будет.
>Контреллер вида со списком следит за моделью и если надо подправляет вид.
Вот тут я охуел. Если ближе к реальности без абстрактыных моделей, то как это представить то? Просто эти вещи не всегда можно вот так прям применить, да и вообще все эти модель-вид-контроллер весьма расплывчивы.
Поясни нахуй этот цирк с сетаргументом для фрагмента, если проще и быстрее передавать ссылку на объект через конструктор.
А ты создай такой фрагмент, а потом экран поверни.
Нужно сделать пару приложений для себя на телефон, а из скиллов только с++ и всего лишь понимание синтаксиса джавы, т.е. не ебу как там устроено все внутри.
вопрос снят
Мин версию поставил 4.0. Компилю на 4.2 нексусе.
Решил потестить на старых устройствах с mdpi и андроидом 4.0.+. То что распидорасило весь интерфейс кроме картинок это еще ладно. Правда я в душе не ебу нахуй мне задавать dp, если единственный вариант сделать ровно везде, пиздячить линеарлейауты через weight. Но хуй с ним, перерисую под каждое разрешение.
Дикая проблема с фрагментами, при первом запуске когда на фоне карта, слайдменю открывается, но карта оказывается непосредственно перед слайдменю. Когда-то нашел инфу, то ли инклюды убрать, то ли хз. Диалогфрагменты могут вообще распидораситься, а потом перерисовывать нормально. Да и карта намного медленнее, хотя тут уже не я виноват.
Мои кастомные маркеры пошли по пизде, с ними и основная проблема. Мне нужно их динамически прорисовывать и отображать инфу. Делать в коде проверку на экраны чтоль?
Посоветуйте годных советов.
>на новом 12"
Прям как у нового флагмана-смартфона самсунга.
Как вообще можно писать на этом говне? Купи себе монитор и подключи. С интерфейсами наверное просто неебически удобно работать.
>>454483
Очередные забаненные в гугле
http://forum.startandroid.ru/viewtopic.php?f=54&t=2458&hilit=%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D0%BC%D1%81%D1%8F+%D0%BA+%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E
Правда, все говорят, что на ведройдера главный критерий - твои приложения в маркете, остальное - это общие вопросы по джавакору, паттернам и ингришу.
А ты думал. А главное результат всегда радует глаз.
Не соскучишься. Правда инструменты слишком быстро меняются.
И к чему ты клонишь? Можно откликаться и класть хуй на тот факт, что у меня нет опыта? Или я просто нахуй никому не нужен и могу выпилиться?
>И к чему ты клонишь?
К тому, что первая треть в поисках гуру за копейки, вторая — фёклы из HR-отделов больших компаний, а остальные вряд ли читают резюме.
Автоматизировать что-нибудь на 1С по знакомству — не судьба?
Хз, анон. Говорят, приложения в маркете - и есть тот самый опыт работы. При условии, конечно, что разраб требуется для написания говносервиса, а работодатель - не какой-нибудь "вконтакте"
На Android можно нарисовать красиво стандартными средствами + векторная графика тоже стандартными средствами.
На Йаблоко хз.
на IOSможно свои контрол запилить при желании. Гайдов полно.
Я повторю АДЕКВАТНЫЕ книги или мануалы.
Есть книги по правильной архитектуре приложений? Клиент серверных и standalone.
Взаимодействие с сервером. Где правильно делать запрос, куда сохранять данные? Как написать сервис
который в фоне будет проверять почтовый ящик раз в 5 минут? Я хочу многопоточность и рест с сокетами,
а меня учат как навешать onclick на кнопку,и что url открывать в asynctask. Где о том, как не плодить говнокод, а пилить годный ооп?
IntentService никак не остановить ведь?
Стоит ли начать изучение андроид-приложений с Apache Cordova, или эта технология всё ещё сырая?
https://www.youtube.com/watch?v=-BQVhaIvcDo
>android:id="@+android:id/...."
>@+android:id
Если сделать
>@android:id
то посылает нахер с ошибкой в создании окна.
http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/
http://stackoverflow.com/questions/5800657/how-to-create-custom-ratings-bar-in-android
http://developer.alexanderklimov.ru/android/views/ratingbar.php
Да и пробовал всеми тремя способами, один хуй ругаеться.
Когда так делаю то ругаеться на стиль заданный в рейтингбаре, хотя вроде все ок.
Как вообще продебажить ошибку внутри xml?
Надо просто научиться логически понимать, к каким ресурсам ты обращаешься и как. Там нечего отлаживать.
Пока нарыл только это
https://code.google.com/p/mapview-overlay-manager/wiki/LazyLoading
Нужны сторонние библиотеки, для кокоса есть неплохой SneakyInput, но для спрайт кита хуй знает, посмотри
https://github.com/jsedano/JCInput
https://github.com/MitrophD/Swift-SpriteKit-Analog-Stick
Как тебе добавлять то их надо? Вариантов куча, можно заюзать quantum gis, можно leaflet.js
Лично создавал карты с тысячами точек (оборудование провайдерское и одного ОпСоСа), если по серьезному, то qgis + postgresql + postgis + пишешь нужные триггеры в бд
Будет около 400-700 точек. Точка показывает состояние и инфу, состояние может изменяться очень часто, следовательно и перерисовываться точки будут часто. Все в одном городе.
Я пока потраил стандартные библиотеки marker clustering utility.
Если не сложно поясни за минусы и плюсы, а то я первый раз подобный вывод делаю.
Гугловская карта работает медленнее яндексовской. Почему гугл так хуево ее сделал то?
>quantum gis
Видимо слишком муторная и долгая штука.
>leaflet.js
Рассмотрю как вариант. Спасибо.
Если есть идеи еще то пишите.
Делегирование. Если я правильно понял что тебе надо. В том класе что получает ивенты дергаешь методы того класса что будет их обрабатывать.
Ой блять, у педриков апиха для мобильных карт не обновлялась три года. А про документацию вообще молчу.
Спасибо, анон.
Ну я короче пытаюсь реализовать примерно подобную хуйню: если касание произвелось в определённой области, то нужно выполнить метод у другого объекта.
Чтобы не казалось слишком просто, там всё хитровыебнуто, типа этим методом должен быть touchesEnded.
Это баг или новая фитча? Теперь в ручную набивать все кавычки?
На пике как это работало в Xcode 5.
Ну так когда происходит касание дергаешь нужный метод нужного объекта. Тоесть что-то типа
- (void)touchesEnded:(NSSet )touches withEvent:(UIEvent )event {
[toucheDelegate touchesEnded:(NSSet )touches withEvent:(UIEvent )event];
}
Можешь почитать статьи как сделать кастомный gesture recognizer - тебе конечно такое городить не нужно (хотя может и полезно), но там суть таже ты устанавливаешь рекогнайзеру делегата и он дергает его методы. Сам рекогнайзер крепится к вью (и получает его события тапов) но вызываются методы естественно контролера.
Заведи себе отдельный тред, тупая ведроблядь. Давно пора уже.
А у гугла абсолютно каждый продукт и сервис похож на говно, хуёво работает и стабильно ухудшается с каждым днём.
А что ты хотел от компании, которая ссыт на своих покупателей с высоты колокольной башни?
Ну так я ж не удивлён, там анон просто спросил, почему у гугла чё-то хуёво, будто полчаса назад родился и не разбирается в жизни. У гугла даже капча, блять, хуже яндексовой.
Яндексы, бинг, эпл мапс, хуй его знает. Даже если бы аналогов не было, это не причина считать гугловские карты хорошими; я надеюсь, ты понимаешь это.
>Яндексы
ты считаешь яндекс карты хорошими? ебан чтоль? последний апдейт 2013 года, документации нету.
>эпл мапс
так можно разве?
>бинг
кукарек
>хуй его знает
с этого бы и начинал, ты блять сам не пробовал это говно, но рекламируешь.
> но рекламируешь
Ты спросил про аналоги, я ответил. Я даже не говорил, что они лучше. Иди логику почитай, кароч, а то у тебя какие-то проблемы с ней серьёзные.
Даже если помогало, то тебе уже вряд ли хоть что-то в этом мире вообще поможет. Хотя логику лучше почитай всё же, мало ли.
С "Государства" Платона. Попробуй что-нибудь лёгкое, для школьников. Если будет слишком легко, то возьмёшь что-нибудь посложнее, и т.д.
>С "Государства" Платона
Тут таки не удержался и проиграл. Ну что ты такое пиздишь? Труд интересный сугубо с точки зрения истории, и дает понять, что нихуя внезапно не изменилось, но вот логика, где ты там ее увидел?
Да это я не сдержался и отсылочку ебанул в тему, ты на это внимания не обращай, читай, что вне спойлера написано.
> Хуевая отсылочка что-то.
Она рассчитана на людей в теме просто. Кто знает, о чём речь, тот проиграет 100%.
> Так ты расскажи подробнее с чего начать, что сам читал и тд.
Ну смотри, я тебе кинул ссылочку, где есть список; у тебя есть гугл, где есть информация. Иди учись, как бы, в чём твоя проблема? Я-то, конечно, могу сейчас тебе весь список прочтённой мной лит-ры раскатать, дать рекомендаций, могу даже краткие содержания всех трудов тебе написать, только почему я должен это делать? Что мне за это будет?
Выдаёт такую вот ошибку, уже не первый раз. Раза три удалось починить советами из гугла. Теперь вот не лечится ничем.
Эмулятор УЖЕ запускался успешно, но вдруг перестал. И запускался секунд за 5-10
В VirtualBox эмуляция типо запускается, но дальше переливающейся заставки Android - не идёт. Ждал около 15 минут - всё переливается и переливается
* Genymotion выдаёт ошибку ещё раньше того, как в логе VirtualBox появляется надпись "A N D R O I D"
Чем лечил ранее:
- Сначала в VirtualBox уменьшил объём оперативки для вирт.устройства. Сработало.
- При очередном появлении ошибки - погуглил, удалил все хосты из VirtualBox, закрыл его, стартанул девайс в Genymotion, автоматически создался хост. Всё заработало.
Теперь ничего из перечисленного не помогает.
inb4: Доп.инфа
- Windows 8.1
- Проц AMD
- Вирутализация включена
- VirtualBox есть.
- VirtualBox Обновлён.
- В антивире исключения на Genymotion и VirtualBox
- Затем антивирь был отключен.
- Затем вовсе удалён. Бесполезно.
- Исключения в брендмауэре - есть.
- Затем брендмауэр был выключен. Бесполезно.
- Где-то видел совет - поставить галочку "Автоматически получать IP" в свойствах сетевого подключения вирт.хоста. Не помогло (Genymotion при запуске создал другое подключение, не понравилось ему это, существующее)
- Устройства удалял, ставил заново. Не помогло.
- Софт переустанавливал. Не помогло.
- Ещё раз: Эмуляция уже успешно запускалась
Есть предложения?
Выдаёт такую вот ошибку, уже не первый раз. Раза три удалось починить советами из гугла. Теперь вот не лечится ничем.
Эмулятор УЖЕ запускался успешно, но вдруг перестал. И запускался секунд за 5-10
В VirtualBox эмуляция типо запускается, но дальше переливающейся заставки Android - не идёт. Ждал около 15 минут - всё переливается и переливается
* Genymotion выдаёт ошибку ещё раньше того, как в логе VirtualBox появляется надпись "A N D R O I D"
Чем лечил ранее:
- Сначала в VirtualBox уменьшил объём оперативки для вирт.устройства. Сработало.
- При очередном появлении ошибки - погуглил, удалил все хосты из VirtualBox, закрыл его, стартанул девайс в Genymotion, автоматически создался хост. Всё заработало.
Теперь ничего из перечисленного не помогает.
inb4: Доп.инфа
- Windows 8.1
- Проц AMD
- Вирутализация включена
- VirtualBox есть.
- VirtualBox Обновлён.
- В антивире исключения на Genymotion и VirtualBox
- Затем антивирь был отключен.
- Затем вовсе удалён. Бесполезно.
- Исключения в брендмауэре - есть.
- Затем брендмауэр был выключен. Бесполезно.
- Где-то видел совет - поставить галочку "Автоматически получать IP" в свойствах сетевого подключения вирт.хоста. Не помогло (Genymotion при запуске создал другое подключение, не понравилось ему это, существующее)
- Устройства удалял, ставил заново. Не помогло.
- Софт переустанавливал. Не помогло.
- Ещё раз: Эмуляция уже успешно запускалась
Есть предложения?
>Что мне за это будет?
Да нихуя ненужно делать. Просто проигрываю с тебя и твоей серьезности по этому поводу.
IntentService останавливай через вызов IntentService c флагом FLAG_NO_CREATE
Intent i = new Intent(context, MyService.class);
\t\t PendingIntent pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_NO_CREATE);
Тебе-же прямым текстом пишет, что эмулятор не получает ip. Отрубил VirtualBox Host-Only Network в сетевых подключениях?
обоссал
Просто в следующий раз мне нужно запустить приложения и сразу авторизоваться на сервере.
Есть ли те, кто на практике разрабатывает приложения из-под линукса? Какие подводные камни? Или без винды или огрызка не обойтись?
В резюме чести нужен опыт апи соцсетей, но если пилить полноценный клиент - нужно нихуево запариться с дизайном, иначе выглядит убого.
В подводных камнях, про которые и спрашиваю. Как закончу нынешнюю работу - попробую вкатиться в андроид-разработку.
P.S. Если компилятор и компоновщик/упаковщик что-там ещё etc работают из консоли, как javac, подскажите, как с этим добром работать, а то с этой IDE я просто хренею
По-твоему андроид студия будет работать по другому?
Анон, помоги! Есть этот кусок асинхронного кода. Он добавляет ImageCell в TableSection. Проблема в том, что отрисовка коллекции ImageCell в TableSection не происходит до тех пор, пока я не поменяю ориентацию телефона или не нажму на SearcBar, через который он и вызывается в принципе.
Как заставить отрисовывать это говно?
Он просто проходит весь Task и нихуя потом не делает. Если делать не ассинхронно, то блокируется UI до полного прохода, но зато отрисовывает, блять.
В общем, я тихо плачу от Xamarin.Forms. Помоги мне Анон
Тебя не смущает что уже перекат нужен?
Лол. Аффтар нуп и апазорил сибя. Это я о создателях курса. Там столько говна им накидали (заслуженно) в комментах на ютубе, что они не выдержали и удалили все три первых видео, обещают новые сделать.
Думал над Node.js, но на чём еще обычно пишут? Хочется попробовать и что-нибудь другое.
Ну я например. Никаких подводных камней, кроме того, что IDEA - тормозит. А так все в норме
Есть OpenGl Renderer. создается и хранится в моем наследнике Application. При создании Активити рендерер отдается для подключения к GLSurfaceView. В активити есть кнопка скриншота по по которой в onDrawFrame рендерера делается скриншот и потом асинхронно сохраняется.
Вопрос: как сообщить активити что скриншот сохранился успешно или нет?
Где можно почитать про все эти activity.xml?
developer.android.com
http://developer.alexanderklimov.ru/android/layout/gridlayout.php
ПС: Не обращай внимания на кошек.
https://play.google.com/store/apps/details?id=net.vc9ufi.cvitok
У кого есть 7 или 10 дюймовые планшеты, сделайте пожалуйста скрины.
Допустим, я сделал вьюконтроллер, которые берет введённые пользователем логин и пароль, отправляет для проверки на сервер, если ответ положительный - записывает их в кордату, и потом добавляет к каждому http-запросу.
Теперь мне нужно, чтобы приложение при загрузке проверяло, есть ли в кордате логин и пароль, и если есть - загружало сразу главный вьюконтроллер, пропуская авторизацию. Как это можно реализовать?
Например, в AppDelegate::initializeApplication такое запихнуть:
[code]
if (!expiresOn || [expiresOn timeIntervalSinceDate:[NSDate date]] < 0) {
LoginViewController loginView = [[LoginViewController alloc]initWithNibName:NSStringFromClass([LoginViewController class]) bundle:nil];
self.window.rootViewController = loginView;
}
else{
LoadingViewController lView = [[LoadingViewController alloc]initWithNibName:NSStringFromClass([LoadingViewController class]) bundle:nil];
self.window.rootViewController = lView;
}
[/code]
Это копия, сохраненная 24 апреля 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.