보시다시피 button1 을 클릭하게되면
member 테이블에 editname(문자), editTime(숫자), editKcal(숫자) 이렇게 3가지 정보가 들어가게 하였습니다
그런데 실행을 시키면 '응답할수 없습니다' 하고 꺼져 버립니다.
혹시나 다른부분에 문제가 있을까해서 (1) 번 부분을 지운후 (2)번부분만 넣고 실행하면
토스트가 실행이 되는데 (1)번을 넣게되면 오류가 발생합니다
제가 뭘 잘못 쓰고 있는지 궁금합니다.
DB를 검색하는 부분이나 초기화 시키는 부분은 잘되는데 입력하는것만 안됩니다..
(혹시 다른부분을 위해 전문을 올리겠습니다 )
public class FourActivity extends Activity implements OnClickListener {
myDB my;
EditText editName, editTime, editKcal;
SQLiteDatabase sqlDB2;
ImageView imgView;
SQLiteDatabase sql;
int data[] = new int[6];
int cnt = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_4th);
setTitle("소모 칼로리");
data[0] = R.drawable.c0;
data[1] = R.drawable.c1;
data[2] = R.drawable.c2;
data[3] = R.drawable.c3;
data[4] = R.drawable.c4;
data[5] = R.drawable.c5;
setContentView(R.layout.activity_4th);
imgView = (ImageView) findViewById(R.id.imgView);
Button backButton = (Button) findViewById(R.id.backButton);
Button forwardButton = (Button) findViewById(R.id.forwardButton);
editName = (EditText) findViewById(R.id.editName);
editTime = (EditText) findViewById(R.id.editTime);
editKcal = (EditText) findViewById(R.id.editKcal);
Button button1 = (Button) findViewById(R.id.button1);
my = new myDB(this);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sql = my.getWritableDatabase();
sql.execSQL("INSERT INTO member VALUES ( '"
+ editName.getText().toString() + "' , "
+ editTime.getText().toString() + " , "
+ editKcal.getText().toString() + ");");
sql.close();
Toast.makeText(getApplicationContext(), "기록됨", 0).show();
}
});
backButton.setOnClickListener(this);
forwardButton.setOnClickListener(this);
}
public class myDB extends SQLiteOpenHelper {
public myDB(Context context) {
super(context, "Kcal", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE member ( gName1 CHAR(20) PRIMARY KEY, gNumber1 INTEGER, gNumber2 INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS member");
onCreate(db);
}
}
public void forward() {
if (cnt == data.length - 1) {
Toast.makeText(this, "마지막 사진입니다.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "다음사진", Toast.LENGTH_SHORT).show();
cnt++;
imgView.setImageResource(data[cnt]);
}
}
public void back() {
if (cnt == 0) {
Toast.makeText(this, "첫 사진입니다.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "이전사진", Toast.LENGTH_SHORT).show();
cnt--;
imgView.setImageResource(data[cnt]);
}
}
@Override
public void onClick(View v) {
Log.i("my info", "v의 값" + v);
int id = v.getId();
if (id == R.id.backButton) {
back();
}
if (id == R.id.forwardButton) {
forward();
}
}
}