|
17.07.2008, 14:07
|
#31
|
ПроЭктировщик
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений (для 14 пользователей)
|
Ответ: Загрузка изображений по HTTP
Я тоже думал об этом. Но это же такие тормоза будут!
К тому же, если картинка размером 240x320 в формате JPEG/PNG занимает около 10 кб, то при хранении в ARGB она будет занимать 240x320x4 = 307200. Это почти в 30 раз больше.
Не, это совсем не вариант.
|
(Offline)
|
|
10.08.2008, 02:12
|
#32
|
ПроЭктировщик
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений (для 14 пользователей)
|
Ответ: Загрузка изображений по HTTP
Есть вопрос. Он касается как данной библиотеки, так и библиотеки web.
Что произойдёт, если будет попытка загрузки изображения (или любых других данных по HTTP) в случае нестабильной или отсутствующей связи?
Особенно в такие неприятные моменты, когда сеть практически отсутствует, но при этом телефон ловит лишь спецсигналы о наличии GPRS и т.п. (например, в туннелях, в закрытых помещениях, в перегонах метро).
В этом случае коннект есть только формальный, реально данные по HTTP телефон получить не может, в результате чего мидлет просто зависает. Проверял лично.
По идее, тут нужно ставить либо таймаут ответа (например, 3-4 секунды), либо как-то корректно обрабатывать exception. Как это сделать при использовании библиотек - непонятно.
Уважаемые коллеги, что вы можете посоветовать?
|
(Offline)
|
|
10.08.2008, 23:20
|
#33
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Загрузка изображений по HTTP
по идее, в данном случае, библиотека должна отловить исключение и выдать null, т.е. что есть проблемы с загрузкой.
|
(Offline)
|
|
11.08.2008, 00:53
|
#34
|
ПроЭктировщик
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений (для 14 пользователей)
|
Ответ: Загрузка изображений по HTTP
Понимаешь, если бы коннекта не было, то быть может она и отловила бы.
А так коннект вроде есть, но скорость скачки 2 байта в секунду.
|
(Offline)
|
|
11.08.2008, 14:45
|
#35
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Загрузка изображений по HTTP
Вопрос в том, предусмотрена ли функция для отмены передачи/приема данных. Если да - добавить таймер (TimerTask), который будет следить за таймаутом, и в случае зависания останавливать обработку запроса.
|
(Offline)
|
|
04.11.2010, 00:03
|
#36
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Загрузка изображений по HTTP
что-то imageTostring толком не работает
во второй строчке содержимое получамой строки
при другом изображении изменяются лишь символы после @
скрин с эмулятора, на телефоне строчка другая: javax.microedition.lcdui.Image@130b...
__________________
|
(Offline)
|
|
04.11.2010, 02:18
|
#37
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Загрузка изображений по HTTP
Сообщение от Dj_Alex
что-то imageTostring толком не работает
Вложение 11688
во второй строчке содержимое получамой строки
при другом изображении изменяются лишь символы после @
скрин с эмулятора, на телефоне строчка другая: javax.microedition.lcdui.Image@130b...
|
Да, как-то я это проглядел, метод возвращает не то, что нужно.
Посмотрю, как можно получить данные.
|
(Offline)
|
|
02.11.2012, 15:05
|
#38
|
Оператор ЭВМ
Регистрация: 06.03.2009
Сообщений: 38
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Загрузка изображений по HTTP
А как обрабатывать ошибки? например вот пример ошибки :
произошла ошибка из за того что изображение было удалено, но тогда в итоге мидлет намертво виснет...
Последний раз редактировалось Deport, 02.11.2012 в 15:08.
Причина: дополнил
|
(Offline)
|
|
02.11.2012, 15:17
|
#39
|
Оператор ЭВМ
Регистрация: 06.03.2009
Сообщений: 38
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Загрузка изображений по HTTP
мне удалось защитить библиотеку от попадания на несуществующие файлы но теперь другая ошибка,вот пример изображения из за которого вылетает ошибка: вот код который я использовал :
showcanvas;
x:=0;
a:=0;
b:=0;
c:=0;
repeat
open('http://m.megafonpro.ru/ml/upload/avatar/'+c+''+b+''+a+'/'+x+'._000_.jpg');
if get_error='' then set_method(GET);
if get_error='' then rc:=request;
if get_error='' then str:=get_data;
close;
ope:=get_data_bg;
if (rc=200) and (ope=1) then begin
img:=Image_From_string(str);
str:=del;
img:=resize_image(img,getWidth,getHeight);
DrawImage(img, 0, 0);
img:=null;
Repaint;
end;
x:=x+1;
if (x>1) and (rc>200) or (rc<200) then begin
a:=a+1;
if a>9 then begin b:=b+1;a:=0;end;
if b>9 then begin c:=c+1;b:=0;end;
if c>9 then begin c:=0; end;
x:=1;
end;
until 1>2;
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:57.
|