Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Last_Night
20 / 20 / 8
Регистрация: 02.10.2012
Сообщений: 124
#1

Выкачать XML с сервера или сайта для последующего парсинга - Программирование Android

13.10.2013, 17:51. Просмотров 877. Ответов 6
Метки нет (Все метки)

Подскажите как можно выкачать XML из сайта или сервера?
скорей всего качаться будет с сайта примерный путь www.sitename.com/XML/file.xml
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 17:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выкачать XML с сервера или сайта для последующего парсинга (Программирование Android):

Выбор книги или статей для создания приложений под Android (клиент для сервера)
С какой книги посоветуете начать изучение (желательно сразу на 4 версии). ...

JSON или XML: что более оптимизировано для парсинга
У какого языка более быстрый стандартный парсер (в глубину) ?

Авторизация на сайте для последующего парсинга страницы
Добрый день. Пытаюсь написать первую программу на C#. Требуется: зайти на сайт...

Математические алгоритмы для парсинга текста из word и xml или подобных
Здравствуйте, какие есть математические алгоритмы для парсинга текста из word...

Выбор для xml парсинга
Приветствую всех. Помогите пожалуйста советом, что лучше взять для парса xml...

Библиотека для xml парсинга
Доброго времени суток. У меня появилась необходимость чтения xml из потока...

6
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.10.2013, 19:54 #2
HttpGet запросом.
1
Last_Night
20 / 20 / 8
Регистрация: 02.10.2012
Сообщений: 124
21.10.2013, 19:04  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
HttpGet запросом.
пытаюсь выкачать файл но прила сразу вылетает
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
public class MainActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        downloadFile();
    }
 
    public void downloadFile(){
 
        try {
            URL url = new URL("http://alexche.zz.mu/data.xml");
            URLConnection conection = url.openConnection();
 
            conection.connect();
            int lenghtOfFile = conection.getContentLength();
            InputStream is = url.openStream();
            File testDirectory = new File(Environment.getExternalStorageDirectory() + "Test");
            if (!testDirectory.exists()) {
                testDirectory.mkdir();
            }
            FileOutputStream fos = new FileOutputStream(testDirectory + "/test.xml");
            byte data[] = new byte[1024];
            int count = 0;
            long total = 0;
            int progress = 0;
            while ((count = is.read(data)) != -1) {
                total += count;
                int progress_temp = (int) total * 100 / lenghtOfFile;
                if (progress_temp % 10 == 0 && progress != progress_temp) {
                    progress = progress_temp;
                }
                fos.write(data, 0, count);
            }
            is.close();
            fos.close();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
а логи указывают на строку conection.connect() , как я понимаю невозможно подключится
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.10.2013, 21:29 #4
скорее всего NetworkOnMainThreadException
2
Last_Night
20 / 20 / 8
Регистрация: 02.10.2012
Сообщений: 124
22.10.2013, 17:15  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
скорее всего NetworkOnMainThreadException
проблема решена, всё работает корректно!
1
Last_Night
20 / 20 / 8
Регистрация: 02.10.2012
Сообщений: 124
10.11.2013, 16:49  [ТС] #6
вопрос закрыт
1
AlexChe
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 4
10.11.2013, 16:51 #7
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
package com.example.xmlparser;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
 
import java.io.IOException;
import java.util.ArrayList;
 
public class MainActivity extends Activity {
    ListView listView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listView = (ListView) findViewById(R.id.lv);
 
        ArrayList<String> list = new ArrayList<String>();
 
        try {
            XmlPullParser parser = getResources().getXml(R.xml.contacts);
 
            while (parser.getEventType()!= XmlPullParser.END_DOCUMENT) {
                if (parser.getEventType() == XmlPullParser.START_TAG
                        && parser.getName().equals("contact")) {
                    list.add(parser.getAttributeValue(0) + " "
                            + parser.getAttributeValue(1) + "\n"
                            + parser.getAttributeValue(2));
                }
                parser.next();
            }
        }
        catch (Throwable t) {
            Toast.makeText(this,
                    "Ошибка при загрузке XML-документа: " + t.toString(), 4000)
                    .show();
        }
 
        listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list));
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}
вот рабочий образец
0
10.11.2013, 16:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 16:51
Привет! Вот еще темы с решениями:

Регулярное выражение для парсинга ответа почтового сервера
Здравствуйте, уважаемые коллеги! Необходимо содействие в создании регулярки...

Посоветуйте библиотеку для парсинга XML (xdxf)
Здравствуйте. Есть словари в формате xdxf. Кто не знаком xdxf - это, как по...

Математические алгоритмы для парсинга текста из word и xml
Здравствуйте, какие есть математические алгоритмы для парсинга текста из word...

Нет нужного класса в библиотеке для парсинга XML
Всем привет! Вчера начал изучать C# для написания логики под среду playerIO....


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

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

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