나는 방언 사전 인 안드로이드 응용 프로그램을 만들고 있습니다. 내 문제는 데이터베이스에 audio.mp3 파일을 저장하는 방법을 모른다는 것입니다.sqlite에 mp3 파일을 저장하는 방법은 무엇입니까?
아무도 나를 가르치거나 그것을 만드는 방법에 대한 몇 가지 코드를 공유 할 수 있습니까?
나는 방언 사전 인 안드로이드 응용 프로그램을 만들고 있습니다. 내 문제는 데이터베이스에 audio.mp3 파일을 저장하는 방법을 모른다는 것입니다.sqlite에 mp3 파일을 저장하는 방법은 무엇입니까?
아무도 나를 가르치거나 그것을 만드는 방법에 대한 몇 가지 코드를 공유 할 수 있습니까?
귀하의 요구 사항에 따라 귀하의 5 mp3가 폴더 (또는 디렉토리) "MySongs"에 저장된 SDCard에 저장되어 있다고 가정 해보십시오. 폴더를 다음과 같이 검색하십시오.
File[] myFiles;
File pathToMySongs = new File(
Environment.getExternalStorageDirectory() + "/MySongs");
if(pathToMySongs.exists())
{
myFiles = pathToMySongs.listFiles();
}
else
Toast.makeText(getBaseContext(), "No files found.", Toast.LENGTH_SHORT).show();
지금까지 해당 폴더의 모든 파일을 가져 왔습니다. 이제, 단순히 developer.android.com에
for(File file : myFiles)
{
String path = file.getAbsolutePath();
// apply your logic of inserting in database here
}
확인이 튜토리얼처럼, 각 루프를 사용하여 데이터베이스에 경로를 추가 : http://developer.android.com/training/basics/data-storage/databases.html
는 데이터베이스 및 데이터베이스에 대한 모든 CRUD 작업을 만드는 방법을 배울 수 있습니다.
BLOB 데이터 형식을 사용하여 저장할 수 있지만 SD 카드에 저장하고 DB에 저장하는 것이 좋습니다. 이렇게하면 응용 프로그램을 더 빠르게 실행할 수 있습니다. 파일로 미디어 유형의 데이터를 저장
장점
단점은 귀하의 전체 응용 프로그램의 크기가 증가 얻을 것이다
감사합니다 ...하지만 몇 가지 예를 들어 줄 수 있습니까? – Loki11
이러한 종류의 구현은 mp3 (또는 다른 유형의 바이너리) 파일의 수가 적고 유한 한 구성 데이터로 간주되는 특정 소프트웨어 프로젝트에서 실제로 필요합니다.예를 들어 알람 사운드에 사용되는 2 ~ 3 개의 짧은 mp3 파일이 있으며 다른 구성 데이터와 함께 수동으로 응용 프로그램 설치를 통해 전송해야합니다. –
데이터베이스에 사운드 파일을 저장하는 주된 이유는 제품 라인 접근 방식 일 수 있습니다. 데이터베이스를 수정하고 코드를 수정하지 않고도 많은 유사한 응용 프로그램을 개발할 수 있습니다.
댓글이있어 보지 않으므로 애플리케이션 크기에 댓글을 남기지 않았습니다.
예. blob 필드로 sqlite 데이터베이스에 작은 크기의 사운드 파일을 저장할 수 있습니다. 잘 작동한다. 먼저 데이터를 데이터베이스에 저장 한 다음 검색하여 임시 파일에 저장하십시오. 그렇게하면 데이터베이스에 사운드 파일을 저장할 수 있습니다.
확인이 :
//soundData is mp3 byte array taken from sqlite as blob
soundDataFile = File.createTempFile("sound", "sound");
FileOutputStream fos = new FileOutputStream(soundDataFile);
fos.write(soundData);
fos.close();
mediaPlayer.reset();
mediaPlayer.setDataSource(soundDataFile.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();
친애하는 사용자, MP3 파일의 데이터베이스에 저장해서는 안됩니다. 로컬 저장소에 저장하십시오. 데이터베이스가 해당 mp3에 대한 경로 만 갖도록하십시오. –
몇 가지 코드를 제공 할 수 있습니까? – Loki11
관련 항목 : [Store Android SQLite] (http://stackoverflow.com/q/9140952/1597744) –