
Михаил
06.02.2017
15:51:47
не хочу чтоб все кому не лень в фоне хреначили

Daniil
06.02.2017
15:52:31
удивительно. Ксяоми на miui же. В свое время я ставил miui ибо у меня на телефоне было мало памяти и становилось лучше)

Igor
06.02.2017
15:52:31
чем сяоми не угодили?)
Самсунг тоже хорошо - вчера скидывали видос про тормоза скрола в топовых сансунгах.
А лет 5 назад, помню меня дизайнеры доеб### over-скролом самсунгов (стыреным из ios).

Google

Daniil
06.02.2017
15:57:07
а меня еще и с чисто пользовательской точки зрения убивают дройды на других телефонах. Вот есть чистый дройд. Ну в худшем случаи есть дройд с gapps. А есть еще прошивки от любимого производителя с яндекс-барами зашитыми по-дефолту и другим мусором. Как там сейчас не знаю - но год другой назад, буд-то бы задачей каждого было напихать рекламного софта и перепилить лаунчер чтоб "не как у всех"
ну и конечно медленные обновления + быстрое забивание на обновление в целом. Даже на гугло телефоны распространаяется. Вот у меня на телефоне 6.х.х сейчас, а 7 походу уже не будет.

Bogdan
06.02.2017
15:58:51
может кто знает есть ли что-то для просмотра андроидовских векторов? декомпилировал приложение и тут все на векторах

Daniil
06.02.2017
15:58:58
Вообще надо будет собраться с силами и почитать как этот дройд собирать и что для этого надо

Quantum Harmonizer
06.02.2017
15:59:01

Bogdan
06.02.2017
15:59:52

Quantum Harmonizer
06.02.2017
16:00:16


J
06.02.2017
16:01:28
эт как?
Поясню на сферическом примере в вакууме.
Рассмотрим работу с файлами. Тут вопреки обещаниям Java разрабов, случился жёсткий фейл и файлы на разных системах работают по разному. Например в линуксе палки в одну сторону гнуться, а в винде в другую. Полюс есть андройд, который любил (во всяком случае на API < 3.0) поёбывать мозги странными спобоми работы с файлами (особенно по части обхода содержимого папки assets внутри APK).
Решение которое напрашивается: написать нормальный API для работы с файлами, который будет одинаково пиздато функционировать на всех платформах (Unix, Win, Android), а также и на всяких мутных темах вроде InMemoryFileSystem, S3Bucket, Android APK, ZIP, TAR... и так далее.
Потом ты пишешь все свои приложения с использованием этого API.
А для каждой платформы делаешь его отдельную имплементацию в комплекте со всем костылями (это в данном случае называется бэкенд).
Если случаются баги то фиксить придётся не твоё приложение, а только бэкенд.
Что-то подобное и сделано в libGDX у них там есть универсальный API для разработки игр и куча бэкендов, которые берут на себя огонь артиллериии, и отбиваются костылями от особенностей платформ, частично защищая, тем самым твою команду, от гимора.


Quantum Harmonizer
06.02.2017
16:08:11
Поясню на сферическом примере в вакууме.
Рассмотрим работу с файлами. Тут вопреки обещаниям Java разрабов, случился жёсткий фейл и файлы на разных системах работают по разному. Например в линуксе палки в одну сторону гнуться, а в винде в другую. Полюс есть андройд, который любил (во всяком случае на API < 3.0) поёбывать мозги странными спобоми работы с файлами (особенно по части обхода содержимого папки assets внутри APK).
Решение которое напрашивается: написать нормальный API для работы с файлами, который будет одинаково пиздато функционировать на всех платформах (Unix, Win, Android), а также и на всяких мутных темах вроде InMemoryFileSystem, S3Bucket, Android APK, ZIP, TAR... и так далее.
Потом ты пишешь все свои приложения с использованием этого API.
А для каждой платформы делаешь его отдельную имплементацию в комплекте со всем костылями (это в данном случае называется бэкенд).
Если случаются баги то фиксить придётся не твоё приложение, а только бэкенд.
Что-то подобное и сделано в libGDX у них там есть универсальный API для разработки игр и куча бэкендов, которые берут на себя огонь артиллериии, и отбиваются костылями от особенностей платформ, частично защищая, тем самым твою команду, от гимора.
> берут на себя огонь артиллериии, и отбиваются костылями от особенностей платформ
С таким слогом надо тематические статьи писать :)


