mCursor = dbhelper.getMatchPatt(password);
//password가 DB의 patt column 중에 있다면 해당 row의 num을 받아서 전화걸기
if (mCursor.getCount() > 0){
pnum = mCursor.getString(2);
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+pnum));
startActivity(intent);
cursor로 입력받은 문자열이 있는 row를 찾아 그 row의 다른 data를 String으로 받으려 하는데 마지막줄에서 오류가 뜹니다.
또 이것저것 예제를 찾아가면서 DB 생성자 관련해서 짜봤지만
package com.example.ksw.lockscreenview;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Matrix;
import android.os.Bundle;
import android.database.SQLException;
import android.database.Cursor;
import android.util.Log;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.logging.Handler;
import android.content.SharedPreferences;
import static com.example.ksw.lockscreenview.R.id.tnum;
public class QDialList extends Activity
{
private static final String TAG = "QDataBase";
private DBHelper dbHelper;
private Cursor mCursor;
private InfoClass mInfoClass;
private ArrayList<InfoClass> mInfoArr;
private CustomAdapter mAdapter;
SharedPreferences prefs;
//private static final String[] Temp1 = {"a","b","c"};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.qdial_list);
dbHelper = new DBHelper(this, "Quick.db", null, 1);
prefs = getSharedPreferences("Pref2", MODE_PRIVATE);
dbHelper.open();
여기서 계속 dbHelper.open();에서 null pointer exception에서 막힙니다.
해당 구문은 아래와 같습니다. 아래의 DBHelper open() 입니다.
예제들과 비교해서 딱히 차이가 있어보이지는 않는데...
public class DBHelper extends SQLiteOpenHelper
{
private static final String DATABASE_NAME = "Quick.db";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase db;
private DBHelper dbhelper;
private Context mCtx;
public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
{
super(context, name, factory, version);
}
//Db를 여는 메소드
public DBHelper open()
{
dbhelper = new DBHelper(mCtx, DATABASE_NAME, null, DATABASE_VERSION);
db = dbhelper.getWritableDatabase();
return this;
}