@xamarin_russia

Страница 504 из 619
Max
07.08.2018
12:17:41
Жалко. Идея сама по себе неплохая
Да, только пока ее доработают пройдет уйма времени

через пару там релизных веток.. где-нибудь к выходу 6-го XF

Arsen
07.08.2018
12:19:42
Привет. Подскажите, а как насчёт автогенерации клиента по WSDL для SOAP-сервиса в Xamarin-е?
Если библиотека PCL, то будут проблемы, нужно будет в настройках убрать галочку с uwp и WP. Как на net standard дела обстоят не знаю

Peter
07.08.2018
12:20:31
Кстати, в 2017 студее PCL нет вовсе и на MSDN помечен как Deprecated.

Google
Peter
07.08.2018
12:20:35
А кто в двух словах объяснит, что лучше выбрать shared project или .net standard при создании первого проекта?

Peter
07.08.2018
12:22:37
Ок. Спасибо. Попробую.

Ilyaw
07.08.2018
12:27:16
ImageView c gif не работает?

Ivan
07.08.2018
12:29:54
это как теплое и мягкое - 2 разные вещи
Ммм? вроде как это два разных подхода для оргизации кроссплатформенного кода. Так, что скорее не теплое и мягкое, а «новое и устаревшее»

Kirill
07.08.2018
12:30:16
ImageView c gif не работает?
Работает, но отображает только первый кадр, анимации не поддерживаются из коробки

Ммм? вроде как это два разных подхода для оргизации кроссплатформенного кода. Так, что скорее не теплое и мягкое, а «новое и устаревшее»
не сказал бы, что Shared - устаревшее. Это именно другое. Это по сути часть нативного проекта, а net standart - кроссплатформенная независимая библиотека.

Ivan
07.08.2018
12:32:04
pcl !=shared

Ilyaw
07.08.2018
12:32:17
Работает, но отображает только первый кадр, анимации не поддерживаются из коробки
Да, заметил что толкьо первый кадр отображается и все Не подскажите тогда как быть? У меня слайдер ViewFlipper, нужно загрузить буквально 3 гифки

Эльнас
07.08.2018
12:32:26
А кто в двух словах объяснит, что лучше выбрать shared project или .net standard при создании первого проекта?
кстати правда что .net standard адекватнее работает в лайв плеере, чем shared project?

Kirill
07.08.2018
12:33:00
Да, заметил что толкьо первый кадр отображается и все Не подскажите тогда как быть? У меня слайдер ViewFlipper, нужно загрузить буквально 3 гифки
Ну не стандартный ImageView использовать, а другой контрол, который поддеривает Gif анимации. Их много.

pcl !=shared
ну да. Net Standart это революция идеи PCL

Google
Ivan
07.08.2018
12:33:45
вот вот

Эльнас
07.08.2018
12:33:51
просто щас трабла в лайв плеере, а по другому дебажить неудобно, думаю мб проблема в том, что я создал shared а не .net standard, есть хоть чуть чуть правды что это может помочь?

Ivan
07.08.2018
12:35:56
и правда, вопрос был не про pcl) туплю

Kirill
07.08.2018
12:36:04
Какой контрол например? Если знаете
https://github.com/bumptech/glide как вариант. Вроде в NuGet был байндинг под Xamarin

Ivan
07.08.2018
12:44:30
да -да, я криво прочитал как «PCL vs .netStandard»

Artem
07.08.2018
16:08:02
Ребят, кто-нибудь может подсказать решение как сделать карусель с fish eye эффектом?

Artem
07.08.2018
16:19:07
https://github.com/alexrainman/CarouselView
Не, это обычный контрол, такой не подходит, нужно чтобы было видно соседние элементы, а выбранный был увеличенным

Андрей Родионович
07.08.2018
16:20:32
Такого не видел Есть ещё что то такое https://github.com/AndreiMisiukevich/CardView

Boris
07.08.2018
16:29:25
Многие жалуются на производительность, но поверь, они шутят

