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

getReadableDatabase 질문입니다.

0 추천
public class LockScreen extends Activity
    {
        private static final String TAG = "QDataBase";
        private String password = "";
        private String master = "010101";
        private int count = 0;
        private int master_count = 0;

        CountDownTimer mCountDownTimer = null;
        int secondsLeft = 0;

        private TextView Tvinfo = null;

        //단축 번호 전화걸기를 위한 DB 호출
        private Cursor mCursor = null;
        private String pnum;

        private SQLiteDatabase temp;
        private Context mContext;
        private SQLiteOpenHelper db;

        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rock_main);
        Tvinfo = (TextView) findViewById(R.id.tv_info);

        HomeKeyLocker homeKeyLocker = new HomeKeyLocker();
        homeKeyLocker.lock(this);

        final TextView TvTimer = (TextView) findViewById(R.id.tv_timer);

        temp = db.getReadableDatabase();

 

여기서 번번히 temp = db.getReadableDatabase();가 NullPointException이 뜹니다.

어느 부분을 수정해야 exception이 안 뜰까요.

 

그리고

mCursor = temp.rawQuery("select * from " + "QDList " + "where patt = " + password, null);
//password가 DB의 patt column 중에 있다면 해당 row의 num을 받아서 전화걸기
if (mCursor != null){
    pnum = mCursor.getString(mCursor.getColumnIndex("num"));

이렇게 하면 pnum에 DB의 'num' column 값이 들어가는거 맞죠?

- 위와 같은 액티비티입니다.

 

아스트랄로프 (250 포인트) 님이 2016년 11월 14일 질문

1개의 답변

0 추천
 
채택된 답변
SqliteOpenHelper의 인스턴스를 초기화 안하셨네요.
Development Guy (70,570 포인트) 님이 2016년 11월 14일 답변
아스트랄로프님이 2016년 11월 14일 채택됨
...