Intereting Posts
Изменение текста уведомления об андроиде динамически Как повернуть экран эмулятора Android? Как настроить пользовательский заголовок в запросе Volley Как скрыть мягкую клавиатуру при изменении вкладок? Не удалось подключиться к мобильному устройству Bluetooth Bluetooth с помощью Android BluetoothProfile Не удалось импортировать поддержку android v4 или v7 в библиотеке, используя productFlavors Предел макета листа в Android Android – Как нажимать на элемент в навигационном ящике с помощью Espresso? Должен ли телефон быть подключен к Интернету, чтобы поставщик сети мог определить местоположение? Разное меню для разных фрагментов Как скачать файл с файлами google в android Просмотр локального веб-сервера на Mac с именем компьютера, а не IP-адресом Загрузка / переопределение пользовательских классов для Android-классов Geolocation.watchposition не работает с сетевым местоположением off Когда я обновляю свой плагин ADT для Android, я получаю бегущий андроид-линт, каковы его преимущества для использования в проекте Android?

Как добавить файл в проект Android, установить его на устройство и открыть его?

У меня есть проект Android (2.2) в Eclipse (Helios). Я хочу добавить файл MP3 в проект, чтобы файл MP3 был развернут на устройстве вместе с приложением.

Затем я хотел бы открыть файл как объект File , а это значит, что мне нужно будет узнать полный путь (?) К файлу на устройстве, но я не знаю, как указать пути в Android.

По-видимому, в Froyo есть ошибка, которая предотвращает воспроизведение WAV.
Аудиофайлы должны быть помещены в каталог «res / raw» вашего проекта. Затем используйте id для воспроизведения (или попытайтесь воспроизвести его)

 MediaPlayer mp = MediaPlayer.create (контекст, R.raw.sound_file_1);
 mp.start ();

Информация: http://developer.android.com/guide/topics/media/index.html
Пример (mp3): http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-i

Хорошо, я видел это на источнике другого проекта, поэтому я действительно не придумал его, но он работает.

Чтобы добавить любой файл в проект и позже использовать его, вам нужно поместить файл (двоичный, xml или любой другой) в папку с ресурсами вашего проекта.

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

 public void copyfile(String fileName) { if (!new File(fileName).exists()){ try { InputStream localInputStream = getAssets().open(fileName); FileOutputStream localFileOutputStream = getBaseContext().openFileOutput(fileName, MODE_PRIVATE); byte[] arrayOfByte = new byte[1024]; int offset; while ((offset = localInputStream.read(arrayOfByte))>0) { localFileOutputStream.write(arrayOfByte, 0, offset); } localFileOutputStream.close(); localInputStream.close(); // The next 3 lines are because I'm copying a binary that I plan // to execute, so I need it to have execute permission. StringBuilder command = new StringBuilder("chmod 700 "); command.append(basedir + "/" + paramString); Runtime.getRuntime().exec(command.toString()); Log.d(TAG, "File " + paramString + " copied successfully."); } catch (IOException localIOException) { localIOException.printStackTrace(); return; } } else Log.d(TAG, "No need to copy file " + paramString); } 

Я считаю, что есть, вероятно, лучший способ скопировать файл, но он работает и не замедляет мое приложение, даже если оно вызвано из onCreate (все файлы, которые я копирую, ниже 100 КБ, тем не менее, поэтому для больших файлов вы, вероятно, хотите Отдельная нить)

Вот как получить путь к вашим файлам:

 String path = getBaseContext().getFilesDir().getAbsolutePath(); 

Если вы хотите записать файл на другой путь, скажите «/ sdcard / DCIM / appPictures», я считаю, что вы можете использовать этот код:

 FileOutputStream outFile = FileOutputStream("/sdcard/DCIM/appPictures/" + fileName); 

А затем скопируйте его байтом по байту, как в примере выше.