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

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

Войти
Регистрация
Восстановить пароль
 
Rammsteinik
10 / 10 / 0
Регистрация: 19.02.2013
Сообщений: 7
#1

Получение контента из удалённого файла и вывод его в Toast - Программирование Android

19.02.2013, 18:10. Просмотров 919. Ответов 3
Метки нет (Все метки)

Всем привет, начал заниматься программированием под Android совсем недавно. Вот который день мучаюсь с простейшим кодом. Даже решил попросить увас помощи, ибо сам не в силах осмыслить. Данная программа должна считывать содержание файла в интернете и выводить его в Toast (всплывающее сообщение). Например, в удалённом файле написано "Hello world!" и это сообщение выводится в тоаст при нажатии на кнопку. Перепробывал все возможные варианты кодов. При нажатии на кнопку либо ничего не происходит, либо приложение вылетает. Помогите, очень нужно! Желательно расписать всё подробно, чтобы я смог разобраться =)

Вот полный код main_activity

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
package com.example.byfile;
 
import android.os.Bundle;
import com.example.byfile.R;
import android.app.Activity;
 
import android.os.Bundle;
 
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
import java.net.URL;
import java.io.*;
 
 
public class MainActivity extends Activity {
    
 
     Button btnSend;
     
         
     
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main); 
 
            btnSend = (Button) findViewById(R.id.btnSend);
 
            btnSend.setOnClickListener(new View.OnClickListener() 
            {
                public void onClick(View v) 
                {    
                    
                    try
                    {
                        URL myURL = new URL("http://my-site.ru/file.txt");
                        InputStream dataStream = myURL.openConnection().getInputStream();
                        InputStreamReader isr = new InputStreamReader(dataStream, "UTF-8");
                        StringBuffer data = new StringBuffer();
                        int c;
                        while ((c = isr.read()) != -1){
                               data.append((char) c);
                        }
 
                        String phoneNumber = new String (data.toString());
 
                        Toast toast = Toast.makeText(getApplicationContext(), 
                                phoneNumber, Toast.LENGTH_SHORT); 
                                toast.show();
                } 
                catch (IOException ie) {
                      ie.printStackTrace();
                }
                }
                        
               
               
            });        
        }         
              }
Соответственно, в манифесте доступ в интернет открыт.

Java
1
<uses-permission android:name="android.permission.INTERNET"/>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 18:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получение контента из удалённого файла и вывод его в Toast (Программирование Android):

Вывод в Toast содержания 2х файлов - Программирование Android
Всем привет, есть код вывода содержания текстового файла в тоаст. Подскажите, как его переделать, что бы он выводил в тот же тоаст...

Вывод информации в Toast c Адаптера - Программирование Android
Здравствуйте. В программе реализован класс адаптера &quot;новостей&quot; - NewsAdapter наследуемый от BaseAdapter. При попытке вывести текст...

VK API Получение вложения из записи и вывод его на страницу - PHP
Здравствуйте! Получаю вложение из записи. Как видно - там видео. Дальше хочу вывести это видео на страницу. =&gt; Array ...

Получение имя файла, при закачке его с интернета - Visual Basic .NET
Как получить имя файла когда закачиваешь эго из интернета? без полного пути.

Получение XML файла по ссылке с последующим его разбором - PHP
Добрый день, уважаемые пользователи ! Скажите пожалуйста, можно ли url ссылку на xml файл преобразовать в файл и далее уже парсить его как...

Получение имени запускаемого файла(ов) для его обработки в программе на С++ - C++ Builder
Определенное расширение файла привязываем к программе написанной на С++. 1. Как в этой программе получить в качестве входных...

3
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.02.2013, 18:29 #2
подебагайте.

а вообще работу с сетью выносят в другой поток.

На жаль, Google Chrome не вдалося знайти сторінку my-site.ru
0
Rammsteinik
10 / 10 / 0
Регистрация: 19.02.2013
Сообщений: 7
20.02.2013, 08:55  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
подебагайте.

а вообще работу с сетью выносят в другой поток.
разобрался, а как вывести в тоаст контент из 2х файлов?

вот код но он почему то выводит только из последнего файла

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
100
101
102
103
104
105
package com.example.byfile;
 
import android.os.Bundle;
import com.example.byfile.R;
import android.app.Activity;
 
import android.os.Bundle;
 
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
import java.net.*;
import java.io.*;
import java.nio.charset.Charset;
 
public class MainActivity extends Activity {
 
     Button btnSend;
 
        @Override
        public void onCreate(final Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            this.setContentView(R.layout.activity_main);
 
            final Button btnSend = (Button)this.findViewById(R.id.btnSend);
            btnSend.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(final View v)
                {
                    new Thread(new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            try
                            {
                                 final URL myURL = new URL("http://мой-сайт/1.txt");
                                    final URLConnection connection = myURL.openConnection();
                                    connection.setDoInput(true);
                                    final Reader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));
 
                                    final URL myURL2 = new URL("http://мой-сайт/2.txt");
                                    final URLConnection connection2 = myURL2.openConnection();
                                    connection2.setDoInput(true);
                                    final Reader reader2 = new BufferedReader(new InputStreamReader(connection2.getInputStream(), Charset.forName("UTF-8")));
                                try
                                {
                                    //буфер 1   
                                    final char [] buffer1 = new char[1024];
                                    final StringBuilder message = new StringBuilder();
 
                                    int readCount;
                                    do
                                    {
                                        readCount = reader.read(buffer1);
                                        message.append(buffer1);
                                    }
                                    while (readCount >= buffer1.length);
 
                                    //буфер 2
                                    final char [] buffer2 = new char[1024];
                                    final StringBuilder message2 = new StringBuilder();
 
                                    int readCount2;
                                    do
                                    {
                                        readCount2 = reader2.read(buffer2);
                                        message2.append(buffer2);
                                    }
                                    while (readCount2 >= buffer2.length);
 
                                    MainActivity.this.runOnUiThread(new Runnable()
                                    {
                                        @Override
                                        public void run()
                                        {
 
                                            Toast.makeText(MainActivity.this.getApplicationContext(), message + message2.toString(), Toast.LENGTH_LONG).show();
                                        }
                                    });
 
                                }
                                catch (final IOException ex)
                                {
                                    Log.d("IOException", ex.getMessage());
                                }
                                finally
                                {
                                    reader.close();
                                }
                            }
                            catch (final Exception ex)
                            {
                                Log.d("Some exception", ex.getMessage());
                            }
                        }
                    }).start();
 
                }
            });
 
}}
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
20.02.2013, 11:38 #4
message.toString() + message2.toString()
1
20.02.2013, 11:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 11:38
Привет! Вот еще темы с ответами:

Получение данных из файла ассинхронным запросом, при его наполнении циклом - PHP
Здравствуйте. Есть цикл, который делает операции и ложит текст в файл таким методом: public function addToConsole($str,$class=&quot;n&quot;){ ...

Получение контента из selecta - JavaScript
Как получить значение контента option из select К примеру &lt;option class=&quot;First&quot; value=&quot;First&quot;&gt;Первый&lt;/option&gt; &lt;option...

Создание webdav-сервера java - Получение файла по его абсолютному пути в хранилище - Java
Необходимо создать программу, возвращающую webdav-протокол для одной операции - получение файла по его абсолютному пути в хранилище (то...

Проверка удалённого файла - PHP Сети
Нужно проверить по ссылке есть файл на сервере или нет ? fopen не куда не годиться !


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

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

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