안드로이드 스튜디오 sqlite 연동질문
본문
안녕하세요 안드로이드 스튜디오와 sqlite 연동에대해서 질문드립니다 ㅜㅜ package com.example.dbtest2; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { myDBHelper myHelper; DatePicker dp; Button bt1; SQLiteDatabase sqlDB; EditText Et1; int cYear ; int cMonth ; int cDay ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dp =(DatePicker) findViewById(R.id.dpker1); bt1 = (Button)findViewById(R.id.button1); Et1 = (EditText) findViewById(R.id.et1); myHelper = new myDBHelper(this); dp.init(dp.getYear(), dp.getMonth(), dp.getDayOfMonth(), new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { cYear = year; cMonth = monthOfYear+1; cDay = dayOfMonth; } }); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sqlDB = myHelper.getWritableDatabase(); sqlDB.execSQL("INSERT INTO diaryTBL(dYear,dMonth,dDay,dinfo) VALUES ('" + cYear + "', '" + cMonth + "','" + cDay + "','"+ Et1.getText().toString() +"' );"); sqlDB.close(); Toast.makeText(getApplicationContext(), "입력됨", Toast.LENGTH_SHORT).show(); } }); } public class myDBHelper extends SQLiteOpenHelper { public myDBHelper(Context context) { super(context, "diary8DB", null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE diaryTBL ( dYear INTEGER PRIMARY KEY,dMonth INTEGER,dDay INTEGER, dinfo CHAR(100));"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS diaryTBL"); onCreate(db); } } }
avd로 구동하여 앱을 실행해보면 정상적으로 입력이 됩니다
근데 문제는 앱을 처음실행하여 처음 한번만 저렇게 저장이되고 다시한번 버튼을 누르면 앱이 꺼지면서
데이터베이스에 저장이 안됩니다..
제가 원하는건 날짜를 누르고 버튼을 누를때마다 데이터베이스에 값이 저장되는것인데
아무리 구글링을 해봐도 답을 찾을수가 없어 질문드립니다 ㅜㅜ
코드에서 잘못된 부분이 있는건가요..?
답변을 작성하시기 전에 로그인 해주세요.