Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
#1

HttpURLConnection, ошибка - Программирование Android

16.01.2014, 17:19. Просмотров 2483. Ответов 7
Метки нет (Все метки)

Пытаюсь получить данную 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 минут
Как я понял, приложение вываливается вообще при любом запросе к интернету.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 17:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос HttpURLConnection, ошибка (Программирование Android):

HttpUrlConnection - Программирование Android
Всем привет, не могу разобраться с HttpUrlConnection, написал код по рекомендациям Android и что-то работает не так. По порядку. 1)...

Использование HttpURLConnection - Программирование Android
Всем привет. замечаю странное поведение коннекта к локальному серваку - который реально всегда доступен по вай фаю. Запросы делаются раз...

HttpURLConnection запрос - Программирование Android
Делаю запрос на сервер public class AsyncTaskc extends AsyncTask&lt;Void, String, String&gt; { private String urls; public...

HttpURLConnection cookie аутентификация - Программирование Android
Здравствуйте, такой вопрос есть url1 = http://site.com/accounts/login/?next=/ где post запросом передается user,pass если все...

HttpURLConnection - не читает заголовки и контент - Программирование Android
Делаю прямую авторизацию Вконтакте (отбитая тема, как я понял). Запросы на авторизацию провожу в AsyncTask и таких запроса три, но один...

Проверка соединения с сайтом через HttpUrlConnection - Программирование Android
я нашла кучу информации, где после подключения что-либо выдает. Как написать программный код, чтоб выдавало только удалось подсоединиться...

7
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
16.01.2014, 17:49 #2
Это потому что нельзя обращаться к сети из UI потока.
2
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
16.01.2014, 19:15  [ТС] #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, получить не удаётся. Гуглил, дофига вариантов, а сделать что бы работало не получается(
Прошу помощи!
1
Kazachek
17 / 17 / 4
Регистрация: 03.11.2013
Сообщений: 388
16.01.2014, 20:25 #4
Спасибо за созданную тему. Меня тоже мучает этот вопрос. Перелистал кучу сайтов и прошелся почти по всем темам форума. Пожалуйста поделитесь ссылками и опытом работы с сервером и обработкой xml файла. Заранее всех благодарю за ответы
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
16.01.2014, 20:32 #5
Kazachek, так в чём именно проблема, скачать файл на карту?
0
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
16.01.2014, 20:43  [ТС] #6
Ну суть одна чтобы скачать в файл, нужно xml сначала получить)
Буду очень рад если поможете на примере моего кода.
0
Kazachek
17 / 17 / 4
Регистрация: 03.11.2013
Сообщений: 388
16.01.2014, 21:04 #7
YuraAAA,

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

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

Спасибо
0
VictorAkira
3 / 3 / 0
Регистрация: 21.03.2013
Сообщений: 71
17.01.2014, 13:31  [ТС] #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
0
17.01.2014, 13:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 13:31
Привет! Вот еще темы с ответами:

HttpURLConnection и JSON - обязательно ли наследоваться от AsyncTask? - Программирование Android
Всем доброго времени суток. Помогите пожалуйста, чтобы получить с сайта JSON, обязательно ли наследоваться от AsyncTask&lt;Void, Void, Void&gt;...

Как отправить данные json через HttpURLConnection - Программирование Android
Здравствуйте! Мне нужно работать с АПИ из приложения. Использую HttpURLConnection URL url = new URL(apiHost); ...

HttpURLConnection - Мобильные ОС
Здравствуйте.Столкнулся с такой проблемой, помогите пожалуйста. Есть такой код: //есть ссыка...передается сюда private InputStream...

HttpURLConnection - Java Сети
С помощью класса HttpURLConnection записываю данные и передаю POST запрос, после этого закрываю соединение, но мне нужно сделать так раз...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.