dbOpenHelper = new DBOpenHelper(getApplicationContext());
dbOpenHelper.open();
String[] proj = { BaseColumns._ID, MediaStore.Audio.Media.DATA };
musicCursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, null,
null);
if (musicCursor != null && musicCursor.moveToFirst()) {
int idColumn = musicCursor.getColumnIndex(BaseColumns._ID);
int dataColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.DATA);
do {
String mid = musicCursor.getString(idColumn);
String mdatastream = musicCursor.getString(dataColumn);
if (mdatastream.endsWith(".mp3")) {
musicIdDb = Integer.parseInt(mid);
//문제
mDbOpenHelper.insertData(musicIdDb);
genreList.add(mdatastream);
dbList.add(mid);
}
} while (musicCursor.moveToNext());
//insert 하는 부분 메소드 정의 입니다. 코드 부분이 따로 따로 보여지질 않아서 이렇게 합쳐서 올립니다.
// DbOpneHelper.class
public void insertData(int music_id){
String sql = "insert into "+Databases.CreateMusicTable.M_TABLENAME
+" (music_id) values("+music_id+");";
mDB.execSQL(sql);
}
//ContentValues를 사용해도 역시 같은 에러 발생하네요ㅠㅠ
public long insertDataId(int music_id){
mDB = mDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("music_id", music_id);
return mDB.insert(Databases.CreateMusicTable.M_TABLENAME, null, values);
}
미디어DB 에서 값을 얻어와 내장DB에 저장하는 코드입니다.
insert 부분에서 에러가 나는데 왜 nullpointerException 에러가 나는지 모르겠습니다.
정확히
java.lang.RuntimeException: Unable to start service com.hh.dbservice.DBServise@42e523f0 with Intent{ cmp=com.hh.player/com.hh.dbservice.DBService }: java.lang.NullPointerException
에러가 나네요ㅠㅠ
한번 확인 부탁드립니다ㅠㅠ