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

데이터를 저장하는 과정에서 NullPointerException 오류가 납니다(수정) [closed]

0 추천

 

    private void DialogSimple(){
        AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
        alt_bld.setMessage("확인").setCancelable(
                false).setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        save();
                    }
                }).setNegativeButton("No",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // Action for 'NO' Button
                        dialog.cancel();
                    }
                });

        AlertDialog alert = alt_bld.create();
        // Title for AlertDialog
        alert.setTitle("이대로 완료 하시겠습니까?");
        alert.show();
    }

    private void save() {
        try {
            UserModel model = new UserModel();
            model.UserId = UserId.getText().toString();
            model.UserPwd = UserPwd.getText().toString();
            model.UserName = Name.getText().toString();

            db.AddUser(model);

            Toast.makeText(this,"회원가입", Toast.LENGTH_LONG).show();
            setResult(RESULT_OK);
            finish();
        } catch (Exception e) {
            setResult(RESULT_CANCELED);
            Toast.makeText(this,"오류, 회원가입에 실패하였습니다."+e, Toast.LENGTH_LONG).show();
            return;
        }
    }
}

save()메소드 부분에서 getText().toString()으로 데이터는 제대로 있습니다.

그런데 뭐가 문제인지 DB부분에서 UserModel이 널포인트 오류가 떠버리네요..

    public void AddUser(UserModel info){
        SQLiteDatabase sdb = getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put("UserId", info.UserId);
        values.put("UserPwd", info.UserPwd);
        values.put("UserName", info.UserName);
        sdb.insert("User",null,values);

    }

DB부분의 AddUser메소드 입니다.

public class UserModel {
    public String ID="";
    public String UserId="";
    public String UserPwd="";
    public String UserName="";
}

UserModel도 잘 되어있구요.

제가 try catch 문으로 잡아서

오류는 이런식으로 뜹니다ㅠㅠㅠ

어디가 문제인 지 알 수 있을까요??

 

질문을 종료한 이유: 쎄미님께서 해결해주셨습니다!
그로악 (270 포인트) 님이 2018년 10월 23일 질문
그로악님이 2018년 10월 26일 closed
이미지가 아니라 코드로 넣으세요. 흐릿해서 뭐가뭔지 모릅니다.
헉 코드로 다시 작성했습니다 죄송합니다ㅠㅠ
db 변수를 갖고 오는 부분도 올려주세요
DB변수로 가져오는 부분이
public class RegisterActivity extends AppCompatActivity {
    DBHelper_User db;

요부분 말씀하시는 건가요??
제가 php를 쓰지 않고 안드로이드 SQLite로 하고 있어서...
어쨌거나 db 변수가  null인데, 거기다 addUser()를 했다는 내용이니, db변수를 어떻게 초기화했는지를 살펴봐야죠.
헉 감사합니다ㅠㅠㅠㅠㅠㅠ 말씀 듣고 찾아보다보니   
db = new DBHelper_User(this);

이부분이 빠졌었네요!! 정말 감사드립니다ㅠㅠㅠ
...