SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
-
Kroshandowski
- Сообщения: 9
- Зарегистрирован: 10 дек 2013, 20:21
-
Контактная информация:
Сообщение
Kroshandowski » 10 ноя 2014, 19:45
Здравствуйте!К примеру у меня есть папка под названием folder1 в папке assets.В папке folder1 находятся 4 txt файла. Как мне по нажатию на button отображать текст следующего файла в textView?Т.е. каждый раз нажимая на button я буду отображать в textView содержание следующего файла в папке folder1.
Просто сейчас у меня указано,что нужно читать именно конкретный файл из конкретной папки.А как сделать чтение файлов по порядку или рандомно?
Для начала я просто попробовал отобразить текст конкретного файла в textView с помощью getAssets и все отобразилось отлично.
Но как сделать чтение разных файлов из папки?
Код: Выделить всё
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);
}
Заранее спасибо.
-
KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Сообщение
KamiSempai » 10 ноя 2014, 19:53
Получение списка файлов в assets папке:
[syntax=java5]mAssetManager.list("название_папки_из_assets");[/syntax]
Метод возвращает список строк которые содержат полные пути к файлам из указанной папки.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
-
Kroshandowski
- Сообщения: 9
- Зарегистрирован: 10 дек 2013, 20:21
-
Контактная информация:
Сообщение
Kroshandowski » 10 ноя 2014, 20:19
KamiSempai писал(а):Получение списка файлов в assets папке:
[syntax=java5]mAssetManager.list("название_папки_из_assets");[/syntax]
Метод возвращает список строк которые содержат полные пути к файлам из указанной папки.
Мне не нужно просто узнать какие файлы сидят в папке.Мне нужно при каждом нажатии на button читать содержимое (рандомно выбранного файла) в textView.
Код указанный мной выше, выполняет отображение содержимого строго указанного файла.
Здесь происходит чтение содержимого конкретного файла в папке,а как сделать чтение содержимого любого файла в папке:
Код: Выделить всё
BufferedReader reader = new BufferedReader(new InputStreamReader(getAssets().open("folder1/1.txt")));
-
Leeroy
- Сообщения: 67
- Зарегистрирован: 12 дек 2013, 21:25
Сообщение
Leeroy » 12 ноя 2014, 09:37
Ну так подсказали же, получить список файлов в папке и рандомно читать
Код: Выделить всё
String[] files = mAssetManager.list("название_папки_из_assets");
Random randomGenerator = new Random();
final int randomInt = randomGenerator.nextInt(files.length)
BufferedReader reader = new BufferedReader(
new InputStreamReader(
getAssets().open(files[randomInt]));
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте
Телепрограмма
-
Kroshandowski
- Сообщения: 9
- Зарегистрирован: 10 дек 2013, 20:21
-
Контактная информация:
Сообщение
Kroshandowski » 12 ноя 2014, 15:23
Leeroy писал(а):Ну так подсказали же, получить список файлов в папке и рандомно читать
Код: Выделить всё
String[] files = mAssetManager.list("название_папки_из_assets");
Random randomGenerator = new Random();
final int randomInt = randomGenerator.nextInt(files.length)
BufferedReader reader = new BufferedReader(
new InputStreamReader(
getAssets().open(files[randomInt]));
А как результат вывести в textView?Точнее переменная резльтата. Что-то типа: