0
안녕 모두 나는 SD 카드에서 데이터베이스에 노래 이름을 저장하고 싶습니다. 다음 코드를 사용하지만 노래 이름을 저장하지 않습니다. 그것은 잘못된 내용을 저장합니다. 내 코드는 다음과 같습니다안드로이드에있는 sd 카드에서 데이터베이스에
final String[] proj = { MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.SIZE };
Log.e("media",""+proj.length);
SQLiteDatabase db;
db = openOrCreateDatabase("TestData.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
final String CREATE_TABLE_COUNTRIES ="CREATE TABLE IF NOT EXISTS songs (bpm INTEGER,songname TEXT);";
db.execSQL(CREATE_TABLE_COUNTRIES);
Log.e("media","table created");
ContentValues values = new ContentValues();
for(int i=0;i<proj.length;i++){
values.put("bpm", 0);
values.put("songname", proj[i]);
db.insert("songs", null, values);
}
Log.e("media","insered");
Cursor cx = db.rawQuery("select * from songs" , null);
if (cx != null) {
if (cx.moveToFirst()) {
do { int bpm=cx.getInt(0);
String songname =cx.getString(1);
Log.e("songs","bpm "+bpm+" songname "+songname);
}while (cx.moveToNext());
}
}
db.close();
musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, null, null, null);
Log.e("media1",""+musiccursor);
내 로그 고양이 출력은 다음과 같습니다
05-02 12:28:02.716: ERROR/media(957): 4
05-02 12:28:03.156: ERROR/media(957): table created
05-02 12:28:03.986: ERROR/media(957): insered
05-02 12:28:03.986: ERROR/songs(957): bpm 0 songname _id
05-02 12:28:03.986: ERROR/songs(957): bpm 0 songname _data
05-02 12:28:03.986: ERROR/songs(957): bpm 0 songname _display_name
05-02 12:28:03.986: ERROR/songs(957): bpm 0 songname _size
05-02 12:28:04.026: ERROR/media1(957): [email protected]
저를 도와주십시오.