Андрей Родионович
07.08.2018
16:45:57
PanGestureRecognizer бери и делай что захочешь
А как в таком случае отлавливать released Типо передвинул, мы поймали это рекогнайзером, потом отпустил палец и как это отловить?

Походу нашел GestureStatus.Completed:

)

Boris
07.08.2018
16:47:57


Kirill
07.08.2018
16:53:06
PanGestureRecognizer бери и делай что захочешь
Разумно. Действительно не так сложно реализовать.

Google
Андрей Родионович
07.08.2018
16:54:07
Подскажите, чем canceled от completed тут отличается?

Kirill
07.08.2018
16:55:59
Подскажите, чем canceled от completed тут отличается?
Cancelled - допустим повернули устройство и экран перевернулся. Completed - пользователь отпустил палец.

Андрей Родионович
07.08.2018
16:57:17
Понял, спасибо большое

Max
07.08.2018
21:11:50
Kirill тут?

Kirill
07.08.2018
21:12:05
mute
07.08.2018
21:12:46
люди. на ровном месте HttpClient начал выдавать вот это на андроиде An error occurred while sending the request Error getting response stream (ReadDone4): ServerProtocolViolation на иоси все норм работает

Max
07.08.2018
21:12:52
Kirill
07.08.2018
21:13:30
А откуда взялись подозрения на мою либу?

Max
07.08.2018
21:14:01
А откуда взялись подозрения на мою либу?
ну я попытался ее заюзать и где-то внутри оно падает на RgGesture

вот и спрашиваю в чем может быть трабл

Kirill
07.08.2018
21:15:44
https://www.jon-douglas.com/2016/09/23/xamarin-android-multidex-keep/

Max
07.08.2018
21:16:30
Похоже на проблему с multidex
включен, это правда

Kirill
07.08.2018
21:17:21
Почитай, должно помочь

Max
07.08.2018
21:19:19
Почитай, должно помочь
А сборщик автоматом подрубит Multidex, даже если выключил, при необходимости?

Kirill
07.08.2018
21:20:52
А сборщик автоматом подрубит Multidex, даже если выключил, при необходимости?
Нет, если выключишь multidex не будет юзаться, но и собрать ты не сможешь если превысишь ограничение 16 бит

Kirill
07.08.2018
21:23:45
понял
Как я понял, этот баг происходит, когда твой код ссылается на класс когда еще classes2.dex еще не загружен в память. RgGestureDetectorListener скорее всего находится у тебя именно в нем

Kirill
07.08.2018
21:25:58
да возможно это еще IoC контейнер шалит
Не думаю, RgGestureDetectorListener твой код ни как не может вызвать вручную, так как он internal. Попробуй решить проблему методом, что я скинул через keep файл

Google
Kirill
07.08.2018
21:26:36
Но будь осторожен, он перезаписывать автоматически генерируемый keep файл, с ним нужно быть аккуратней

Kirill
07.08.2018
21:27:14
А, ну, SQLite
А как EF с ней кстати?) Слишком сильно плохо или юзать для 100-300 записей нормально?

Буквально 4 таблицы без сложных запросов

Max
07.08.2018
21:28:36
А как EF с ней кстати?) Слишком сильно плохо или юзать для 100-300 записей нормально?
не знаю, не использовал EF на мобилке. У меня там нативными методами до 200мб Row координат лежит и ничего

при этом живет себе спокойно

mute
07.08.2018
21:36:44
ребят. NativeHttpHandler на андроиде вылетает с Java.IO.IOException при отмене запроса по токену. эту штуку как-то можно обойти? добавить моно.андроид в пцл и там ловитю?))

Admin
ERROR: S client not available

Boris
08.08.2018
01:58:32
Alex
08.08.2018
02:48:44
Ребята, как защитить своё приложение от анализа запроса к серверу сниферами? Можно ли зашифровать адрес сервера и методы рест апи в приложении, чтобы при дизасамблировании третье лицо не получило доступ ?

Iván
08.08.2018
03:19:37
security through obscurity не работает, см. форумы хаков и ботов к онлайн играм

mute
08.08.2018
05:30:36
Наверное проще просто по имени/месседжу фильтрануть, чем тянуть не нужную либу еще и в iOS
на иосе то понятно почему. манагед вроде в ссл не умеет. другой вопрос почему он сбросился на манагед в проекте. но андроидовский то работает

переключение на нативную реализацию проблему решает, но возникает другая. java.io.ioexception при отмене запроса

Boris
08.08.2018
05:37:24
Ну, ты же можешь java.io.ioexception отловить через просто try catch и дальше .GetType().Name ==

mute
08.08.2018
05:42:14
т.е. try {} catch (Exception e) { e.GetType().Name == "java.io.IOException" } ?

Boris
08.08.2018
05:44:41
Да, как-то так наверное. Нужно конечно подебажить и посмотреть что реально Name так выглядит в этом случае

if (e.GetType().Name != "java.io.IOException") throw;

Чтобы другие ошибки выше пробрасывались

mute
08.08.2018
05:45:59
ну варик да. чота забыл что рефлексия есть) попробую погляжу чобудет. спасибо!

Google
Pavel
08.08.2018
06:27:24
/

Boris
08.08.2018
07:25:44
Вообще есть служебный оператор is
(напомню что речь о проверке джавовского экспешна в портабельной сборке)

Кита
08.08.2018
07:29:06
И обработка ошибок только в портабл части тоже ошибка. Есть специфичные эксепшны для Android и iOS

mute
08.08.2018
07:42:16
но я не использую свои хендлеры. просто HttpClient без кастомизаций

сделать платформенные HttpClientHandlerы и пробрасывать через DI/DS ?

Кита
08.08.2018
07:45:36
сделать платформенные HttpClientHandlerы и пробрасывать через DI/DS ?
да. Можно там же в реализации nativehandler сделать метод куда будет пробрасываться Exception

в ios если юзать обновленный modernhttpclient могут приходить System.Net.WebException, а в андроиде приходят Java.Net.SocketException Java.Net.ConnectException Java.IO.IOException Java.Net.ProtocolException Java.Net.HttpRetryException Java.Net.MalformedURLException Java.Net.NoRouteToHostException Java.Net.SocketTimeoutException Java.Net.UnknownServiceException Java.Net.PortUnreachableException

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

mute
08.08.2018
08:00:26
ок. а как расширить имеющийся? вот в настройках указан HttpClient implementation = android. под капотом там okhttp. если я в андроид проекте отнаследуюсь от HttpClientHandler и прокину его в pcl, то это же все не сломатся?)

Кита
08.08.2018
08:03:30
с нуля писать?
https://github.com/alexrainman/ModernHttpClient

ну так и в каком месте они ловятся?
try { result = await _client.SendAsync(твой RequestContent); result.EnsureSuccessStatusCode(); // for getting exception } catch (HttpRequestException exc) { switch((int)result.StatusCode) { case 429: throw new TooManyRequestsException(exc.Message); case (int)HttpStatusCode.BadRequest: throw new BadRequestException(exc.Message); case (int)HttpStatusCode.Unauthorized: throw new UnauthorizedException(exc.Message); case(int) HttpStatusCode.Forbidden: throw new ForbiddenException(exc.Message); case (int)HttpStatusCode.NotFound: throw new NotFoundException(exc.Message); case (int)HttpStatusCode.RequestTimeout: throw new TimeOutException(exc.Message); case (int)HttpStatusCode.InternalServerError: case (int)HttpStatusCode.NotImplemented: case (int)HttpStatusCode.BadGateway: case (int)HttpStatusCode.ServiceUnavailable: case (int)HttpStatusCode.GatewayTimeout: case (int)HttpStatusCode.HttpVersionNotSupported: throw new ServerErrorException(exc.Message); } throw new DataException(exc.Message); } catch (Exception exc) { exc = EnsureNativeException(exc); throw new DataException(exc.Message, exc); }

примерно что-то в этом стиле

Страница 504 из 619