Daniil
06.02.2017
16:11:55
Поясню на сферическом примере в вакууме.
Рассмотрим работу с файлами. Тут вопреки обещаниям Java разрабов, случился жёсткий фейл и файлы на разных системах работают по разному. Например в линуксе палки в одну сторону гнуться, а в винде в другую. Полюс есть андройд, который любил (во всяком случае на API < 3.0) поёбывать мозги странными спобоми работы с файлами (особенно по части обхода содержимого папки assets внутри APK).
Решение которое напрашивается: написать нормальный API для работы с файлами, который будет одинаково пиздато функционировать на всех платформах (Unix, Win, Android), а также и на всяких мутных темах вроде InMemoryFileSystem, S3Bucket, Android APK, ZIP, TAR... и так далее.
Потом ты пишешь все свои приложения с использованием этого API.
А для каждой платформы делаешь его отдельную имплементацию в комплекте со всем костылями (это в данном случае называется бэкенд).
Если случаются баги то фиксить придётся не твоё приложение, а только бэкенд.
Что-то подобное и сделано в libGDX у них там есть универсальный API для разработки игр и куча бэкендов, которые берут на себя огонь артиллериии, и отбиваются костылями от особенностей платформ, частично защищая, тем самым твою команду, от гимора.
По сути то что ты описал называют фреймворком. Я правильно понял твой посыл?

Google

Quantum Harmonizer
06.02.2017
16:12:52

Daniil
06.02.2017
16:18:28


J
06.02.2017
16:21:22
По сути то что ты описал называют фреймворком. Я правильно понял твой посыл?
вообще-то нет
framework архитектура предоставляет споб запуска твоего приложения. фреймворк - это тот кто будет запускать твой код через условный API который твоё приложение имплементирует.
в примере выше про фреймворк ничего не говорится.
просто твоё приложение вызывает и использует красивую API-обёртку для какого-то говнокода, о котором оно ничего не хочет знать.
при этом имплементации обёртки могут быть взаимозаменяемы и теоретически могут даже подключаться в рантайме. никак не мешая компиляции.
(в этом смысле, кстати, мне не нравится решение libGDX - так как у них и работа с файлами и OpenGL - всё в одну кучу)


Igor
06.02.2017
16:27:41
Вообще для этого мы и пишем на JVM что бы платформенное api было скрыто.
Жалко только для UI не придумали такого, а есть только низкоур. OpenGL. И то его нет на Windows Phone (там DirectX).
Имхо это одна из самых больши проблем WP - хочу свою игру им несчастным ? портануть, а нельзя (ANGLE сейчас не расмариваем).

Quantum Harmonizer
06.02.2017
16:29:44

J
06.02.2017
16:29:59

Igor
06.02.2017
16:30:14

Quantum Harmonizer
06.02.2017
16:31:56

Igor
06.02.2017
16:32:00

peter
06.02.2017
16:32:16
Парни, может кто-то пояснить за настройки приложения, вот допустим есть у меня фрагмент кода в активити который проигрывает текст кнопки. Хочу сделать активити с настройками и там чекбокс который бы отключал и включал эту возможность. Где бы прочитать про это поподробнее?

J
06.02.2017
16:32:46

Quantum Harmonizer
06.02.2017
16:32:58

peter
06.02.2017
16:34:09

Igor
06.02.2017
16:34:15

J
06.02.2017
16:34:36

Quantum Harmonizer
06.02.2017
16:34:56

Igor
06.02.2017
16:35:08
И в Java есть File(File, "") и тд

Quantum Harmonizer
06.02.2017
16:36:01
ну это я уже не застал, но думаю это не правда
жрёт, но, например, escaping в cmd ебанутый https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java#L284

Google

J
06.02.2017
16:40:41
например ты качаешь файы с сервера http:www.server.com/org/pidroid/pkg1/ui/huai/
и раскладываешь их по папкам локально
ты решил спуститься вниз по папкам /org/pidroid/pkg1/ui/huai/
надо заменить точки на палки
но в яве палки винды это эскейп символ
плюс их надо дублировать так как палка=палка палка
а если делать replaceAll
то надо ещё дублировать
и там начинается какаято ебатня с replaceAll("/////////","////////////////////////////////")
(щас уже не помню детали но чото такое, да)

Quantum Harmonizer
06.02.2017
16:41:37
ещё в венде нельзя файлы с двоеточиями и вопросительными знаками)

Igor
06.02.2017
16:41:59
File.separatorChar

J
06.02.2017
16:42:29

Igor
06.02.2017
16:44:01
категорически согласен
вообще воздерживаюсь чего-то с говном есть

J
06.02.2017
16:44:23
какбэ если подумать, то File.separatorChar - это костыль, иначе цель его существования - загадка

Quantum Harmonizer
06.02.2017
16:45:16
ну вот поэтому у JetBrains есть toPlatformDependentPath

J
06.02.2017
16:46:16
File.separatorChar
Рассмотрим разворот палок в Винде:
final String input = "A/B/C/D/E/F/G/H/";
Log.d("input", input);
final String result = input.replaceAll("/", File.separatorChar + "");
Log.d("result", result);

Alex
06.02.2017
16:54:39

J
06.02.2017
16:55:01

J
06.02.2017
16:55:38
в винде надо делать
final String result = input.replaceAll("/", File.separatorChar + "" + File.separatorChar);
код выше работает ток для линукса

Quantum Harmonizer
06.02.2017
16:57:27
+ "" + — WTF?
а, чтоб чары в инт не сложились)

Igor
06.02.2017
16:58:25
Может стоит воспользоваться Pattern.quote()

J
06.02.2017
16:58:55
пойдём дальше
final String input = "A\\B\\C\\D\\E\\F\\G\\H\\";
хотим удвоить палки
но они уже удвоины

Google

J
06.02.2017
16:59:11
или нет?
не понятно
протестим

Quantum Harmonizer
06.02.2017
16:59:18

J
06.02.2017
16:59:30
final String result = input.replaceAll("\\\\","" + File.separatorChar + File.separatorChar + File.separatorChar + File.separatorChar);
так работает норм

Quantum Harmonizer
06.02.2017
17:00:36
Pattern.quote("" + File.separatorChar + File.separatorChar)
хотя зачем две палки?

J
06.02.2017
17:02:33
просто каждый раз когда работаешь с путями пиши if(Unix){....}else if WIN{}

Admin
ERROR: S client not available

J
06.02.2017
17:03:21
для уверенности

Alex
06.02.2017
17:04:08
Мне кажется, джава умеет валидировать имена и пути для файлов из коробки, платформонезависимо.
Но это не точно.

Igor
06.02.2017
17:04:23
Судя по коду с путями вообще не стоит работать как со строкам (для этого в java есть классы File/Path)

J
06.02.2017
17:04:51
хотя зачем две палки?
ну если ты строку считал из файла, то палки пропадают и получается
File not found: C:folder1folder2folder3file1.txt

Quantum Harmonizer
06.02.2017
17:07:43

J
06.02.2017
17:09:01
кароче всякая хуйня случается

Quantum Harmonizer
06.02.2017
17:10:52
? для начала стоит разобраться, почему они пропадают

J
06.02.2017
17:12:46
кароче там отдельный жанр на стековерфлоу
http://stackoverflow.com/questions/13714722/replaceall-with-file-separator
половина чуваков пишет "а у меня работает"
вторая половина шлёт советы
Try this:
File file = new File(classLoader.getResource(inputFilesFolder + filename).toURI());

Google

J
06.02.2017
17:17:53
риторический вопрос: почему ваще такие топики есть на СтекрОверфлоу
жава же кросплатформ

Igor
06.02.2017
17:18:51

Quantum Harmonizer
06.02.2017
17:19:12

J
06.02.2017
17:19:51

Quantum Harmonizer
06.02.2017
17:20:39

J
06.02.2017
17:21:26
как бы не стоило

Quantum Harmonizer
06.02.2017
17:22:23

J
06.02.2017
17:23:19

Quantum Harmonizer
06.02.2017
17:24:21

J
06.02.2017
17:27:00

Quantum Harmonizer
06.02.2017
17:27:45

J
06.02.2017
17:28:38
`
давай про \n
что это за символ
SPECIAL_CHARS.NEW_LINE
зачем говнокодить \n нарушая ООП

Илья
06.02.2017
17:32:15
Тогда уж надо String s = Char.T + Char.E + Char.X + Char.T

J
06.02.2017
17:36:59