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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Kroshandowski
2 / 2 / 0
Регистрация: 05.04.2013
Сообщений: 234
#1

Как реализовать чтение txt файлов из папки по порядку? - Android

10.11.2014, 16:31. Просмотров 1675. Ответов 24
Метки нет (Все метки)

Здравствуйте!Как реализовать чтение txt файлов из папки по порядку? Т.е. к примеру у меня есть папка1 в папке assets.В этой папке1 находятся 3-4 txt файла. Как мне по нажатию на button читать следующий файл в папке?Каждый раз нжимая на button я буду переходить к чтению следующего файла в папке.

Просто сейчас у меня указано,что нужно читать именно конкретный файл из конкретной папки.А как сделать чтение файлов по порядку или рандомно?

Для начала я просто попробовал отобразить текст файла в textView с помощью getAssets:
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
    TextView myTv;
    String res = "";
   
        myTv = (TextView) findViewById(R.id.textView);
 
        try {
 
            // OPENING THE REQUIRED TEXT FILE
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    getAssets().open("folder1/1.txt")));
 
            String myLine = reader.readLine();
 
            // NOW READING THEM LINE BY LINE UPTO THE END OF FILE
            while (myLine != null) {
                res += myLine + "\n";
                myLine = reader.readLine();
            }
 
            // CLOSE THE FILE AFTER WE HAVE FINISHED READING
            reader.close();
        } catch (IOException e) {
 
            // INFORM USER OF ANY ERROR...
            Toast.makeText(getApplicationContext(),
                    "Error Opening the File !!!", Toast.LENGTH_LONG).show();
        }
 
        // AND FINALLY SHOW THE READ TEXT IN OUR TEXT VIEW
        myTv.setText(res);
 
        }
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kroshandowski
2 / 2 / 0
Регистрация: 05.04.2013
Сообщений: 234
12.11.2014, 19:33  [ТС]     Как реализовать чтение txt файлов из папки по порядку? #21
Spelcrawler, Все работает!!!!!!!!!!!!!!!!!!!!!!Ура!!!!!!!!!!!!!!!!

Добавлено через 12 минут
Spelcrawler, А как сделать чтобы текст шел подряд и обратно т.е. листаем вперед и назад?
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
12.11.2014, 20:14     Как реализовать чтение txt файлов из папки по порядку? #22
Kroshandowski, как вам нужно? Чтобы при, например, нажатии на кнопку появился следуюший текст, если это последний в списке - считать обратно? Или выбрать позицию в ручную каким-то способом?
Kroshandowski
2 / 2 / 0
Регистрация: 05.04.2013
Сообщений: 234
12.11.2014, 20:22  [ТС]     Как реализовать чтение txt файлов из папки по порядку? #23
Spelcrawler, ну предположим при каждом нажатии на кнопку (под названием "Вперед") мы читаем текст,который у нас забит в strings подряд. Дошли мы к примеру до str5 (т.е. до пятого по счету текста) и нужно вернуться чуть назад, на предыдущий текст str4 по нажатию на кнопку (под названием "Назад"). Что-то вроде листалки организовать.
P.S. По идее в задумке три кнопки...с одной вы меня уже выручили)
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
12.11.2014, 20:44     Как реализовать чтение txt файлов из папки по порядку? #24
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ок. Заводим еще два поля:
Java
1
2
static int currentPosition = 0;
static int listSize = 0;
Переписываем метод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void setTextOnMyTextView(Context context, TextView textView, int position){
 
            if(strings == null){
                strings = new ArrayList<String>();
                strings.add(context.getResources().getString(R.string.str1));
                strings.add(context.getResources().getString(R.string.str2));
                strings.add(context.getResources().getString(R.string.str3));
                strings.add(context.getResources().getString(R.string.str4));
                listSize = strings.size();
            }
 
 
 
            String currentString = strings.get(position);
            textView.setText(currentString);
 
 
        }
Вызываем в зависимости от ситуации:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Нужно запустить метод при создании активити, чтобы проинициализировать все данные.
            setTextOnMyTextView(this, myTextView, 0);
 
            //Случайный текст
            currentPosition = new Random().nextInt(listSize);
            setTextOnMyTextView(this, myTextView, currentPosition);
 
            //Вперед
            if(currentPosition + 1 < listSize){
                currentPosition++;
                setTextOnMyTextView(this, myTextView, currentPosition);
            }else{
                //тут можно сообщить что  вперед листать больше нельзя.
            }
 
            //Назад
            if(currentPosition > 0){
                currentPosition--;
                setTextOnMyTextView(this, myTextView, currentPosition);
            }else{
                //тут можно сообщить что  назад листать больше нельзя.
            }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2014, 21:28     Как реализовать чтение txt файлов из папки по порядку?
Еще ссылки по теме:

как нажатием на кнопку запустить установку приложения из папки? Android
Чтение ассоциированного .txt файла с внутренней памяти по URI Android
Чтение файлов из res в android studio Android
Чтение и запись внешних файлов Android
Android Узнать имена всех txt файлов в папке

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

Или воспользуйтесь поиском по форуму:
Kroshandowski
2 / 2 / 0
Регистрация: 05.04.2013
Сообщений: 234
12.11.2014, 21:28  [ТС]     Как реализовать чтение txt файлов из папки по порядку? #25
Spelcrawler, Огромное спасибо!)))
Yandex
Объявления
12.11.2014, 21:28     Как реализовать чтение txt файлов из папки по порядку?
Ответ Создать тему
Опции темы

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