@android_ru

Страница 554 из 3205
Alexey
16.11.2016
16:04:28
ладно пора сваливать позже посмотрю

Ivan
16.11.2016
16:16:53
@InjectViewState как вариант, можешь самоподписать сертификат. делал я гист на эту тему: https://gist.github.com/kenrube/0d21b8346f326e17eefebe2aad251dbc

Google
Ivan
16.11.2016
16:28:05
да, я там сверху коммент подписал, как сертификат сграбить: echo -n | openssl s_client -connect server:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./res/raw/cert.crt

ну и в res/raw его засунуть

Alexey
16.11.2016
16:28:21
В несколько сервисов ходить надо

Отдельный okhttp клиент создавать на каждый сервис?

Konstantin
16.11.2016
16:29:40
бля, java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. чо в okhttp3 теперь надо обязательно эту дрочь с ssl ?
У меня через ретрофит 2 в связке с okhttp3 на url https все отлично работает, без танцев с бубном

Alexey
16.11.2016
16:30:19
Ну конечно даггер помогает в этом

Ivan
16.11.2016
16:30:50
У меня через ретрофит 2 в связке с okhttp3 на url https все отлично работает, без танцев с бубном
если с сертификатом все норм, должно взлетать по идее без проблем. в моем случае сертификат был невалидный на тестовом серваке

пришлось поизвращаться

Google
Alexey
16.11.2016
16:30:57
Ну я уже делал ask pinning было дело

Daniil
16.11.2016
19:33:55
у меня вопрос. Есть плейлист. В нем есть объекты класса Track. В объектах класса Track есть референс на объект класса TrackInfo. Так вот. Вопрос: как реализовать сортировку по различным полям объектов класса TrackInfo? Я решил что в классе TrackInfo должны быть реализованы Comparator'ы для различных условий. Например CompareByArtist. Поидеи это было бы логично, посколько класс TrackInfo должен уметь работать со своими полями, а вот классу Track и всем, кто по иерархии выше знать о полях TrackInfo вообще не к чему. Все вроде бы хорошо. Делаю реализацию для TrackInfo, одноименную реализацию для Track и начинаются проблемы. Проблема #1 у интерфейса Comparator есть нереализованный метод public int compare(). Он не статический (по вполне понятным причинам). Следовательно для реализации сортировки по одному из параметров уровнем выше - я должен либо создать instance объекта, в котором реализована сортировка уровнем ниже. Либо сделать статический метод, в котором и делать сортировку. Проблема #2 Вся гибкость и красота идет боком ибо я прибиваюсь гвоздями к конкретной реализации класса TrackInfo... Короче я просто запутался. Как делают это нормальные адекватные люди. Сейчас скину кусок кода.

а, TrackInfo сейчас даже как final объявлен... Тогда второй вопрос отпадает

*вторая проблема

public final class Track { ... public static final class TrackInfo { ... public static class CompareByArtist implements Comparator<TrackInfo> { @Override public int compare(TrackInfo t1, TrackInfo t2) { return doTheCompare(t1, t2); } public static int doTheCompare(TrackInfo t1, TrackInfo t2) { return t1.songName().compareTo(t2.songName()); } } ... } ... public static class CompareByArtist implements Comparator<Track> { @Override public int compare(Track t1, Track t2) { return TrackInfo.CompareByArtist.doTheCompare(t1.info(), t2.info()); } } ... }

я чую что я пишу дикие кривые костыли, натолкните на путь истинный

Vitaliy
16.11.2016
19:38:27
Пишешь

Daniil
16.11.2016
19:38:43
а как тру-господа реализуют данный функционал

Vitaliy
16.11.2016
19:39:32
`public final static CompareByArtist = new Comparator<TrackInfo>() { @Override public int compare(TrackInfo t1, TrackInfo t2) { return t1.songName().compareTo(t2.songName()); } };`

Упрощайте =)

Daniil
16.11.2016
19:40:04
но мне же надо сравнивать между собой Track а не TrackInfo

есть коллекция в которой лежат Track`и, а не `TrackInfo

Vitaliy
16.11.2016
19:40:21
Ну параметризуй его Track'ом

Andre
16.11.2016
19:40:25
Ну так поменяй дженерик на Track

Vitaliy
16.11.2016
19:40:42
Вообще, код нормальный, не костыльный.

Просто реализовать его можно проще =)

Daniil
16.11.2016
19:42:16
типо так? public static class CompareByArtist implements Comparator<Track> { @Override public int compare(Track t1, Track t2) { return t1.info().artist().compareTo(t2.info().artist()); } }

info() - вернет TrackInfo

но в таком же случаи как-то не оопэшно получается. Track зачем-то знает как сравнивать между собой TrackInfo. Это же наверное TrackInfo должен предоставить интерфейс для сравнения?

или я перегибаю палку?

Google
Vitaliy
16.11.2016
19:44:38
Сделай ты уже этот класс анонимным

Если ты хочешь, чтобы TrackInfo имел интерфейс для компаринга, сделай его точно так же анонимным статическим полем

В нем

Daniil
16.11.2016
19:45:41
/me ушел гуглить что есть анонимный

Vitaliy
16.11.2016
19:45:45
И тут просто делегируй compare ему

То, что я написал

Скопипасть код

return TrackInfo.Comparator.compare(t1.info().artist(), t2.info().artist());

Daniil
16.11.2016
19:46:37
а понял

спасяб

Nikita
16.11.2016
20:49:18
Здравствуйте. Возникла проблема с регулярками, которую я не могу решить: https://gist.github.com/LionZXY/e089ccbd0afd726dc09a44d53b3c0ea1 Exception: Exception in thread "main" java.lang.IllegalStateException: No match found at java.util.regex.Matcher.group(Matcher.java:536) at Main.main(Main.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Не могли бы вы помочь?

Nikita
16.11.2016
20:55:38
Ну это и есть весь код

Vitaliy
16.11.2016
20:55:48
Наверняка ты пытаешься получить группы, не узнав, есть ли они вообще

Nikita
16.11.2016
20:55:59
Так скинул же код :)

https://gist.github.com/LionZXY/e089ccbd0afd726dc09a44d53b3c0ea1

Vitaliy
16.11.2016
20:56:16
Сорри, не заметил

Google
Vitaliy
16.11.2016
20:56:25
Проверь регексп на онлайн-сайтах

Roman
16.11.2016
20:56:42
Так скинул же код :)
http://regexr.com/ Быстрее получится

Так скинул же код :)
Или вот еще гуд https://regex101.com/

Nikita
16.11.2016
20:57:21
СПАСИБО

Vitaliy
16.11.2016
20:58:00
Надо ещё проверить вызовом matches()

Типа совпадает ли

Nikita
16.11.2016
20:58:06
Все работает

Vitaliy
16.11.2016
20:58:17
И если нет, то не дергать группы

Nikita
16.11.2016
21:00:42
Но мне то нужно разобраться почему он не проходит :)

Мне бы ключ выдрать

Daniil
16.11.2016
21:05:25
у меня твой пример работает

https://gist.github.com/matrixd/f07c3e58761e3ec6d98c22c55dc09ac8

m0x35@m0x35-pc> /opt/jdk/bin/javac Regex.java ~/tmp m0x35@m0x35-pc> java Regex ~/tmp NAME="logout_id" TYPE="hidden" VALUE="320f14a7207dc6d1">

а вообще ты наверное хотеел вот так? m0x35@m0x35-pc> java Regex 320f14a7207dc6d1

Надо ещё проверить вызовом matches()
тут не взетит Attempts to match the entire region against the pattern.

Nikita
16.11.2016
21:28:09
Во

Спасибо

Я криворук

Google
Nikita
16.11.2016
21:28:52
Лови звездочку

Daniil
16.11.2016
21:29:08
:3

Sergey
16.11.2016
22:03:42
Работал ли кто с card.io?

у меня не запускается их камера, открывается только активити из ручным вводом данных

в логах I/card.io: Processor not Supported. Skipping camera.

wtf? Девайс Nexus 5 на API 23

Quarx2k ?
16.11.2016
22:14:03
Может они пермишены не запрашивают?

Вручную через настройки выставить

Andre
16.11.2016
22:14:33
Sergey
16.11.2016
22:14:47
я это прочитал

но Nexus 5? Snapdragon проц

> из кода card.io private static boolean usesSupportedProcessorArch() { return nUseNeon() || nUseTegra() || nUseX86(); }

и где arm-v7?

сошка есть же

Quarx2k ?
16.11.2016
22:21:03
snap под неон попадает

Sergey
16.11.2016
22:22:33
оно считает по другому видимо

Страница 554 из 3205