
Andrey
26.02.2017
07:48:01
Девайсы

IM2STRNG4DTWRLD
26.02.2017
07:48:08
Развораяивается же на устройстве, я правильно понял?
Или оно с эмулятором работает?

Andrey
26.02.2017
07:49:10
Кастомные в горилле можно настроить, но надо тащить её в проект. Иногда некогда, иногда мешает и прочее

Google

Ivan
26.02.2017
07:49:30
связка такая:
VS с плагином -> "сервер" в трее на ПК -> устройство (или несколько) с "плейером"
во время верстки все видно на устройствах в реальном времени
можно видеть сразу и на андроид и на айос и на планшетах
одновременно

Yury
26.02.2017
10:29:43
Причем у меня community версия


Ssjuk
26.02.2017
10:58:04
всем привет! ребята, кто может помочь с таким вопросом: использовал HttpClient для загрузки файлов на сервер, сейчас хочу перейти на WebClient для того, чтобы была возможность отслеживать процесс загрузки файла с целью отображения этого в прогресс баре, но у меня не получается сделать вообще загрузку файла на сервер через WebClient
вот рабочий код HttpClient
foreach (var i in files)
{
using (var client = new HttpClient())
{
using (var content = new MultipartFormDataContent())
{
var values = new[]
{
new KeyValuePair<string, string>("lid", App.user.lid),
new KeyValuePair<string, string>("job", jobId),
new KeyValuePair<string, string>("type", 1.ToString()),
};
foreach (var keyValuePair in values)
{
content.Add(new StringContent(keyValuePair.Value), keyValuePair.Key);
}
while ()
{
var fileContent = new StreamContent(i.GetStream());
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = i.Path,
};
if (i.Path.ToLower().Contains("mov") || i.Path.ToLower().Contains("mp4") || i.Path.ToLower().Contains("m4v"))
{
int format = i.Path.ToLower().LastIndexOf('.');
string form = i.Path.ToLower().Substring(format + 1);
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("video/" + form);
}
else
{
int format = i.Path.ToLower().LastIndexOf('.');
string form = i.Path.ToLower().Substring(format + 1);
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/" + form);
}
content.Add(fileContent);
var requestUri = "http://***.com/upload";
var result = await client.PostAsync(requestUri, content);
//await Task.Delay(100);
}
}
}
}
вот что я пытаюсь сделать
foreach (var f in files)
{
WebClient client = new WebClient();
//byte[] bytes = new byte[f.GetStream().Length];
//f.GetStream().Read(bytes, 0, (int)f.GetStream().Length);
NameValueCollection parameters = new NameValueCollection();
parameters.Add("lid", App.user.lid);
parameters.Add("job", jobId);
parameters.Add("type", 1.ToString());
client.QueryString=parameters;
client.Headers.Add("Content-Disposition", "attachment; filename=\"" + f.Path.Substring(f.Path.LastIndexOf('/')+1)+"\";");
if (f.Path.ToLower().Contains("mov") || f.Path.ToLower().Contains("mp4") || f.Path.ToLower().Contains("m4v"))
{
int format = f.Path.ToLower().LastIndexOf('.');
string form = f.Path.ToLower().Substring(format + 1);
//client.Headers.Add("Content-Type", "video/" + form);
client.Headers.Add(HttpRequestHeader.ContentType, "video/" + form);
}
else
{
int format = f.Path.ToLower().LastIndexOf('.');
string form = f.Path.ToLower().Substring(format + 1);
//client.Headers.Add("Content-Type", "image/" + form);
client.Headers.Add(HttpRequestHeader.ContentType, "image/" + form);
}
var response= client.UploadFile(new Uri("http://***.com/upload"), "POST", f.Path);
}


Andrey
26.02.2017
11:02:04
Вот нахрена такие портянки в чат кидать, когда есть gist.github и pastebin. И кстати больше чем уверен что гугл и стаковерфло учше бы ответили на этот вопрос.

Кита
26.02.2017
11:03:30
угу
тут никто это читать не будет

Google

Ssjuk
26.02.2017
11:03:42
в следующий раз обязательно залью на github, если бы гугл или стековерфло ответили на этот вопрос я бы сюда не писал

