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

Отображать в textView текст из файла txt - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Как нарисовать много треугольников в opengl? http://www.cyberforum.ru/android-dev/thread1419551.html
Исходник который использую http://developer.alexanderklimov.ru/android/opengles/intro.php у меня около тысячи треугольников, координаты читаю из ресурсов а как кодить для такого количества треугольников?
Android Preference public class Preference extends PreferenceFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference); } } здесь формирование вьюхи происходит и xml файла, а как самому сгенерировать элементы в этом методе? http://www.cyberforum.ru/android-dev/thread1419430.html
Android Нативное (!) приложение для сайта, использование оной БД
Есть БД сайта со статьями, хочу вывод таких же статей в приложении. Въезжаю на ходу, все понимаю Что необходимо использовать\знать?
Android SQLite and ListView. Ввод и вывод данных
Здравствуйте. Пишу программу(кто бы мог подумать). Есть подозрения, что данные в БД вбиваются не правильно или как раз выводятся неправильно. Этого ни как всё не пойму.Собственно код: Вывод данных в лог с помощью кнопки из таблицы, что в БД. btnEvent = (Button) findViewById(R.id.log_log_log); btnEvent.setOnClickListener(new View.OnClickListener() { public void...
Android Воспроизвести массив байтов http://www.cyberforum.ru/android-dev/thread1419325.html
Здравствуйте, подскажите пожалуйста как передать массив байтов для воспроизведения?(не записывая в файл)
Android Обнуление переменной по времени Всем привет. Вопрос: как можно обнулять переменную по конкретному времени? Допустим обнулять раз в день подробнее

Показать сообщение отдельно
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
16.04.2015, 10:39     Отображать в textView текст из файла txt
Valakin, А можно и по нормальному

Так как считывание файла это тяжелая операция, нам понадобится отдельный поток. Чтобы передать из потока данные куда нам надо, то:

1. Создаём интерфейс:

Java
1
2
3
4
5
6
7
8
public interface IReaderCallback {
 
    void onSuccess(String result);
 
    void onFailure(Throwable cause);
 
 
}
2. Чтобы был глобально доступный контекст, делаем класс

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import android.app.Application;
 
public class TheApplication extends Application {
 
    private static TheApplication instance;
 
    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
    }
 
    public static TheApplication getInstance() {
        return instance;
    }
}
и регистрируем его в манифесте в тэге application,

XML
1
<application android:name=".TheApplication"
3. Сам reader

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
import android.os.AsyncTask;
import com.menu.client.TheApplication;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class AsyncFileReader extends AsyncTask<Void, Void, String> {
 
    private IReaderCallback callback;
    private Throwable throwable;
    private int resourceId;
 
 
    public void read(IReaderCallback callback, int resourceId) {
        this.callback = callback;
        this.resourceId = resourceId;
        execute();
    }
 
 
    @Override
    protected String doInBackground(Void... voids) {
        InputStream inputStream = TheApplication.getInstance().getResources().openRawResource(resourceId);
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String line;
        StringBuilder text = new StringBuilder();
 
        try {
            while ((line = bufferedReader.readLine()) != null) {
                text.append(line);
                text.append('\n');
            }
        } catch (IOException e) {
            throwable = e;
            return null;
        } finally {
            closeStream(inputStream);
            closeStream(inputStreamReader);
            closeStream(bufferedReader);
        }
        return text.toString();
    }
 
 private void closeStream(AutoCloseable autoCloseable) {
        if (autoCloseable != null) {
            try {
                autoCloseable.close();
            } catch (Exception ignored) {
 
            }
        }
    }
 
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        if (callback == null) return;
        if (throwable != null) {
            callback.onFailure(throwable);
        } else {
            callback.onSuccess(s);
        }
    }
}
4. Вызывайте там, где хотите:

Java
1
2
3
4
5
6
7
8
9
10
11
new AsyncFileReader().read(new IReaderCallback() {
            @Override
            public void onSuccess(String result) {
                //Success!
            }
 
            @Override
            public void onFailure(Throwable cause) {
                //Ooops
            }
        }, R.raw.txt);
 
Текущее время: 08:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru