Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2015, 10:32   #1
Mikhail48
Новичок
Джуниор
 
Регистрация: 30.03.2015
Сообщений: 1
По умолчанию Получение xml с сервера методом GET

доброго времени суток.
Пытаюсь получить xml с сайта, чтобы отпарсить его, но почему то метод doInBackground возвращает мне null
Раньше использовал этот же код и все работало, а сейчас почему то нет... Может дело в том, что раньше все было в одном файле. Сейчас все попытался раскидать по классам.
Подскажите пожалуйста в чем проблема.

Код:
package classes;

import android.os.AsyncTask;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URISyntaxException;

/**
 * Created by Mikhail on 28.03.2015.
 */
public class GetXMLFromServer {

    InputStreamReader reader;

    public GetXMLFromServer(){
        //reader = null;
    }

    public InputStreamReader getReaderWithXML(String url){

        GetXMlTask task = new GetXMlTask(url);
        task.execute(url);

        return reader;
    }

    public void setReader(InputStreamReader newReader){
        this.reader = newReader;
    }


    class GetXMlTask extends AsyncTask<String, Integer, InputStreamReader>{

        String url;

        public GetXMlTask(String url){
            this.url = url;
        }

        @Override
        protected InputStreamReader doInBackground(String... params) {
            InputStreamReader iStream = null;
            try {
                iStream = new InputStreamReader(getUrlData(params[0]));
            } catch (URISyntaxException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return iStream;
        }

        @Override
        protected void onPostExecute(InputStreamReader inputStreamReader) {
            super.onPostExecute(inputStreamReader);
            setReader(inputStreamReader);
        }

        public InputStream getUrlData(String urlString) throws URISyntaxException, IOException {
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet method = new HttpGet(urlString);
            HttpResponse res = client.execute(method);
            return res.getEntity().getContent();
        }
    }
}
Ссылка на само приложение:
https://github.com/mrabaev48/Currency
Mikhail48 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ответа от FTP-сервера Joose WPF, UWP, WinRT, XAML 4 23.11.2014 22:03
Получение ответа сервера. Semreg Общие вопросы Delphi 1 01.12.2013 22:37
Получение писем pop3 / imap с сервера phpusers PHP 0 02.05.2013 17:47
получение ip адресов из сервера Афанасий[vedma] Работа с сетью в Delphi 3 06.05.2012 13:40
получение точного времени с NTP сервера Mandrivnyk Общие вопросы C/C++ 2 08.04.2011 15:32