Akhmed
26.02.2017
11:03:52
http://stackoverflow.com/questions/20661652/progress-bar-with-httpclient

Ssjuk
26.02.2017
11:06:23

Nikolay
26.02.2017
13:12:26
Случайно нет никаких статей по лэйаутам формс на русском? Пытаюсь сделать как в мануале — желаемого результата не могу добиться

Vladislav
26.02.2017
15:10:07
На метаните вроде было?

Nikolay
26.02.2017
15:29:24

Ssjuk
26.02.2017
15:34:14
https://metanit.com/sharp/xamarin/

Nikolay
26.02.2017
15:36:46
спасибо

Ilya
26.02.2017
19:49:48
Всем привет, Мб кто то подскажет, есть у меня listview cachingstrategy=recycle, когда я нажимаю на cell он у меня должно показать скрытый контент и меняться высота , но при нажатие, изменяется все элементы с шагом на высоту экрана, как буду то там тоже было нажатие, в дебаге ивент сработал только на нажатый элемент, с retain стратегия -тормоза при скроле. Думаю не у меня одного подобная проблема была с листом, спасибо

Kirill
26.02.2017
20:02:25
HasUnevenRows=true?

Damir
27.02.2017
09:11:11
Всем привет, Мб кто то подскажет, есть у меня listview cachingstrategy=recycle, когда я нажимаю на cell он у меня должно показать скрытый контент и меняться высота , но при нажатие, изменяется все элементы с шагом на высоту экрана, как буду то там тоже было нажатие, в дебаге ивент сработал только на нажатый элемент, с retain стратегия -тормоза при скроле. Думаю не у меня одного подобная проблема была с листом, спасибо
плюсую к предыдущему ответу, но также еще нужно взглянуть на темплейт ячейки, т.к. если там написано без оптимизаций, то тормозить все равно будет, например, если count > 50

Kirill
27.02.2017
09:13:51

Damir
27.02.2017
09:17:09
у меня есть список с темплейтом из стеклэйаут и второй список с absolutelayout - в первом списке у меня не более 10 элементов, все норм скроллится, лагов не заметно.
а во втором списке у меня больше 30-40 айтемов, и когда я перенес темплейт ячейки со стеклейаут во второй список, то тормоза были дикими
я бы сказал, что тут все взаимосвязано

Кита
27.02.2017
11:28:56
> @dbeylkhanov
стеклэйаут
вот тут и проблема)

Damir
27.02.2017
11:29:39
да, но на небольшом кол-ве айтемов сгодится
меня вот напрягает абсолютное позиционирование
поэтому юзаю панельку где ею можно обойтись. или там гридами и т.д.

Kirill
27.02.2017
11:31:14
я бы сказал, что тут все взаимосвязано
при малом количестве ячеек нет тормозов, ибо при этом при открытии страницы создаются все ячейки и сдвигаются, а при большом количестве - ячейки пересоздаются/переиспользуются, отсюда и тормоза. Необходимо оптимизировать ячейку.

Кита
27.02.2017
11:32:15
> Кита
стеклэйаут
запретите его к использованию на проекте вообще. Советую

Google

Nikolay
27.02.2017
11:52:33

Ilya
27.02.2017
11:58:57
Так насчет стека -> заблуждение создайте 500 лейблов в стеке и в гриде и увидите, что грид считается медленее в два раза

Kirill
27.02.2017
12:01:58

Ilya
27.02.2017
12:04:33

Кита
27.02.2017
12:42:40
> Ilya
гриде
задайте в абсолют лэйауте или релейтиве эти 500 лейблов и вообще удивитесь. у нас в команде и гриды то неохотно используются

Damir
27.02.2017
12:56:32
прост если на xf писать одними абсолютами, то ппц скок геммора с проверкой того что получается на выходе

Kirill
27.02.2017
13:09:24
У нас и стек и грид и абсолют используются, плюс енсколько своих общего назначения. для ячеек свои кастомные лейауты. В первую очередь вложенность должна быть минимальной

Ilya
27.02.2017
13:10:50
Xf можно для меня расшифровать? Типа формс?

Алексеев
27.02.2017
13:11:13

