Форум программистов, компьютерный форум CyberForum.ru

HttpURLConnection, ошибка - Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
16.01.2014, 17:19     HttpURLConnection, ошибка #1
Пытаюсь получить данную xml из инета: http://katolik.ru/mir.feed?type=rss
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try {
            URL url = new URL(" http://katolik.ru/mir.feed?type=rss");
            try {
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                try {
                    if (conn.getResponseCode() == HttpURLConnection.HTTP_OK)
                    {
                        
                    }                   
                } catch (Exception e) {
                    tx.setText("33333 + " );
                }   
            } catch (IOException e) {
                tx.setText("2222 + " + e.toString());
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (MalformedURLException e) {
            tx.setText("111 + " + e.toString());
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
Ошибка возникает на if (conn.getResponseCode() == HttpURLConnection.HTTP_OK).
Тоесть как я понимаю оно вообще не коннектит. В манифесте указана работа с интернетом:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.slidingmenuexample"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="18" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.android.slidingmenuexample.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
В чем может быть проблема?

Добавлено через 5 минут
полный класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package com.android.slidingmenuexample;
 
 
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
 
public class Mir extends Fragment {
    public Integer SDF;
    public ArrayList<String> titleList = new ArrayList<String>();
    public Map<String, String> HtmlHelperMap = new TreeMap<String, String>();
    private ArrayAdapter<String> adapter;
    private ListView lv;
    public String Url = null; 
    private ProgressDialog pd;  
    public Bitmap bitmap;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.mir_layout, null);     
        //lv = (ListView) view.findViewById(R.id.News);      
        CustomAdapter customAdapter = new CustomAdapter(this.getActivity());
        List<StringWrapper> wrapperList = new ArrayList<StringWrapper>();
        TextView tx = (TextView) view.findViewById(R.id.textView1);  
        try {
            URL url = new URL("http://katolik.ru/strany-sng.feed?type=rss");
            try {
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                try {
                    if (conn.getResponseCode() == HttpURLConnection.HTTP_OK)
                    {
                        
                    }                   
                } catch (Exception e) {
                    tx.setText("33333 + " );
                }   
            } catch (IOException e) {
                tx.setText("2222 + " + e.toString());
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (MalformedURLException e) {
            tx.setText("111 + " + e.toString());
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
            /*try 
            {
                URL url = new URL("http://katolik.ru/strany-sng.feed?type=rss");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                tx.setText(conn.getResponseCode());
                //if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) 
                //{
                    //InputStream is = conn.getInputStream();
                    // DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();   
                    // DocumentBuilder db = dbf.newDocumentBuilder();
                    /// Document document = db.parse(is);
                    // tx.setText("Ehfff");
                    // Element element =  document.getDocumentElement();
            //  }       
            }
            catch (MalformedURLException e) {tx.setText("111 + " + e.toString());}   */     
 
        
        
        
        
        
        
            //  wrapperList.add(new StringWrapper("Title1", "Text1", null));
            // wrapperList.add(new StringWrapper("Title1", "Text1", "http://katolik.ru/i/catholic-and-environment-2.jpg"));
             //wrapperList.add(new StringWrapper("Title2", "Text2", "http://katolik.ru/i/catholic-and-environment-2.jpg"));
             //wrapperList.add(new StringWrapper("Title3", "Text3", "http://katolik.ru/i/catholic-and-environment-2.jpg"));
            // wrapperList.add(new StringWrapper("Title4", "Text4", "http://katolik.ru/i/catholic-and-environment-2.jpg"));
             //wrapperList.add(new StringWrapper("Title5", "Text5", "http://katolik.ru/i/catholic-and-environment-2.jpg"));
            // customAdapter.setData(wrapperList);
            // lv.setAdapter(customAdapter);
            // customAdapter.notifyDataSetChanged();                 
        return view;
    }
    
}
Добавлено через 19 минут
Как я понял, приложение вываливается вообще при любом запросе к интернету.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 17:19     HttpURLConnection, ошибка
Посмотрите здесь:

Android HttpURLConnection - не читает заголовки и контент
Как отправить данные json через HttpURLConnection Android
Использование HttpURLConnection Android
Android HttpUrlConnection
HttpURLConnection запрос Android
Android Проверка соединения с сайтом через HttpUrlConnection
HttpURLConnection cookie аутентификация Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
16.01.2014, 17:49     HttpURLConnection, ошибка #2
Это потому что нельзя обращаться к сети из UI потока.
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
16.01.2014, 19:15  [ТС]     HttpURLConnection, ошибка #3
Верно, спс!
сейчас ошибки нету:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.android.slidingmenuexample;
 
 
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.parser.Parser;
import org.jsoup.select.Elements;
 
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
 
public class Mir extends Fragment {
    public Integer SDF;
    public ArrayList<String> titleList = new ArrayList<String>();
    public Map<String, String> HtmlHelperMap = new TreeMap<String, String>();
    private ArrayAdapter<String> adapter;
    public List<StringWrapper> wrapperList = new ArrayList<StringWrapper>();
    public CustomAdapter customAdapter;
    private ListView lv;
    public String Url = null; 
    private ProgressDialog pd;  
    public Bitmap bitmap;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.mir_layout, null);     
        lv = (ListView) view.findViewById(R.id.News);      
        customAdapter = new CustomAdapter(this.getActivity());          
        new NewThread().execute();      
        customAdapter.setData(wrapperList);            
        return view;
    }
    public class NewThread extends AsyncTask<String, Void, String> 
    {
        public List<StringWrapper> wrapp = new ArrayList<StringWrapper>();
        @Override
        protected String doInBackground(String... params) 
        {
            
            try 
            {
                URL url = new URL(" http://katolik.ru/mir.feed?type=rss");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                if (conn.getResponseCode() == HttpURLConnection.HTTP_OK)
                {
                    InputStream stream = conn.getInputStream();
                    wrapp.add(new StringWrapper("dsdsdsd", conn.toString()));
                }               
 
            } 
            catch (Exception e) 
            {
                wrapp.add(new StringWrapper("Жопа", "Большая Жопа"));
                e.printStackTrace();
            }
            return null;
        }
        @Override
        protected void onPostExecute(String result) 
        {
            wrapperList.addAll(wrapp);
            customAdapter.setData(wrapperList);
            lv.setAdapter(customAdapter);
            customAdapter.notifyDataSetChanged();               
        }       
        
    }   
}
Возникла другая проблема, никак не могу найти нормальный рабочий способ получить тело XMLки.
Сам код парсинга у меня есть, он то работает) А вот саму XML, получить не удаётся. Гуглил, дофига вариантов, а сделать что бы работало не получается(
Прошу помощи!
Kazachek
 Аватар для Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 336
16.01.2014, 20:25     HttpURLConnection, ошибка #4
Спасибо за созданную тему. Меня тоже мучает этот вопрос. Перелистал кучу сайтов и прошелся почти по всем темам форума. Пожалуйста поделитесь ссылками и опытом работы с сервером и обработкой xml файла. Заранее всех благодарю за ответы
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
16.01.2014, 20:32     HttpURLConnection, ошибка #5
Kazachek, так в чём именно проблема, скачать файл на карту?
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
16.01.2014, 20:43  [ТС]     HttpURLConnection, ошибка #6
Ну суть одна чтобы скачать в файл, нужно xml сначала получить)
Буду очень рад если поможете на примере моего кода.
Kazachek
 Аватар для Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 336
16.01.2014, 21:04     HttpURLConnection, ошибка #7
YuraAAA,

На сервере есть обработчик который принимает запросы от устройства (GET запросы) допустим номер = 12345. Потом обрабатывает и вовзращает результат в виде xml. В xml резулуьтате храниться 25 номеров. Как вот эти 25 номеров вывести на экран в табличном варианте.

Если у кого нибудь есть такого рода примеры, опыт или же ссылки (понятные) чтоб можно было научиться пожалуйста помогите. Если нет то предлагаю создать новую тему и этот вопрос обсудить от начала до конца чтоб всем стало понятно как обрабатывается xml.

Спасибо
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
17.01.2014, 13:31  [ТС]     HttpURLConnection, ошибка #8
Я так понимаю на серсере этим занимается веб-сервис.
Тогда проще юзать soap библеотеки. К примеру как мне советовали - http://code.google.com/p/ksoap2-android/

Добавлено через 2 часа 11 минут
Всем спс.
Использовал вот такую вот инфу, работает:
http://hashcode.ru/questions/227881/...%D1%8F-android

Добавлено через 13 секунд
Всем спс.
Использовал вот такую вот инфу, работает:
http://hashcode.ru/questions/227881/...%D1%8F-android
Yandex
Объявления
17.01.2014, 13:31     HttpURLConnection, ошибка
Ответ Создать тему
Опции темы

Текущее время: 05:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru