Страница 1 из 1
чтение с SD
Добавлено: 12 май 2012, 13:02
Kot_Programist
Простите за нубский вопрос, просто я еще пока в этом новичок.
Вопрос:
Как сделать так, чтобы Приложение читало файлы только из определенной папки? В уроках есть пример, но там немного не то.
P.S. Бывал на многих форумах, там просто посылают куда подальше, когда задаешь этот вопрос.
Re: чтение с SD
Добавлено: 12 май 2012, 14:18
KamiSempai
Kot_Programist писал(а):Как сделать так, чтобы Приложение читало файлы только из определенной папки?
Написать приложение так, чтобы оно читало файлы только из определенной папки.
Что именно Вы хотите сделать?
Re: чтение с SD
Добавлено: 12 май 2012, 14:25
Kot_Programist
KamiSempai писал(а):Kot_Programist писал(а):Как сделать так, чтобы Приложение читало файлы только из определенной папки?
Написать приложение так, чтобы оно читало файлы только из определенной папки.
Что именно Вы хотите сделать?
я хочу чтобы приложение читало аудиофайл из определенной папки
я жму кнопку, и приложение начинает воспроизводить аудиозапись из определенной папки на сд
Re: чтение с SD
Добавлено: 12 май 2012, 19:26
KamiSempai
Я бы сделал это так:
Код: Выделить всё
private final static String SOUND_DIR = "Documents/Musik/Нужные";
private final static String SOUND_FILE = "Trail Of Tears - Illusion.mp3";
private MediaPlayer mMedia;
// Нажатие на кнопку Старт
public void play(View view){
// Если файл уже воспроизводится остановим воспроизведение
if(mMedia!=null && mMedia.isPlaying()){
mMedia.stop();
}
//Получаем состояние SD карты (подключена она или нет)
String sdState = android.os.Environment.getExternalStorageState();
if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {// если true
// Получаем путь к SD карте
String folderSD = Environment.getExternalStorageDirectory().toString();
mMedia = new MediaPlayer();
try {
// Указываем источник
mMedia.setDataSource(folderSD + "/" + SOUND_DIR + "/" + SOUND_FILE);
mMedia.prepare(); // Подготавливаем
mMedia.start(); // Запускаем
} catch (Exception e) {
Toast.makeText(this, "Упс! Не удалось воспроизвести файл " + SOUND_FILE, Toast.LENGTH_SHORT).show();
}
}
else Toast.makeText(this, "SD карта отсутствует.", Toast.LENGTH_SHORT).show();
}
// Нажатие на кнопку Стоп
public void stop(View view){
mMedia.stop();
}
Еще стоит учитывать, что при повороте экрана активити пересоздастся (ссылка на mMedia уничтожится) и повторное нажатие на Старт запустит воспроизведение но не остановит то, что было уже запущено.
Об этом, конечно, нужно будет указать в файле манифеста.
И не забудьте остановить воспроизведение при закрытии приложения.
Re: чтение с SD
Добавлено: 12 май 2012, 19:54
Kot_Programist

спасибо, буду изучать
Re: чтение с SD
Добавлено: 12 май 2012, 20:39
Kot_Programist
блин хорошо бы уже в java... а то ни нписать не могу ни скопировать
Re: чтение с SD
Добавлено: 12 май 2012, 20:50
Kot_Programist
мда. лог ошибок в 16 шт
Re: чтение с SD
Добавлено: 13 май 2012, 22:10
KamiSempai
Какие ошибки? У меня все отлично работает.
Re: чтение с SD
Добавлено: 14 май 2012, 14:17
Kot_Programist
Короче.. блин, я незнаю как подогнать под себя(
Re: чтение с SD
Добавлено: 14 май 2012, 17:09
KamiSempai
Даже и не знаю, что сказать. Вы не забыли изменить константы SOUND_DIR и SOUND_FILE ?
Вот на всякий случай исходники:
http://zalil.ru/33235639
Re: чтение с SD
Добавлено: 14 май 2012, 22:14
Kot_Programist
2. ERROR in /mnt/sdcard/andjedi/projects/MyTest/src/org/MyTest/LaunchActivity.java (at line 16)
setContentView(R.layout.main);
^
R cannot be resolved to a variable
Немного подогнал, но все равно такие ошибки
Re: чтение с SD
Добавлено: 14 май 2012, 22:57
Kot_Programist
все получилось, спасибо