Andrey
27.02.2017
13:25:18
Вроде стак лайаут быстр, не? Он же не считает высоту, а получает по контенту, меньше циклов в сумме. Гриды я реже юзаю чем стаки

Кита
27.02.2017
13:59:43

Ilya
27.02.2017
14:08:46
+
Вроде стак лайаут быстр, не? Он же не считает высоту, а получает по контенту, меньше циклов в сумме. Гриды я реже юзаю чем стаки

Damir
27.02.2017
14:15:48

Кита
27.02.2017
14:19:00

Ilya
27.02.2017
14:19:43
Я согласен

Andrey
27.02.2017
15:02:56
Ну с прибитыми размерами они везде быстрые, хоть в вебе хоть где. Я про резину скорее говорил

Кита
27.02.2017
15:11:01

Google

Кита
27.02.2017
15:11:33
просто тянется контент не везде. Ну и в тех местах где это не критично
зато на бюджетофонах проблем нет

O'Miay
27.02.2017
15:17:41
Есть тут кто?

Му
27.02.2017
15:18:14
?

O'Miay
27.02.2017
15:19:26
Кто-нить сталкивался, собираю проект под Android 7, а обробочик нажатия на кнопку, то работает, то нет. Хотя если собирать под 6-ю версию такого глюка нету

Andrey
27.02.2017
15:23:58

O'Miay
27.02.2017
15:27:01

Andrey
27.02.2017
15:43:08
Проблема-то возможно и с андроид, но возникает наверняка при определённом вызове, который и предмет моего вопроса, а не все файлы

Ilya
27.02.2017
16:49:36
Это случайно не кастомный контрол?
Там очень при очень много файлов. Проблема не в коде 100%, проблема с Andriud 7

Алексей
27.02.2017
17:13:42
Всем привет. Собрал в одном месте все чаты для программистов - @Chats_Developers, пользуйтесь на здоровье. Ваш чат у нас тоже есть, не удаляйте это сообщение.

Slava
27.02.2017
17:17:00
?

Roman
27.02.2017
18:13:22

Alexander
27.02.2017
18:16:19
Вот ссылка на него
https://t.me/Fsharp_chat

Александр
28.02.2017
08:05:29
Всем привет. Для интереса пишу свой секундомер, сделал кнопку на форме. Создал для нее объект, Button btnSWStart = FindViewById<Button?Resource.Id.swBtnStart);
и пытаюсь написать обработку по ее нажатию
btnSWStart.Click += delegate
{
btnSWStart.Text = isSWrun ? "@string/swPause" : "@string/swStart";
};
После запуска выдает ошибку
System.NullReferenceException: Object reference not set to an instance of an object.
кнопка находится на дополнительном layout, а не на Main.

Ssjuk
28.02.2017
08:07:26
А почему нельзя повесить событие на swBtnStart?

Александр
28.02.2017
08:10:51
а я разве не это делаю?

Google

Александр
28.02.2017
08:18:31
такая ошибка возникает только для тех кнопок которые не расположены на главном layout.
в хамарине надо как-то формы заранее определять?

Akhmed
28.02.2017
08:39:50

Александр
28.02.2017
08:42:05
Вроде бы нет, т.к. кнопка на форме есть и она находится при идентификации

Akhmed
28.02.2017
08:42:29
а можешь убедиться что он не null под дебагом?
на что именно выдается null ?

Andrey
28.02.2017
08:43:52
Inflate?

Kirill
28.02.2017
08:57:17

Александр
28.02.2017
08:58:42
с одного перехожу на другой и обрабатываю кнопки на втором
там же весь код в MainActivity?
https://github.com/Hade5/MyTimer может так понятнее станет

Kirill
28.02.2017
09:18:40
с одного перехожу на другой и обрабатываю кнопки на втором
SetContentView вызываается только один раз. для перехода на другой экран - надо запускать другое активити StartActivity(typeof(SecondActivity)); Ну или использовать фрагменты. Ну и, естественно FindViewById<Button?Resource.Id.swBtnStart) возвратит null, потому что в Resource.Layout.Main нет такой кнопки, а ищет его там

Александр
28.02.2017
09:22:35
А второй активист от ,главного наследовать? И почему ищет в layout, а задаю я по глобальной id?

Kirill
28.02.2017
09:35:17