Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка оффлайн-браузера, здатного зберігати HTML-сторінки з усім їх вмістом з Мережі

Реферат Розробка оффлайн-браузера, здатного зберігати HTML-сторінки з усім їх вмістом з Мережі





рах різні потоки можуть відповідати за роботу з мережею, анімацію, розрахунок фізики і т.д.

Розглянемо приклад реалізації багатопоточності з нашої програми. Додаток використовує механізм багатопоточності для паралельного скачування файлів. Для кожного завантаження відкривається новий потік завантаження. Код методу run () потоку, що виконує безпосередню завантаження файлів:

Метод запуску потоку завантаження, всередині нього створюється HTTP з'єднання з необхідними параметрами і запускається скачування.


public void run () {file=null; stream=null;

/ / Створює клас обробки файловparser=new Parser (); httpclient=new DefaultHttpClient ();

try {

/ / Додавання перехоплення запиту і відповіді для правильної обробки

/ / файлів, які стиснуті методом GZIP.addRequestInterceptor (new HttpRequestInterceptor () {

public void process (HttpRequest request, HttpContext context) throws HttpException, IOException {(! request.containsHeader («Accept-Encoding")) {. addHeader («Accept-Encoding», «gzip») ;

}

}

});. addResponseInterceptor (new HttpResponseInterceptor () {void process (HttpResponse response, HttpContext context) throws HttpException, IOException {entity=response.getEntity (); (entity!=null) {ceheader= entity.getContentEncoding (); (ceheader!=null) {[] codecs=ceheader.getElements (); (int i=0; i

return;

}

}

}

}

}

});

/ / Формування запиту на WEB-сервер з необхідними параметрами для

/ / можливості докачки файловhttpget=new HttpGet (this.url.toString ());

httpget.addHeader («Range»,

«bytes =» + downloaded + »-»);. addHeader («Accept», «text / html, application / xhtml + xml, application / xml; q=0.9, * / *; q=0.8 »);. addHeader (« Pragma »,« no-cache »);. addHeader (« User-Agent », Common.USERAGENT); response=httpclient.execute (httpget);

/ / Перевірка, що відповідь сервера говорить про успішну обробці запиту

if (response.getStatusLine (). getStatusCode () / 100!=2) {();

}

/ / Обчислення решти документа для дозавантаження

long contentLength=- 1; (response.getHeaders («Content-Length»). length == 0) (); {= Long.valueOf (response.getHeaders («Content-Length») [0]. getValue ()); (contentLength <1) {();

}

}

(size == - 1) {= contentLength; ();

} fullFileName; tempFileName; (getFileName (url.getUrl ()). length () <2)=downloadManager.globalInfo.getSiteSaveTempPath () + File.separator + Common.getTempfileName («index. html »);=downloadManager.globalInfo.getSiteSaveTempPath () + File.separator + Common.getTempfileName (getFileName (url.getUrl ()));

/ / Перевірка, чи необхідний розбір файлу на наявність в...


Назад | сторінка 7 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми для завантаження зображення нот з подальшим їх розпізнава ...
  • Реферат на тему: Додаток, що реалізує метод заміни найменш значущих бітів для файлів з розши ...
  • Реферат на тему: Розрахунок критеріїв раціональної завантаження судна
  • Реферат на тему: Менеджери завантаження
  • Реферат на тему: Розробка програми для перегляду bmp файлів