Это копия, сохраненная 25 апреля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
А еще обсуждаем превью N версии и мультиокна.
Предыдущий тред тут:
https://2ch.hk/pr/res/676210.html (М)
Коротко о главном:
1) Мобильная разработка - это весело.
2) Android Studio & Java - легитимный набор, проверенно временем и поддерживается гуглом. Ждем релиза второй версии студии со всеми плюшками(когда он уже выйдет-то?).
А также о неглавном:
3) PhoneGap/Ionic/Titanium/ReactNative - имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити.
4) Xamarin - мультиплатформенная разработка. Попытка серебряной пули на C#. Довольно популярный. Куплено Microsoft. Хз что будет дальше.
5) RoboVM - идейный наследник ксамарина, а теперь уже и его часть но на Java. Менее популярен, так как моложе. Куплен Microsoft. Вот он точно RIP.
Отдельного упоминания стоят:
1) Kotlin - Java от JetBrains, новый и стильный язык, куча синтаксического сахара прилагается, есть стримы и делегаты. Хотите писать на котлине? Добро пожаловать в JetBrains и Avito.
Где брать инфу:
Интернет-ресурсы
1) http://developer.android.com/index.html
Наша библия. Документация/небольшие примеры/гайды. Но только на инглише, но это плюс. Минус в том, что это все таки документация с небольшими примерами и гайдами и искать там реализацию чего-то хоть немного сложного нету смысла. Раздел Training как раз для старта.
2) http://stackoverflow.com/
Пользуюсь чаще чем первым сайтом. Можно найти практически все.
3) Есть два вполне вменяемых русскоязычных ресурса. Для старта подходят очень даже.
http://startandroid.ru/
и
http://developer.alexanderklimov.ru/android/
Второй еще и условно бесплатный. Главный плюс - это русский язык, простые гайдики, но переводы классов иногда заставляют фейспалмить.
4) http://habrahabr.ru/ - редко но метко, можно найти годные статьи по каким-то реализациям, или переводы с developer.android. Хотя чего тут объяснять.
5) https://www.udacity.com/ - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.
Книги, их никто не читает, но все советуют только одну
1) The Busy Coder’s Guide to Android Development
А теперь, так как заебали уже всех, гайд для:
>"Я хуярил на делфи 5 лет назад а теперь хочу вкатится в андроид":
Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush или codingbat.com.
Можно Эккеля "Философия java" почитать.
Или Хорстманн "Java. Библиотека профессионала" до 7 главы.
Что тебе нужно понять в самой жабе.
Энтри лвл.
1) ООП - сам принцип нужно именно понять, так как ооп язык.
2) Типы данных. Примитивы и ссылочные.
3) Структуры данных - Массивы/коллекции - без них никуда. Полезно почитать про алгоритмы работы коллекций и их сложности.
4) Дженерик типы, они как раз юзаются в коллекциях.
5) Классы/интерфейсы и все вытекающие.
Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.
Дальше
6) Потоки ввода/вывода (streams). Не путать с тредами(threads).
7) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.
8) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.
Уже сделаешь что-то нормальное.
Дальше.
9) Работа с Sqlite, нужна будет в любом случае.
10) Работа с json.
Привет клиент-серверка.
Пишите в треде что добавить.
>Как перенести файл базы данных Realm на external storage?
1) Ну я думаю нужно скопировать файл в котором релм сейчас, а потом перекинуть его на экстернл сторедж, а потом нужно что бы инстанс релма брался другой
2)См. доки, там реально написано.
>Аноны, как сделать тулбар, как в гугл мапс? Может есть какой нибудь туториал?
1)Search View
>Аноны, а есть какие-нибудь бесплатные аналоги Genymotion, с подобным функционалом (имитация вызова, например), который заблочен в бесплатной версии дженимоушна?
Уже ответ от меня, обновляй андроид студию до версии 2.0 beta 6 и юзай стандартный эмулятор. Работает хорошо.
У меня на линуксе (центос) эмулятор просто не работает, возможно из-за того, что в репозиториях нет актуальных пакетов библиотек. Думаю убунту попробовать.
Анон, который кодит на убунте, как там с эмулятором студии?
Ну и до 2.0 я эмуль стандартный не юзал.
Текущая версия: 1.0
Разработчики: JetBrains (создатели IDEA, на базе которой сделана Android Studio)
Полная поддержка в: Android Studio / IDEA / RoboVM Studio / Eclipse / Gradle / Maven
Сайт: https://kotlinlang.org , http://try.kotlinlang.org, https://www.reddit.com/r/kotlin
Вот видео (на русском) про язык, от главного разработчика:
https://www.youtube.com/playlist?list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoF
https://www.youtube.com/watch?v=YOmdOTlhZa8 - Актуальные новости про язык
https://www.youtube.com/watch?v=wjkaPXT_vY4
https://www.youtube.com/watch?v=9x6utkLDBs8
https://www.youtube.com/watch?v=mTr8TWj9MUU
https://www.youtube.com/watch?v=-BvN0X5tqjw
Из коробки поддерживает:
• Проперти. Также ко всем Java set/get методам можно обращаться как к свойствам;
• Лямбды. Вызываются они в виде lamba1(...), а не как "функциональный интерфейс" lambda1.call(...);
В Java методы (где требуются ФИ) можно передавать kotlin-лямбды;
• Экстеншен методы (как в C#).
К любому (даже final) классу можно добавлять сторонние методы которые будут доступны через точку;
• Перегрузку операторов (+,- и тд). К примеру можно два BigDecimal складывать через +, а не метод add(...);
• Поддержка неизменяемых коллекций и объектов на уровне компилятора;
• Non-nullable типы, те прощай NullPointerException;
• НЕТ checked исключений (как они всех заебывают внутри лямбд);
В общем похож на Scala, но проще и всего +400kb к размеру APK (с proguard будет меньше).
RoboVM + Kotlin - альтернатива Xamarin
Текущая версия: 1.0
Разработчики: JetBrains (создатели IDEA, на базе которой сделана Android Studio)
Полная поддержка в: Android Studio / IDEA / RoboVM Studio / Eclipse / Gradle / Maven
Сайт: https://kotlinlang.org , http://try.kotlinlang.org, https://www.reddit.com/r/kotlin
Вот видео (на русском) про язык, от главного разработчика:
https://www.youtube.com/playlist?list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoF
https://www.youtube.com/watch?v=YOmdOTlhZa8 - Актуальные новости про язык
https://www.youtube.com/watch?v=wjkaPXT_vY4
https://www.youtube.com/watch?v=9x6utkLDBs8
https://www.youtube.com/watch?v=mTr8TWj9MUU
https://www.youtube.com/watch?v=-BvN0X5tqjw
Из коробки поддерживает:
• Проперти. Также ко всем Java set/get методам можно обращаться как к свойствам;
• Лямбды. Вызываются они в виде lamba1(...), а не как "функциональный интерфейс" lambda1.call(...);
В Java методы (где требуются ФИ) можно передавать kotlin-лямбды;
• Экстеншен методы (как в C#).
К любому (даже final) классу можно добавлять сторонние методы которые будут доступны через точку;
• Перегрузку операторов (+,- и тд). К примеру можно два BigDecimal складывать через +, а не метод add(...);
• Поддержка неизменяемых коллекций и объектов на уровне компилятора;
• Non-nullable типы, те прощай NullPointerException;
• НЕТ checked исключений (как они всех заебывают внутри лямбд);
В общем похож на Scala, но проще и всего +400kb к размеру APK (с proguard будет меньше).
RoboVM + Kotlin - альтернатива Xamarin
Я отвлекал его в котлин треде.
ой, просто съеби
Мож кликер запилить?
В нём есть два метода - update и request. Запихивает новые данные и отдаёт данные соответственно.
В этих методах у меня лежит по AsyncTask'у, который открывает БД, выполняет транзакцию, закрывает БД.
Как сделать лучше: оставить AsyncTask'и как есть, или при каждом вызове методов update и request вызывающий должен оборачивать это дело в AsyncTask'и?
Аноны, а есть где в открытом доступе уроки Александра Климова? Те что после 5го курса. Или может кто знает, как их можно глянуть?
Подкласс SQLiteOpenHelper. Подобная хрень для request будет, но ещё не написана.
Шаблон страниц должен предусматривать максимальное использование пространства на экране планшетного ПК.
Чет не понял, в чем проблема. Скриншоты есть, приложение работает на планшетах норм.
>Уже ответ от меня, обновляй андроид студию до версии 2.0 beta 6 и юзай стандартный эмулятор. Работает хорошо.
Сегодня утром задал вопрос, убегая в универ и в дороге уже услышал ответ на свой вопрос в подкасте про андройд. Да, тоже сказали, что уже можно обновляться и там все включено в стандартный эмулятор.
Спасибо, анон!
Сижу из под Убунту, полет нормальный, все работает без проблем.
Убирать статус бар?
Я бы вынес из ха метод, методу должно быть похуй из какого треда его зовут, а вот вызывающему нет, в таком случае будет удобней в будущем сменить асинк таски на что-то другое.
что за котлин тред? Запустил я твою хуетень - вроде как красиво. Щас вот поставлю ретрофиты даггеры и прочее говно - посмотрим как работать будет. Интересно как там Rx работает
Самы простое, это убрать асинхронность из метода, будет обычный линейны Java 1.6 код.
Если решишь оставить асинхроность внутри метода, это уже получается реактивное программирование (РП).
Тогда из метода нужно возвращать какой-то объекта на который можно повесить слушатели когда он выполнится.
АсинкТаски для этого плохо годятся.
В идеале я бы советовал возвращать CompletableFuture, к сожалению они есть только Android N (Java 8).
Как альтернативу (для старых Android) можно обернуть это в RxJava или какую-нибудь др библиотеку для РП.
Ну учитывая что картинки и радиобаттоны лучше не сильно ужимать, то ужимать прийдется текст слева. С открывающимися списками ты потеряешь удобное отображение. Если я правильно тебя понял.
Чет дикость, да и с чего ты взял, что они 16 байт занимают? У тебя там индексы на каждое поле? Держишь кучу реалмов в памяти открытыми?
> первые 600 штук
Это троллинг такой? Я просто под андроид писать хочу, а не наизусть джаву выучить.
сижу с андроид студией под арчем. работает реально быстрее виндовой
>под андроид писать хочу, а не наизусть джаву выучить.
Ты пытаешься приготовить омлет, не разбив яиц
После гор говнокода
Делать свою карточку, отступы по бокам из-за того что тень специальным образом рисуется. Расковыряй клиент вкашки например.
У меня там long и еще один long.
Еще было 1000 объектов: 2 x double, 1 int, 1 long, 1 srtring (до 20 символов в utf).
Все инстансы, которые юзал в других потоках, кроме main закрывал.
Кто нибудь может объяснить почему нельзя просто локать (синх. блок) доступ к realm?
Зачем замарачиваться с отдельными инстнцами на поток и открывать/закрывать?
Вот в sqlite ты открываешь один коннекшен к базе и все.
В Android коде уже встроен synсhrоnizеd на операции с базой и закроется она автоматически если приложение вылете из памяти.
Есть правда проблема с мульти-процессорным доступом, но это все равно почти никто не использует.
а в чем профит realm, че вы тут с ним носитесь
кроме ускорения на 10% которое никому не сдалось
Хипсторки которые не любят SQL и Cursor
Вероятней всего просрешь больше от синхронизации потоков, чем от синхронизации реалмов.
Автообновление курсоров. Вешаешь realmchangelistener, делаешь в нем notifydatasetchanged и забываешь про свзяку лоадер + провайдер или ручной requery.
Приметил для себя две:
http://www.ozon.ru/context/detail/id/135330880/
http://www.ozon.ru/context/detail/id/135513511/
Какую посоветуете мотивированному ньюфагу?
Да, можно скачать на комп обе, но суть в том, что я именно что хочу ее еще и в дорогу брать, ибо 3 часа в день провожу в метро. На смартфон скачать -- тоже не вариант, потому что не могу ни в какую читать с мелкого экранчика
>>690686
Сможешь провести эксперимент с 80 000 объектами с двумяlong внутри?
Может я что-то не так делал.
Советую поискать готовые веб сервис типа FineReader.
Иначе у тебя нет шансов реализовать это за твою жизнь обозримое время.
На ссд быстро запускается и работает
Тебе нужна распозновалка текста, а все остальное просто.
Да не за что.
О долбоеб с треда про языки.
Нотифаить курсор по ури можно без провайдера, просто вынос вот этих нотифаев и есть часть работы контентпровайдера.
Скачай вначале обе и просмотри, какая больше понравится, ту и покупай.
У меня такая есть:
http://www.ozon.ru/context/detail/id/17562705/
В принципе нормально, перевод конечно не очень. Всякие активности, широковещательные приемники и т. п. глаза режут.
Одной книгой не отделаешься, нужно читать еще кучу всего. Статьи, документацию.
Ну и без практики конечно чтение практически бесполезно.
public class RPoint extends RealmObject {
private long x;
private long y;
... сеттеры геттеры
}
6.46 МБ, первые 80к объектов добавляются где-то секунд за 10, следующие 80к уже за минуту. С индексами думаю будет раза в 3 дольше. Завтра в issue заведу вопрос по поводу долгой вставки.
https://github.com/CherryPerry/realm80k-test
Хотелось бы увидеть аналогичный кейс на sqlite, самому писать лень. Но вангую, что работать он будет быстрее.
Нескажи, там много нагенерированного + библиотечного Java код.
Сходу сложно сказать где "горячий" код, слишком много прослоек по которым размазан CPU time.
Пока понятно одно: создания множества объектов сделано не оптимально.
Попробовал разбить на транзакции по 1000 объектов, стало еще медленее.
Нет, местами конечно полезно услышать что вот есть такая-то хуйня. В первой лекции норм было.
Но архитектура на пальцах это пиздец, просто захотелось в морду плюнуть, прямо видно что ради самопиара сидят и хуйню несут. И эти их "КурсорПровайдеры" блять, сабскрипшн 5 раз назвал пермишеном, он там обкурился? Вот вам гугл эксперт который блять элементарно не знает даже стандартную хуйню, но зато ивентбасы бля, хроносы и ариксы.
Или это, не юзайте лоадеры и курсоры бля, а что юзать сука ты блять нахуй? Rx? Он не решает нихуя из того что решает лоадер и курсор.
Ебаный самопиар, дослушаю все лекции еще раз отпишусь, пока что ебаное говно уровня пробежать глазами по хабру.
Тебе нужно сам статус бар сделать прозрачным. Тогда и контент под него зайдет. Доступно с версии 4.4 точное название параметра стиля не скажу.
Двачую, я уже говорил что оно говно. Может они и про годные вещи рассказывают, но рассказывают они крайне хуево.
да это сделал, но карта не занимает его пространство
Та про годные, я не спорю, но эту инфу я на хабре могу увидеть, нахуй мне оно в подкасте? Лучше бы нормально поясняли по делу.
Ладно местами бывают просветы, но они берут слишком сложный материал и поверхностно его обсасывают в 4 голоса.
Посмотреть ту же лекцию от создателя апликухи для ВК(старое еще) почему я его прекрасно понимал когда он говорил?
А эти что-то пытаются родить но нихуя.
>>691654
Да все равно в транспорте слушаю, особо времени не портатил.
Бля хуле не работает? вот мой xml:
<...CoordinatorLayout>
...
android:fitsSystemWindows="true">
<LinearLayout
...
android:fitsSystemWindows="true">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
...
</...CoordinatorLayout>
Вот что в стилях:
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
В другой активити, где есть коллапсинглейаут всё работает
Спасибо, анон.
Просто вторая только-только вышла и ее еще даже в сети не найти. Думал, может, кто имел дела и отпишется.
Спасибо за советы, ручками, конечно, все параллельно буду делать
"Warning:Method references using '.' is deprecated. Instead of 'handler.onWebClick', use 'handler::onWebClick'" если поставить :: то все работает, только вот студия подсвечивает мол что за хуйня незнакомое выражение, сука.
Раньше ничего такого не было. А ретролямбда была вроде.
>Caused by: android.database.sqlite.SQLiteException: near "?": syntax error (code 1)
Поясни, анон, что не так (в query опущена часть столбцов), если:
String QUERY_CREATE_TABLE = "CREATE TABLE ? (_id INTEGER PRIMARY KEY AUTOINCREMENT,parity TEXT)";
db.execSQL(QUERY_CREATE_TABLE, new Object[]{"unfiltered"});
Очевидно что нельзя передавать название таблицы как параметр, пиши просто:
String QUERY_CREATE_TABLE = "CREATE TABLE unfiltered (_id INTEGER PRIMARY KEY AUTOINCREMENT,parity TEXT)";
Толсто
realmchangelistener -> notifydatasetchanged
Создал simple gesture detector и там заимплементил onScroll
там же реализовал интерфейс onScaleGestureListener и в onTouch передаю моушн евент в этот класс вот только хуй оно скаллит, а только скроллит. Нужно вручную разделять эти два события и передавать либо в simpleListener либо в интерфейс в связи с этим вопрос: как различить эти два события?
В общем, по клику на кнопку "Сделать фото" в приложении должна открываться камера.
В эмуляторе назначил вебкамеру, поставил размер СД на 1гб.
В первый запуск вебка загорелась, на экране появилась моя морда, я помахал рукой.
Нажал кнопку записи - и появилось окошко мол, через какую камеру записывать видео. Я что-то нажал крест там и вылетело "В приложении Камера произошла ошибка".
С тех пор, при запуске эмулятора, касперский говорит, что он запрашивает доступ к вебке, я разрешаю. запускается приложение, тыкаю в кнопку и вылетает сразу же(уже вебка не запускается и меня нет)ошибка.
Что я делаю не так, дорогой Анон?
Уверен, что проблема не в коде.
Хелп плиз, гайды не помогли.
_camera_client_query_start: Cannot start camera 'AndroidEmulatorVC0' for NV21[640x480]: Result too large
вот
http://pastebin.com/SH75TrJu
getOutputFile просто метод что бы файл был размещен где надо. Фоточка сохранится в него.
Спасибо)
только не понял, куда это помещать надо в коде.
ну то что в активити это понятно, в тот же метод?
У меня это в обработчике нажатия на кнопку, потом ловлю результаты в onActivityResult
1. Подгрузка постов из паблика Вконтакте (беру оф. api под android) по мере пролистывания списка.
2. Кеширование постов в БД (беру cupboard), выборка из кэша.
Через Loader. Кеширование тоже спрячь внутрь лоадера.
Через аргументы передавай номер страницы и кол-во записей, которые нужно загрузить.
Парси ответы от векашечки при помощи GSON.
Сам обновился до 2.0 беты 7.
Как в эмуляторе включить обещанные фичи из Дженимоушна?
как сделать так, чтоб при запуске он автоматически пролистывал все сообщения вниз? в общем, чтоб спускался до последнего сообщения?
Показывай последние и подгружай предыдущие, если юзер захоче пролистать вверх.
Разобрался сам. Оказалось, что почему-то не обновлялся SDK, хотя я раз 5 нажимал Update
Ну трекай установку и сессии, заказчика или кто там у тебя спроси достаточно ли этого. Можешь пару кастомных эвентов трекнуть, типа нажатие на покупку говна.
Форсер, иди нахуй. На твоей мёртворождённой хуйне никто писать не будет.
Ну это и есть экраны по-сути, да.
Через хмл, например.
Сейчас у меня в хмл прописано так:
android:background="@drawable/testfone"
а хотелось бы типа
android:background=рандомная пикча из дроубэйл
Подскажи, если не трудно.
создать массив со ссылками на картинки в onCreate и создать (int)random*massive.length?
ну типа дергать случайную ссылку из массива.
просто мне проще через xml бэкграунд ставить как-то.
Нельзя
Очевидно потому, что AsyncTask работает в другом потоке.
При считывании из SharedPreferences через getInt бросает мне ClassCastException, что, мол, строка к числу не преобразовывается. Если считать как строку - выдаёт строку с нужным числом, которое, конечно, можно распарсить через Integer.parseInt(), но почему-то кажется, что это костыль.
А я, как ньюфаг, дохрена полезной инфы про те же пермишшны узнал из первого выпуска (не спорю, все это я мог узнать и читая документацию, но я слушал их, пока спал в метро, и убил тем самым двух зайцев). Так что не знаю, чому вы их такими бесполезными считаете
пацаны, почему только один инстанс MediaRecordera
может быть активным во всех процессах ? пиздец у меня
бомбит от этого
Ну ээ, микрофон один?
В общем, вчера лепил проект, при нажатии на кнопку открывалась новая активити. В принципе, обычное действие.
Тестировал вчера же на эмуляторе - всё работало прекрасно.
Сегодня открываю андроид студио, тестирую вновь и при нажатии на кнопку вылетает ошибка
в консоле показывает ужасы
java.lang.RuntimeException: Unable to start activity ComponentInfo
на всякий случай вот полная копипаста из консоли.
http://pastebin.com/cFtCYa7L
Повторяю: вечером всё работало прекрасно
Помоги, Анон!
всё сделано как тут
http://developer.alexanderklimov.ru/android/activity.php
в манифесте всё прописано, онклик прописан, в xml всё верно.
парни, что за баг такой?(
В случае с 1 битмапом проблем нет: в canvas.draw передаёшь Paint с нужной прозрачностью. С двумя битмапами, по вполне очевидным причинам, такой трюк не прокатит: надо создать отдельный битмап, отдельный канвас, нарисовать на нём оба битмапа, а потом готовый битмап нарисовать как единое изображение.
Вся проблема в том, что из-за этого очень сильно падает производительность отрисовки, буквально в 100 раз, и это очень критично. Если кто-то работал с этим, можете посоветовать, как разрулить ситуацию?
Я обычно никогда ничего не спрашиваю, но тут я даже запрос в гугл не смог нормально сформулировать, чтобы найти, кто с таким сталкивался и как это было решено.
Попробуй на пустом лейауте проверить для начала. Потом по одному выкидывай из лейаутов вьюхи и смотри когда не упадет.
fragmented, android backstage, видосы с ютюба от гугл
сделал пустой бэкграунд, удалил все кнопки и картинки со второй активити - вылеает.
пробую сейчас с памятью повозиться, судя по всему она там тоже замешана - есть ошиька OutOfMemory
Плохо себе представляю, что это, но как это поможет? Дело в том, что в любом случае нужен промежуточный канвас. Однако скорость выполнения простого draw по битмапу в 100 раз ниже, чем по канваса, на котором рисуется интерфейс (потому что он другой), в этом вся проблема.
В эмуляторе (API 23) такой хрени нет. На реальном устройстве - CM12.1.
CardView находятся в RecyclerView, а в свою очередь RecyclerView - во фрагменте. Фрагментами манипулирует ViewPager, связанный с TabLayout.
В общем, у меня есть текст. Большой. Я его скролю вниз, а там внизу ХУЯК и кнопка.
Знаю, что реально, но мозг не придумал ещё вариант создания.
Я какой-то криворукий и не могу нифига разобраться с git.
Может кто-нибудь скинуть годный тутор о том, как интегрировать в студию bickbucket и sourcetree?
Я хочу залить туда существующие проекты из студии и контролить версии.
Нашел пару туторов, но нихера по ним не получилось, у меня уже ГИТХАБ от этой херни.
Переходишь в директорию проекта, пишешь git. Если гит там уже живет то импортируешь в соурстри.
Для начала удаляешь все говноплагины и говноклиенты для гита. Я вот пытался с ними начать и НИХУЯ НЕ РАБОТАЛО КАК НАДО. Дальше ставишь гит через свой менеджер пакетов, или если на винде то скачиваешь доп. консольку. Дальше пердолишься в консольке. Тутор на битбакете нормальный. Рекомендую поставить .ignore плагин для идеи/студии. Все больше ничего не нужно.
Ну, можешь деодексировать исходники (dex2jar), потом пройтись по полученному jar-нику каким-нибудь Java-декомпилятором типа Fernflower, а затем найти нужную активити среди декомпилированных исходников, и уже там смотреть, какой лейаут она использует. Но очень вероятно, что при сборке использовался ProGuard, а он тебе вряд ли даст это сделать с удобством. Так что прощё тупо перебирать.
да уже перебором нашел, спасибо
Хочу взять максимум бюджетнее ноут чисто для работы в Android Studio, интернетов и двачей, без игорей, но хз даже в какую сторону смотреть
Asus какой-то за 32 тыщи рубасов, брал месяц назад, 4 GB RAM, проц 1.7, тормозит все ниебически, хуже чем на самом дешевом Mac Mini.
> для работы в Android Studio, интернетов и двачей, без игорей
Бери в кредит поддержанный macbook air с SSD и хотя бы 4ГБ оперативы.
Google рекомендует
У меня бу thinkpad x230 - брал в районе 20к. Поставил в него ssd и норм.
Стек такой: client: android, backend: go/mongo
Я сделал пока тупо авторизацию клиента через google sign-in, какие следующие шаги? Как идентифицировать юзера в базе?
ХЗ как правильно, я из gogole sign вытягиваю почту пользователя
и из нее создаю уникальный ID (хеш от почты+соль), его и сую в куку.
А для аналитики?
Lenovo Flex 2, i5, 12Gb RAM, гибридный hdd.
На производительность не жалуюсь, но со временем хочу поменять жесткий на ssd.
Если будешь брать этот ноут, обязательно бери модель с IPS
Не очень понял. Но думаю через нижний паддинг ресайклервьюхи, которая в релайтивке. В той же релайтивкн твой нижний элемент с alignparentbottom.
Вот thinkpad это просто моя голубая мечта. Хоть какой-нить, хоть самый дешевый... Но цены на них все равно пиздец
>хоть самый дешевый
Сразу же появились царапины на матрице (подложил тряпочку, но было поздно), у процессора то ли малый размер кеша, то ли ещё что, но FireFox тормозит... в общем, зелен виноград-то! Зелен!!
3) и т.д.
В общем, есть у мня скроллвью, и естественно, он заполнен весь. много в нём всего.
Превью в дизайне показывает только первую часть экрана.
Для того, чтобы посмтреть, как же там внизу легла верстка(то, что будет отображаться при скролле), приходится запускать эмулятор и листать смотреть. потом тыкать и опять запускать.
В общем, можно ли в дизайне как-то прокручивать скролл, чтобы посмотреть, что я там наверстал?
ScrollView?
Просто делай его отдельным лэйаутом, что бы он был в корне вьюхи, а куда надо вставляй через <include .../>.
Это подсказки в духе (ткни сюда и получишь то-то), обычно появляются при первом запуске приложения.
Где можно накидать за 5 мин простенький макет, посмотреть какие экраны нужны, определить структуру приложения.
Неважно будут это онлайновые или десктопные сервисы.
При дебаге на устройстве иногда виснет студия, сразу как приложение запустится. Это распространенная хуйня или у меня проблемы?
Допустим, нужно сделать приложение - что-то вроде карты метро. Т.е. будет граф с кликабельными точками и построением маршрутов (опционально).
С какого бока вы бы подступились к этой проблеме? В каком направлении копать?
AChartEngine не устарела, пойдет к материал дизайну?
Showcaseview
он и так отдельным лэйаутом.
я тебе говорю, как мне его листать в режиме дизайна, не заупуская эмулятор.
иначе нижнюю часть не видно
где-то видел клевую статью про испольщование гугл мапс при создании приложух.
гугли её, там поймёшь)
Если скролвью корневой элемент лейаута, то он отображается полностью, а не в рамке телефона.
Попробовал сделать сам, но, кажется, мой сервис не запускается (хотя BroadcastReceiver на BOOT_COMPLETE повесил)
Не могу дойти.
В общем у меня есть кнопки, которые на клики передают +1 в разные инты.
Если один из интов(пусть будет инт А) равен 3 - должен выполниться метод "finish()" и окно закрыться.
пробовал создать метод мэйн, но в активити походу так нельзя
пробовал добавить в onCreate - тоже ничего.
Есть, конечно, вариант, в каждый кликабельный элемент добавить проверку мол, если такой-то инт равен трём -то выполняй это.
Но тогда будет слишком большой код, да и вариант весьма костыльно выглядит.
У тебя должна быть модель (класс) с треями интами, ссылка на которую есть в контроллере (активити). Когда ты щелкаешь по кнопке, кнопка не лезет своими грязными палцами в инты и не проверяет нихуя. Она сообщает контроллеру (вызывает метод активити) что по ней кликнули. Активити решает что нужно делать (увеличить значение инта) и сообщает про это модели (вызывает метод модели) которая и увеличивает значение инта. Модель также следит за своими интами и как только нужный инт стал равен трем она сообщает про это контроллеру (вызывает метод активити) А контроллер (активити) уже делает что нужно, закрывает окно, например. Это один из вариантов как правильно сделать, может даже спорный. Можно по разному делать. Но непосредственно кнопка сама по себе нихуя не меняет состоянии. Она должна только сообщить активити что по ней нажали.
То есть, тут-то как раз и нужен ООП, верно?
надо было все инты и стринги добавлять в отдельный класс, а из него уже через Класс кс = нью Класс();кс.гетИнт();
делать, верно?
Да. В твоем простом случае это конечно и не обязательно. Ты можешь в активити хранить три инта. Но в общем это один из вариантов. Самое главное что ты должен понимать что кнопка не совершает никаких действий кроме вызова методов активити (и еще кроме, возможно, некоторых действий над собой) - это сразу нахуй.
Вот я сейчас делаю окно чата с сообщениями.
Сообщения буду сначала кешировать потом выводить, раньше на списках юзал курсорлоадер и курсор адаптер. Но сейчас понимаю что для окна чата это хуйня, так как:
1. Вся переписка может быть слишком огромной.
2.
Спасибо)
Бля, нечайно отослал.
Помогите решить.
Вот я сейчас делаю окно чата с сообщениями.
Сообщения буду сначала кешировать потом выводить, раньше на списках юзал курсорлоадер и курсор адаптер. Но сейчас понимаю что для окна чата это хуйня, так как:
1. Вся переписка может быть слишком огромной, да и нахуй ненужна.
Для решения данной проблемы можно разбить логику на подтягивание курсоров по дате. (7дней, месяц и тд).
2. Тут уже сложнее, юзая курсорадаптер мне даже при добавлении одного итема в листе нужно перезагружать все, и соответственно перерисовывать их. А в окне чата это постоянное действие.
Решения нету, только отказ от курсора.
Теперь минусы работы с листом итемов.
1. Больше памяти требует чтоб хранить все данные для вывода.
2. Нужно делать механизм оповещения при сохранении в БД.
Не поленитесь и подскажите пожалуйста.
Жутко не хочется шквариться о жабу.
Сдк сделана под джаву, никто на си такую же сдк делать не будет.
Си мастхев в оптимизации работы апликух.
Аноны, почему в примере из книги данные в интенте передаются через константу? Ведь можно просто указать текстовый ключ и по этому ключу получить во второй активности значение. Зачем прописовать DrinkActivity.EXTRA_DRINKNO, и создавать соответсвующую константу в DrinkActicity, в чем смысл? Если можно просто getIntegerExtra("ExtraDrinkNo")?
Но ведь статическая переменная EXTRA_DRINKNO в таком случае фактически не хранит никаких данных(кроме заданной строки drinkNo)? Ведь мы все так же получаем значение по ключу, да?
Ясно, тогда в контсанту можно написать "хуй", и это будет не важно. Спасибо.
Анончики, как изменить расположение ImageView в макете через код активности?
Видел в книжном книжку "Программирование Android на C#" или как-то так. Листать не стал, т.к. времени было мало
>>694904
>>694909
>>694912
>>695091
>>695107
Аноны, спасибо за обратку по ноутам. Не знал, что так много отпишется.
Выбирал, выбирал, вроде выбрал этот:
http://www.mvideo.ru/products/noutbuk-acer-aspire-es1-531-p5dn-nx-mz8er-044-30024065?amp;reff=yan_tov_dD20_c20302_g203020101_m93&cityId=CityCZ_975&frommarket=https://market.yandex.ru/product/13281007/offers?hid=91013&hyperid=13281007&grhow=shop&track=tabs&utm_campaign=computers&utm_content=30024065&utm_medium=cpc&utm_source=yandexmarket&utm_term=comp_note_Acer_AspireES1531P5DN&ymclid=58622605803746802028006#specification
Подкупило, что 8 гигов оперативки, диск на террабайт, еще и ВИНДОВС и это все меньше, чем за 30к
Макбук я брать не хочу, не мое. Знаю, что многим нравится и вообще он в принципе неплох, но лично я не хочу.
Так же создалось впечатление, что все hp сами по себе глючные.
Как анон ниже, полил слюни на thinkpad, действительно неплохой, но дороговатый
Знающих, кстати, прошу обосрать как-то мой выбор и указать на подводные, если они есть
небось на ксамарине.
Небольшой бугурт:
ДОСТАЛСЯ ПРОЕКТ С RX И REALM'ОМ
@
ТРАНЗАКЦИИ В ГЛАВНОМ ПОТОКЕ
@
ТЕСТЫ?
@
АРХИТЕКТУРА?
@
МЫ БУДЕМ СЛУШАТЬ ИЗМЕНЕНИЯ РЕЛМА ВО ВСЕХ АКТИВИТЯХ И В АДАПТЕРАХ
@
И В АДАПТЕРАХ ПРОИСХОДИТ РЕКВЕРИ
@
А АКТИВТИ БУДУТ ПОЛЬЗОВАТЬСЯ СТАРЫМИ ДАННЫМИ
Шарп под андроид - те же яйца.
Во-первых это ебанство, во-вторых что ты будешь делать когда они не достаточно быстры? Ах да реалм там довольно старый и многие проблемы решились бы просто обновлением. Но ведь тогда в других местах ломается, короче пиздос. У меня все работает, у них - сразу валится. Иногда от налов которых не может быть в принципе, в другой раз от КОКОКОКОКОКОКО НУЖНО В ТРАНЗАКЦИИ ДЕЛАТЬ КУДАХ-ТАХ-ТАХ. А почему сука сразу не писали в executeTransaction???.
> Во-первых это ебанство
Давай тогда вообще все в отдельный поток скидывать. Нужно сделать string.contains? Похуй, в поток.
А когда будет медленно, тогда и можно обмазываться колбеками.
>>696319
> И В АДАПТЕРАХ ПРОИСХОДИТ РЕКВЕРИ
Не нужно, он самообновляемый. Просто делай notifyDataSetChanged
> А АКТИВТИ БУДУТ ПОЛЬЗОВАТЬСЯ СТАРЫМИ ДАННЫМИ
Почему, если они подписаны?
Ну с реалмом то похуй. Чем тебя отсутствие тестов не устроило? Мне в моей говноконторе за них не платят например. Так если мне за них не платят, то мне как то нахуй сралось за бесплатно еще что-то делать. Есть отдельный тестировщик, который пальцами прокликает.
Нет не все скидывать, а все связанное с файлами и нетворкингом, не передергивай.
Только вот там какой-то костыль с тем что результат квери используется в активити. Они подписаны, а результаты беру из адаптера блять, совсем непонятно зачем. Я на трех устройствах проверил, а у них фейл за фейлом. Тесты тут наверняка бы помогли. И лог присылают эксепшн вперемешку с выводом ретрофита. А еще бесит что нельзя определять кроме гетеров и сетеров для моделек.
А есть туторы по использованию этой либы совместно с realm io?
Нашел левых статей много, но там не то.
Можешь пожалуйста скинуть ту статью, о которой ты говоришь?
Главный минус что НЕ SSD - будет тормозить сборка.
Нахрен тебе гигабайт, ты там Android из исходников собирать собрался?
Работают на макбуке с 128GB уже 4 года, никогда проблем с местом не было.
Ну и там по мелочи: огромная, тяжелая ебала которая будет греться как батарея и разряжаться за пару часов работы.
да, кстати, раз acer говно, напиши в порядке убывания какую фирму лучше выбирать
и что? почему два приложения не могут его юзать одновременно?
уебанство какое-то. алсо нельзя одновременно вести запись и воспроизведение,
мамку свою ебал
Экран ужасное говно.
Процессор очень медленный, в купе с win 10 всё будет тормозить.
Нет SSD - будет долго грузиться. На скорость сборки SSD не сильно влияет.
Готовь 100 т.р. на макбук. Не имеет смысла выкидывать 30 т.р. на этот асер.
Просто скопировать всю папку проекта, ту самую, где хранятся все .грэдл .идеа апп билд грэдл и сеттингс и файл.имл
верно?
ну там ещё хранится, но в общем, там хранится всё то, что в ветке висит при работе
Если на другом компе не используют IDE то можешь все копировать, потом только перенастроить нужно будет.
Студия по дефолту на кой то хуй добавляет в гит еще и .idea полностью. В итоге она там любит после каждого gradle sync перемешивать файл с зависимостями.
Знаешь какой вывод? Ничего не давать ИДЕ пихать в гит, ты мастер гита а не какая-то программка.
>Готовь 100 т.р. на макбук.
И нахуя?
Алсо, я бы мог взять мак, но я в игори играю и любитель 15дюймов. Нет спасибо мак с диагональю в 15 стоит как пиздец.
>МЫ БУДЕМ СЛУШАТЬ ИЗМЕНЕНИЯ РЕЛМА ВО ВСЕХ АКТИВИТЯХ И В АДАПТЕРАХ
Уже вижу бейсАктивити со всем ненужным функционалом.
Ну я в гит игнор то папку и добавил.
Да не всегда работает этот сучий гитигнор, прям бесит.
В некоторых случаях — анальный пиздопроёб, придётся сильно менять архитектуру проекта чтобы встроить новую систему пермишенов, зависит от многих факторов. Но в большинстве случаев — не очень страшно.
Нормально, но ЛАЙФЙЦАЙКЛ портит, и или юзер с хуем остается, или больше бойлерплейта богу бойлеплейта.
>>696986
Та в моем понимании андроид уже просто набор костылей, мозгами его не понять, просто руку набить нужно.
То у фрагмента онАктивитиКриейтед после поворота не стартует, хотя должен бы. Да и вообще эти повороты экрана с этими пермишенами убийство, я так понял нету никакого способа посмотреть есть ли пермишин или запомнить(ну опять же костыли).
Ты не должен ебаться с запоминанием, ты должен спросить контекст есть ли у тебя пермишен. Фрагменты вообще пиздец с поворотами.
Щас подсовывал в проект и ощутил анальную боль. Вместо того, чтобы заблокировать текущий поток до получения результата и показать ссаное окно, нет блять, давайте в onactivityresult возвращать.
>onactivityresult
Охуеть, это говно само по себе кривое.
Сколько можно клепать говно? Пускай делали индусы, но сейчас то можно нанять спецов не?
На самом деле не все так страшно:
1) Окно показывается в виде диалога и на заднем фоне видно наше приложение.
Значит система не убьет это активити в любом случае.
2) Система не станет переворачивать приложение если в нем залочен поворот.
Следовательно можно не боятся самого хренового случая (пересоздания активити).
1) поработал в приложение
2) свернул его
3) подождал 30 минут
4) развернул
5) нужно перейти на окно логина в независимости от того какое окно было последним.
Не было ни у кого такой задачи?
Хочется правильного архитектурного решения, что бы по меньше кода дублировалось.
Там не просто диалог, а диалог в активити, и да твое приложение уже не в форнарунде и вместо него может случится черный экран и пересоздание твоего активити.
Просто BaseActivity которое в onResume чекает токен/счетчик который валяется в SharedPreferences? И при неудаче валидации финишируется с открытием нового таска.
Не может, андроид гарантирует (с 3.0 и 4.0) что если активити видимо на экране, его нельзя разрушать.
сервисы в бэкграунде ?) Не влезал, но вроде есть такая тема типо STICKY_SERVICE
Бамп вопросу, что выглядит более мерзко, енам с методами, или свитч по константам/членам енама.
Ну десктопной джаве похуй на пару килобайт, да и ведроиду по большей части, обычно этим не спасти.
вкатился вот к вам
опыт java 0
опыт С++ норм такой но его вроде нерил выучть
сделал пик -- далее че делаю?
в том то и дело анон, я учусь в гуманитарной шараге, а хочу сетевой апп кинуть на телефон чтобы с телефона рулить пекой из тоалета а то в ssh капчевать -- это подзаипало уже месяца 3 в ssh капчюю
и я могу в пеку намутить демона на bash/python/С++ чтобы он звук отключал или там лочил экран или двачевал капчу или кофе мне варил делал что-полезное и сокет открываю например на листинг с синтаксисом пакетов мною еще не придуманным
а на телефоне jaba qt я уже билдил .apk но она просто тяжелеенная и лагучаяя вышла
>>697811
аутист, у меня нет стора, там регаться нада
да и какой блядь клиент android<-->freebsd
хочу сделать себе карманное приложение(а-ля медуза или иной новостной аггрегатор), чтоб отображал мне новости с этого сайта.
Как это сделать, имея админку, я полистал, в принципе не мутно.
Но как сделать, если админки нет? или невозможно?
>да и какой блядь клиент android<-->freebsd
Пидр, ssh везде одно.
Долбоеб, сука, не можешь апкшник закачать через усб, если регаться не хочешь? Пиздец блядь, параноики, будто если не зарегаешься не будет инфу отсылать дяде. Дауны.
ТЫ ДАУН?? я так и делаю.
есть открытые ssh клиенты и я юзаю один изних. а хочу полноценную аппку
В wp есть поддержка Reader-режима (как в safari), и RSS-ленту он отдавать умеет, туда копай.
Всмысле - "где"? Берешь и читаешь предложенные опции, ничего лучше чем "Start new project" я не вижу. Дальше тебе только всякие туториалы помогут, что где и куда. Если в общем, то скорее всего потребуется сервис, который в бекграунде будет держать сокет, ну и организовать работу UI как ты там это все видишь тебе прийдется. И шурупай через сокет туда сюда что ты там придумаешь.
вопрос, а можно перекатится с этой студии в православный эклипс? больно она дикая имногонепонятных и ненужных кнопок
Мда, можно конечно. Только вот и структура проекта и методология сборки-деплоя будет отличаться.
так что вернее
расковырять студию или переехать на эклипс?
хотя я не знаю как в андроиде ui строится.. поэтому как скажешь анон так и будет!
Выбор из двух стульев, если тебе привычней эклипс то можешь в нем. Особенно, если машинка для разработки не очень, или студия покажется лагающей.
Эклипс заебешься первоначально настраивать, куча неочевидных вещей, в студии press x to win.
Если ты вместо нажатия "Start New Project..." лезешь на сосач за советом, то лучше даже не начиная.
Хотя ты конечно не послушаешь. Я прям предвкушаю через пару недель вопросы уровня:
"зачем этим хипсторки испортили джаву, добавив туда лямбды/стримы" и "нахуй нужен котлин, когда есть жаба 1.6"
а пока ставлю, хотел узнать о структуре разработки под андро, годных ide, и сетевой низкоуровневой поддержкой андро
Обычно сначала ставят сдк, прикинь? Годных ИДЕ только 2, на самом деле одна - Android Studio (на базе IDEA) или IDEA с плагином для ведроида, разница только в интерфейсе. Еще можно в Эклипсе и НетБинсе, но то такое.
Ставил на убунту, не помню каких-то особенных зависимостей. Ну разве что мэйвен и ант сразу поставил, и джаву конечно же.
Ты или тралишь или залетный с какого-нибудь тпрогера. Попробуй почитать текст почему не собирается, мало того, инсталяция студии вместе с сдк на сайте гугла расписана шо песец.
The APK file ....AndroidStudioProjects/MyApplication/app/build/outputs/apk/app-debug.apk does not exist on disk.
единственная ошибка.. стаковерфлоу говорит что clean project спасет, но неа.
тпрогер? сайт детский без задач.. что там интересного?
да и вообще.. ни тебе лога компиляции ни понятности..
и почему в ssd я жду билда чертовых 5 минут который с фейлом! и железо у меня не столь олдовое и бичевое.
ну и хрень.. хорошо что мне только пакетик кинуть на сокет и все, но рил ребят, я теперь вас уважаю. ебли больше чем сребилдом ядра в бсд под нужды аниме
> опыт С++ норм такой но его вроде нерил выучть
Уёбок тупой, если "нерил выучить" — значит говно твой опыт С++.
> Там помимо могу писать код есть i = ++i + ++i тонкости
Пиздец тонкости. Просто путешествуй нахуй с таким опытом.
>ко ко ко
я не шучу, есть тяжелые для понимания вещи о которых узнаю случайно и это заставляет знать что выучить все не возможно. особенно недокументированные киллер фичи
Из инструментов выбрал: cupboard, всю движуху закину в Loader'ы, там то и будет решаться - из БД брать инфу или из ВК и в фоне писать в БД.
Правильный ли это подход?
>Там помимо могу писать код есть i = ++i + ++i тонкости
Я если такой код увижу в своем проекте дам пизды тому кто такое написал.
Если на проекте куда я пришел, просто никогда не буду трогать этот кусок. Даже впадлу разбираться, будет.
А вообще в результате будет i = 2i + 3?
Больше с толку сбивает i = i++ + ++i; тут вроде как i = 2i +2;
Имеем:
[code lang="java"]
int[][] stack = new int[div][3];
int[] sir;
sir = stack[i + radius];
[/code]
Вот тут и ругается. Как в яве одномерный массив приравнивается к двумерному?
При изменении sir, будет ли меняться stack?
>Как в яве одномерный массив приравнивается к двумерному
>приравнивается
Ну ты совсем пиздец.
Вроде так и работает все. Тем более что у чувака внезапно на гитхабе этот же код, не думаю что он бы его нерабочим заливал.
Понятно что так и работает на яве, но я то пишу на C# под xamarin. А там даже объявление массива другое, и такого:
int[][] stack = new int[div][3];
int[] sir;
sir = stack[i + radius];
сделать нельзя.
>Вот тут и ругается. Как в яве одномерный массив приравнивается к двумерному?
Ты предложение перечитай. Я так понял что у тебя на джаве это не работает.
уже разобрался sir работает как ссылка.
Бампс
Анон, ты еще тут?
Как тебе на 12.5 экране в Android Studio работается? Не слишком глаза ломает?
Хочу себе брать синкпад X220.
Если кто еще сидит на синкпадах, не важно каких, отпишитесь о впечатлениях от работы, пожалуйста
в генту нужно региться. почему просто не промолчать, если ты не в состоянии понять пост своим куриным мозгом?
Нахрена тебу генту? Ты в какой системе работаешь?
Не практичнее, потому и не пишут.
Пиздуй на гитхаб.
Как думаете, нормально будет? Кто по ссылкам не ходит - там мейзу м2 ноут
http://ru.aliexpress.com/item/Original-Meizu-M2-Note-4G-FDD-LTE-Dual-SIM-Mobile-Phone-5-5-1920X1080P-MTK6753-Octa/32366036234.html?spm=2114.03010208.3.19.PiV58G&ws_ab_test=searchweb201556_6,searchweb201602_3_10036_10035_10034_507_10020_10001_10002_10017_10010_10005_10011_10006_10003_10021_10004_10022_10009_10007_10008_10018_10019,searchweb201603_9&btsid=97f6cd12-c20b-4353-a546-321dd9478f33
Есть какие-то фреймворки для 2D игр под андроид?
Куча ограничений и требований, читай при заливке, почитай отсосные истории на хабре, когда гугл банил потому что может не предупреждать.
libGdx, а вообще для ведроида есть обвязка на джаве.
хелп, програмач. Есть либа jetty websocket client
http://mvnrepository.com/artifact/org.eclipse.jetty.websocket/websocket-client
её надо использовать в андроид аппе. Либо я кривой, либо она несовместима каким-то образом с андроидом. Каким образом можно проверить должна ли работать эта либа под андроидом? И можно ли как-то её перекомпилить, чтобы она заработала?
Пытаюсь заранить прогу, открыв генумошн, выдает вот такие ошибки и на генумошн мое положение не отображается. Что не так?
Полностью вывод скопируй весь
Для начала гуглишь, может есть специальны порт для ведра. Потом пытаешься всунуть в проект, на этапе компиляции скажет если какая-то хуйня, если все ок тестишь релиз, там возможны варианты мол что-то нужно от proguard спрятать. Если при компиляции не ок, то смотришь конкретные ошибки, если атм не сильно много,то можно форкнуть наверное.
Курс рассчитан на год, по окончанию у вас с вероятностью 90% будет работа если не миддлом, то джуниором + куча своих проектов, которые и показать не стыдно. Лично я за первый месяц практически сделал 2 приложения, в последнем были некоторые недочёты, и они отправили на переделку.
Охуенно ревьюят тут. Серьёзно. Тут и советы дают, и примеры показывают, и общаются. Вангую тонны сообщений типа "за 200 баксов они сосать у тебя будут", но нет. Если что не так, они не пропускают это. В первую очередь, курс направлен на обучение. Я уже во втором приложении использовал 90% того, что я знаю, в том числе и нелюбимые фрагменты.
Задавайте свои вопросы.
Не слушай пидарасов, пойдёт.
Владелец Xiaomi Redmi Note 3
До этого тестил на Megafon Login 2 и 3.
ourSounds = new SoundPool.Builder()
.setMaxStreams(2)
.setAudioAttributes(audioAttributes)
.build();
Я правильно понимаю что SoundPool это класс
Builder() это функция а
остальное это параметры, и где почитать про подобные конструкции?
CTRL+B в студии - и полез рыться в коде. Либо открывай описание класса на developer.android.com
спасибо попробую
Какие тебе вопросы задавать? Я в первом своем проекте уже нашел вьюхолдер и начал его юзать. А учитывая что уже все юзают ресайклервью то эта инфа уходит в ненужную.
Пускай скажут как делать что-то реально полезное, как например втулить прямую расширяемую архитектуру в апликуху и тд.
>с вероятностью 90% будет работа если не миддлом
Ну если равнять с даунами то может быть.
>нелюбимые фрагменты
И на этих курсах ты не узнаешь как делать что-то без них. Хотя мортары и фловы та еще ебаня.
>куча своих проектов, которые и показать не стыдно
Ну скинь один свой проект, мы с аноном посмотрим и скажем стыдно или нет.
Да.
>Да, то, что надо для НОВИЧКА. Давай ещё про управление памятью поговорим, ага.
Тебе на андроиде дали управление памятью? Поделись ка.
Может быть он про все подводные камни с памятью в ведре, про проблемы сборки мусора и как их избегать, или ебля с ashmem, или про NDK
Да, именно про это. Я к тому, что на любых курсах дают информацию, которой достаточно для вхождения. Есть курсы, которые подробнее объясняют, есть курсы, где мягко намекают, что неплохо бы и погуглить самому.
>>701826
Разве нет?
Я боюсь не каждый мид это знает.
>Разве нет?
Греат ворк выглядит дешево, учитывая что твой код все равно нихуя не греат ворк.
Словно меня менеджер подбадривает, вместо плюсы к зп, будто бы я работаю за хорошее слово.
Я ж говорю, попахивает пиздежом, потому что код не может быть грейтворк если это не ебучий хеловорд в три строки, где написать плохо очень тяжело.
Для новичка - может. К примеру, когда я указывал текст для кнопки прямо в xml, они мне на это указали.
Тебе даже ИДЕ указывает об этом, помощь я ебу.
Тебе причину то обьяснили? А контент в имеджВью тоже подписываете?
Ну если тебе курс помогли то рад за тебя.
Я с 3го курса ит факультета искал и решал все сам, сейчас около года опыта уже.
Начинал с джавараша(первые 15 уроков) и головача(очень годный препод), дальше уже как-то само, много практики, стековерфло, документация и много матов.
Напиздел немного, еще любитель почитать статьи разные и иногда посмотреть видео, иногда что-то полезное да попадается.
Ну так иде просит постоянно. Мол непонятно что в имейджВЬю должно быть.
Есть такие люди, которые плохо видят, и вот есть в ведроиде сервис, который начинает читать каждый элемент, и вот он слышит вместо "Картинка котика" - @="ImageView:id1000500".
Но это я знал. С другой стороны, так заморачиваться ради одного человека.
А строки выносятся в ресурсы, чтобы один инстанс строки использовался в разных местах, да? Ведь у джавы нет общего пула строк как в шарпах.
>Ведь у джавы нет общего пула строк как в шарпах.
ВАААААТ? Ебать ты дно конечно, почитай про автобоксинг.
>чтобы один инстанс строки использовался в разных местах, да?
Годные курсы бро годные.
Чтоб при смене локализации менялась и строка.
Блять, это очевидно чтобы строки менялись. Я про сокральный смысл это делать, если у тебя одна локаль.
Нету никакого сокрального смысла, если тебе нужна обычная строка то хуярь ее в коде, ненужно ебатся с контекстом, обращение к этой строке потребует намного меньше ресурсов.
Но могут появится проблемы с кодировкой конечно.
>>701922
Существуют пулы строк, интов и тд.
Они уже реализованы через valueOf(), правда я так понял что реализованы для стрингов они хуево если дали метод интерн() который внезапно тоже использовать не советуют.
Интерн для пула вмки, и тебе срать туда не надо, нужен пул, милости прошу сделай свой пул, какие проблемы?
>Существуют пулы строк, интов и тд.
>Они уже реализованы через valueOf(), правда я так понял что реализованы для стрингов они хуево если дали метод интерн() который внезапно тоже использовать не советуют.
Напутал немного.
valueOf в классах-обертках для примитивов юзает свой пул для маленьких чисел.
а вот для стринга компилятор сам делает приставку intern
Все это не работает с new ЧТо-то там.
Как-то так.
>человеческая эра
>думать что если так не делают, то и не нужно знать что будет если так сделать
Да я пошутил.
Буквально вчера начал бегиннер курс от гугла. Поражен, насколько качественно все сделано.
Не просто мужик диктует что-то под нос на фоне ide, а заморочились и отсняли кучу материала во дворе/офисе гугла.
Хз, может, дальше заморочек будет меньше, но это пока лучшее, что я видел.
Предлагают к бегиннеру взять платное дополнение, которое включает коучинг и, кажется, что-то связанное с резюме. Но пока смысла не вижу.
алсо, там в требованиях было 3+ года кодинга на Джаве. Я охерел. Тут аноны, я слышал, вообще без Джавы вкатывались
Только не говорити что все, то бишь нанодегри, бегинерс, девелопинг и адвансед по 200 баксов?
Или нанодегри на 10 недель, ебать.
Хуй знает короче.
>Не просто мужик диктует что-то под нос на фоне ide, а заморочились и отсняли кучу материала во дворе/офисе гугла.
Ну приехали бля.
Бегинер точно бесплатный.
Вообще, там часть курсов позиционируются, как платные, но на деле можно смотреть бесплатно и решать задачки.
Платная часть включает в себя именной сертификат по окончании, коучинг во время обучения, консультации по непонятным вопросам и, возможно, помощь с работой/резюме
Ты неправильно понял.
Я про то, что я впервые вижу такое и на фоне остального это оче выделяется и действительно круто, что они ради обучения людей готовы на такое. Но, это таки гугл и удивляться, в принципе, нечему. Я не говорю, что мужик, диктующий под нос, хуево научит. Или, что книжка будет бесполезной.
Я, кстати, подписался на их оф. канал на ютубе и там тоже периодически снимается всякий охуенчик. Советую еще тем, кому инглиш нужно качнуть
А чем конкретно нужно помочь?
только не говори, что у тебя есть прорывная 10/10 идея убойной игрухи и тебе нужны прогаммисты и дизайнеры для ее реализации
Нет, я решил освоить разработку под андроид, есть опыт работы с жава дескоп и веб.
Просто я чувствую, что эта такая объемная тема, ведь если игру пропустит гуглсплей, то это уже настоящий успех продакшн. Я чувствую, что один не справлюсь, мне надо хотя бы чтобы мне кто-то более опытный советы давал, я же в андроиде и игровых фреймворках под жава и андроид нюфаня. В идеале такие же безработные хикки как я у которых это хобби.
За 25$
> в апстор
99 баксов, плюс перед заливкой приложение проверяют на соответствие стандартам качества Apple.
Какую игру?
Игры разные бывают.
Angry Birds, Марио, Lifeline, викторина какая-нибудь.
Тебе сначала нужно определиться, что ты хочешь пилить и какой движок тебе выбрать для игры, хотя, для викторины вообще движок не нужен, например.
Больше инфы давай
Я думаю, что-то по типу марио, хотя энгри бердс тоже прикольные. Персонажей я уже придумал, осталось только фактурки нарисовать. Я что-то подобное только на js path давно-давно делал, а какие там движки на java я даже не представляю, он такой не динамичный. Я поэтому и кого-нибудь помогать хотя бы советами.
В общем, есть у меня одно приложение. Представим, что это типа кликер.
В общем, при клике на определенную кнопку нам прибавляется одно очко. длится это кликание, например, одну минуту.
За эту минуту набирается сколько-то очков.
Вроде всё пнятно-примитивно.
Но я хочу сделать мультиплеер для этого(тест)
чтобы одновременно кто-то тоже кликал в своём окне и выставлялась таблица рейтинга мол лучший игрок.
ну так во всех приложухах игровых устроено: после матча, если есть интернет, показывают таблицу highscore.
Как я понял, эта таблица должна лежать где-то на сервере? или как?
КОгда некий Васян заходит посмотреть highscore, он должен видеть топ игроков.
Как реализовать эту фичу?
Нужно создать свой мини-сервер на апаче каком-нибудь, где будет лежать текстовый файл с именами игроков и их очками?
или же?
в общем, как запилить highscore по мультиплееру?(ну или хотя бы чтобы статистика ВСЕХ игроков велась)
> таблица должна лежать где-то на сервере? или как?
В общем случае да.
>создать свой мини-сервер на апаче каком-нибудь
В общем случае да.
>или же?
Есть вариант без хранения на сервере, а хранить распределенно на клиентах, но это ебля и нахуй не нужно, так как сервер создавать все равно нужно, для координации.
ок, спасибо.
А можешь что сказать за вот эту штуку?
https://developers.google.com/games/services/
Если тебе для теста или чего-то простого то это наверное оптимальный вариант. Если что-то серьезное то лучше свой сервер - тут основная проблема читерство, у себя на сервере ты сможешь сделать более сложную проверку присылаемых рекордов.
Да, сначала просто для теста. попробовать самому покликать и чтоб друзья покликали, посмотреть работает ли вообще "мультиплеер"
спасибо
Ты дурак?
Во-первых, мы говорим о создании под Android, а не под винду.
Во-вторых, Констракт 2 это мейкер, а не движок.
А в третьих, еще и платный. И как только ты выложишь свое детище куда-нибудь за деньги или воткнешь туда рекламу - тут же получишь иск от автора.
может кто-нить мне удаленно подключится и настроит все среду? (
а первый тег с опечаткой куда-то проебался.
Мне кажется тебе проще использовать google play game services.
Там android tudio + genymotion. Сейчас Android SDK manager качаю, но как-то долго качается я думаю проблема не исчезнет. а как сменить образ эмулятора?
Тебе сдк полюбасу нужен. В женимоушене ты не смешинь архитектуру кажись. Нужен android avd
>Нужен android avd
Вот у меня проблемы постоянно с этим AVD вылетают. Нужно где-то вот эту строчку в иде поставить, не могу найти где.
-force-32bit
Я знаю что avd не сдк блять пиздец, он идет вместе с ним. Я давно уже не использовал genymotion, но не помню чтобы там можно было поменять с arm на x86, значит ему нужен образ x86, и чем его запустить? А запустить его через sdk/tools/android avd блять.
>Я давно уже не использовал genymotion
Чего ж ты советуешь тогда?
Там можно поставить без проблем
Так, я не понял.
Что значит андройд 64?
Что ты там качаешь вообще? Ты по гайду работаешь или самостоятельно?
Где я спросил тебя про x86?
Не имеет значения, какая у тебя студия, 64 или 86. СДК главное нужный скачай.
Кинь скрин своего sdk tools со всеми закачками
Как проблему с кодировкой решить?
Да епта, не этих закачек. В самой Android Studio открой SDK Manager
http://startandroid.ru/ru/uroki/vse-uroki-spiskom/9-urok-2-ustanovka-i-nastrojka-sredy-razrabotki.html
Вот же, самый первый урок. Тут даже написано, что именно тебе нужно будет скачать, какие пакеты.
Если у тебя Genymotion, то можешь не заморачиваться, с такой штукой, как AVD, но сначала разберись, что есть SDK, а что есть AVD.
Капец, мужик, как ты вообще работаешь там? Ты на шару что ль все жмешь?
Большое спасибо за наводку, анон. Годно. Я прошел стартандроид, эти курсы замечательно вписываются.
>>701995
Как ты начал бегинер курс, он же платный? Только неделя бесплатна.
Сам начал Developing Android Apps, доставляет.
Занимался созданием портфолио на гитхабе и маркете.
Со следующей недели планирую начать ходить на собеседования.
https://play.google.com/store/apps/details?id=bubal.tnote&hl=ru
Дианон кококо
Оставь какие-нибудь контакты, можно поделиться опытом, так сказать. Или скооперироваться и сделать что-нибудь вместе.
Если прям совсем бегиннер и в яве, и в андроиде, то спрашивай свои ответы пока здесь, проходи стартандроид. На первое время все возникающие вопросы это покроет.
Но если что интересно или появится желание попробовать сделать что-то вместе - пиши, мою почту найдешь на маркете.
В яве опыт есть, но не такой, чтоб пиздовать работать. В андройде, да, пока бегиннер.
Напишу тогда позже, ок.
Удачи с поиском работы, кстати.
Отпиши в тред об успехах
Анон, я почти такой же, как и ты!
https://play.google.com/store/apps/details?id=com.okunev.moviebase
https://play.google.com/store/apps/details?id=com.okunev.barcodescanner
А вот ещё, посложнее, но оно криво устанавливается, так как я не смог выбрать единого пути хранения файлов, поэтому удалил из плей маркета, поэтому не уверен, что оно вообще откроется у вас.
https://play.google.com/store/apps/details?id=com.okunev.lecturemanager
ДИВАНОН ПО ЧАСТИ УХА!
Одно из твоих приложений даже у меня в стране недоступно. Ничего себе ты элита
Активные/Количество установок.
Чтобы перед пацанами выпендриться
Barcode scanner будет существенно удобнее, если сделать запуск кнопкой питания.
Чтобы hr не лез на гитхаб и не компилил проект, а просто скачал из гп.
>>702813
Пох на удобность, это всё примеры же.
И они будут качать неизвестно какой апк, да? Ну грац. Гораздо удобнее на гп выложить.
И они будут качать неизвестно какой апк из стора, у которого 3 скачивания? Ты скриншоты в readme.md приложить не можешь?
1. Не факт, что их будет всего 3.
2. Приложение выглядит гораздо лучше на гп, даже если оно полное говно.
Если останавливаю музыку то при вызове play тишина, я правильно понимаю что нужно ещё что-то вызывать перед перезапуском?
при чём тут c++, там Java, пиши на ней игру, юзай поначалу canvas
Нужно переделать задачу написанную под андроид и добавить юнит тесты на ввод(постараться чтобы это выглядело как разработка по tdd).
Если кто готов помочь - оставляйте почту, там обсудим все подробности
Обфуцируешь свой апкашку, подписываешь свои сертификатом, без твоего сертификата они не смогут ее например обновлять. А не еще можно вставить какую-нибудь каку, типа пстоянного тоаста мол демо-версия. А вообще если захотят наебать - наебут. Так просто сложней и нужно будет возится с реверсинжинирингом.
Или же мне придется с запуском активити Б уничтожать фрагмент, который прикручен к активити А и заново его создавать, но только уже создавать его в активити Б?
>Удачи с поиском работы, кстати.
>Отпиши в тред об успехах
Спасибо, обязательно отпишусь.
>>702805
Третье приложение у меня в стране тоже недоступно. Давно в андроид вкатился?
>>702811
>Зачем выкладывать в стор свое говно?
Помимо тех причин, что сказали до меня, добавлю: затем, чтоб показать, что ты умеешь проходить полный цикл разработки - от прототипа до настройки рекламы и публикации в маркете.
>Ладно народ
>резюмех накидать
>я даже ебу
>нам, татарам, ЕДИН ХУЙ
>ША ЕБАТЬ ПАДНАСИТЬ
>ША ЙОБАННЫХ АТНАСИТЬ
Я что-то не понял смысла твоего гринтекста.
Я действительно не уверен как лучше заполнить резюме, по сути кроме андроид сдк, sql ничего и нету, с ndk не работал.
Следовательно что писать? Либы? Или что умею пользоваться авд?
Как уже сказали, первое обфускация, второе как вариант делать запрос на свой сервачок и тянуть оттуда значение тру или фолс и соответственно блоччить его.
Но вот если захотят то таки разберут и выпилят все ненужное, правда в обфусцированном коде разбираться сущая боль.
>Выставил активити в манифесте
>аndroid:screenОrientation="portrait"
>аndroid:configСhanges="oriеntation|keуboardHidden"
>все равно крутится
>минута фрустрации
>пишешь в onCreate перед suрer.onСreate
>setRequestedOrientation(АctivityInfo.SСREEN_ORIENTATION_PORTRAIТ);
Что это было и где логическое объяснение?
никак не поулчается сделать покупку с двумя выбранными товарами, приходит ответ с неверной сигнатурой. уже весь день долблюсь..
помогите аноны плз, дедлайн всё ближе
Новый layout, если в 2-х словах.
Как сделать, чтобы лидерборды отображались в Плэй играх?
Что я сделал не так?
Видимо настолько успешные, что обмазываются яблоками и никак не могут помочь с ведросервисами.
Алсо, у меня это первый релиз, до этого тоже угнетало .
Так что не отчаивайся, пили, релизь, станет легче.
>Проще некуда.
Твоих первых два приложение делаются за два вечера.
>По сравнению с тем, чем я сейчас занимаюсь - семечки.
Я честно говоря по посту не понял, третье приложение не открывается, а то что полноценная клиентсерверка с гугл сервисами - семечки, читать очень даже смешно. Так что будь добр, отпиши чтоб я благополучно обосрал то что ты делаешь.
Нет это не предолинг ндк конечно, но это и нихуя не легко.
Но клиентсерверка интереснее в 100000000 раз.
>первым приложением была клиентсерверка с бд, сервисами, картами, пушами
>пилил я ее месяца 4
>первым приложением
>месяца 4
И что в этом хорошего?
Напоминает подход СНГ-шных школьников-геймдевелоперов, лол.
Если что-то делать - то сразу свой клон Fallout или WoW. Сразу всего побольше и покруче. Вот только проблема в том, что такие ребята до конца обычно не доходят.
Ты - дошел, молодец.
Но это крайне не оптимальный подход к обучению и к разработке для студента, как с точки зрения работодателя (да и с любой другой в общем-то).
>Разработка с нуля своего layout, который автоматически обновляется.
Нет сириусли, сложнее в разы? А ю факинг кидинг ми?
Да я блять уверен что у тебя говно вместо архитектуры такое что ну тебя нахуй, у меня на самом деле тоже.
Я работал на парттайме первых месяца два. Потом на фул перешел, все в одно ебало.
Действительно, что хорошего в приобретении опыта по всем основным функциям ведра как клиентсерверки. Ну и на выходе сделал две апликухи, каждая со своими интересностями. Но опыта мне это дало явно дохуя.
Я уже поработал с колегами ведроидами и скажу честно, слишком много неособо шарящих, я работал за цену ниже рыночной, но вьебал я дохуя много и потом пошел на адекватную для меня зп. И нихуя это не легко было если честно. Но я и не хуй с горы, мозгов и терпения хватает.
Хотя я наверное охуел, просто посомтрев на первое приложение в плеймаркете - блокнот, меня коробит.
Та даже любой адаптер написать который будет обновлять что-то относительно логики как сделаны все вьюгрупы блять. Это чтоб не нырять в датабиндинг.
Работодатель прогер? Если нет то ты дурак тот еще. В хорошем смысле, так на будущее, сначала проверь все альтернативы перед тем как пердолить велосипед.
Там нырять не надо, берешь и пишешь, я серьезно, как только случится косяк - напишешь свой атрибут. Или используешь @BindinConversion, правда я сам видимо не очень правильно делаю, так как теперь все в статических методах нахуй. Но это потому что там в байндинг не вписать, просто быстрее получается, а в будущем можно будет перенести в нормальные методы.
>>703269
Ну ок, скажет в жопу ебаться - будешь? А вообще неважно, ДУ ЙОР ДЮТИ.
Ну биндинг нужно потраить обьязательно согласен, вот уйду с теперешней работы, возьму какой-то парттайм и уйду в изучение новых инструментов.
Rx - databinding - eventbus - еще какая-то хуйня для базы данных(cupboard чет доебал уже) ждет меня
А я вот что еще на днях подумал, какого хуя каждый раз парсится xml, почему нельзя на этапе компиляции эту хуйню в байткод спрятать, можно же будет расширять нормально, и тд. Вот для скалы и котлина завезли DSL.
EventBus при Rx не нужен, делаешь свой RxBus и все. не люблю ORM мне кажется для базы достаточно sqlite ну или realm.
>какого хуя каждый раз парсится xml
Ну тут не силен, но разве нету никакого кеша для иксемелек и инфлейт идет с нуля?
>>703279
>EventBus при Rx не нужен, делаешь свой RxBus и все.
Если можешь то дай какой-то более обширный ответ, я пока немного не понял, сам Rx пока для удобной многопоточки юзаю, еще не познал дзен.
>не люблю ORM мне кажется для базы достаточно sqlite ну или realm.
Ну капбоард не орм напрмиер, удобная надстройка для работы с обжектами, без лишней ебли. Правда сейчас понял что нихуя не понятно как работать с джоинами, да и что-то уникальные идентификаторы у меня не запахали. Но из контент провайдер из коробки бесценен.
А реалм я даже ебал трогать, столько уже говна в треде про него, что просто не хочу. Может когда сяду за кроссплатформу, или когда не пойму что он действительно полезен.
Начни с этого по rxbus:
http://nerds.weddingpartyapp.com/tech/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/
Вроде даже есть готовые решения.
Спасибо, но не могу промолчать.
>private final Subject<Object, Object> _bus
Почему так сложно следовать код конвеншену?
Да, но надо же было попробовать.
Говноеды хули.
буду
Может нарандомить?
>Экосистема нравится, у самого есть и iPhone 6S, и Nexus6.
Нахуй тебе работать?
А вообще очевидно иос, меньше мозгоеба.
Пол года изучаю андроид, каждый раз с таких постов припекает, что не начал учить iOS. Сейчас уже не хочется переходить, ибо время потрачено.
Та похуй на самом деле, сам год как пишу, в ведре слишком дохуя костылей для самого ведра.
бамп, оче срочно
> java / obj-c
> Нравится и тот язык, и другой
Ты странный это же нестрогая типизация / куча бойлерплейта и оба гавно-мамонта.
Адекватам я бы предложил кросплатформенную разработку на RoboVM + Kotlin.
Это копия, сохраненная 25 апреля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.