마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 sqlite insert 에러 질문드립니다.

0 추천
  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

에러가 나네요ㅠㅠ

 

한번 확인 부탁드립니다ㅠㅠ

 

 

 

 

 

 

 

sss0922 님이 2015년 1월 28일 질문

2개의 답변

0 추천
똑같은 질문으로 게시판 도배하지 마세요.
익명사용자 님이 2015년 1월 28일 답변
0 추천

    String sql1 = "insert into " + TABLE_NAME + " (" + TITLE + ", " BODY
        ") values('a', 'b');";

이런식으로 사용해보셔요

nicehee (73,100 포인트) 님이 2015년 1월 28일 답변
답글 감사합니다. 알려주신 쿼리문처럼 사용중인데 안되더라구요ㅠㅠ 현재 올린 소스도 같은 쿼리문을 사용하였습니다.
...