////////////////////////////////// // 추가 모드: // 데이터베이스에 새 프로필을 기록한다. ////////////////////////////////// void add_commit() { // 디비 객체 만들고 디비 스캔 DB = new Database(this); DB.Scan(); // 뻘짓방지. 미리 변수로 만들어놓음. String name = mProfileName.getText().toString(); String week = getWeekDayString(), responseText = mResponse.getText().toString(); int silentMode = getSilentMode(), denyMode = mDeny.isChecked() ? 1 : 0; // 프로필 이름의 중복 여부를 찾는다. // 프로필 이름 자체가 DB에서 키값으로 사용되기 때문에 이게 겹치면 난 이제 망한다. // 한규형이 빳다를 들고 우리집 문을 4번 두드리는걸 방지하기 위해, 이 코드를 추가한다. if (DB.isProfileDuplicated(name)) { new AlertDialog.Builder(this) .setTitle("프로필 이름 겹침") .setMessage("프로필 이름이 겹칩니다. 다른 이름을 사용하세요") .setNeutralButton(android.R.string.ok, null) .show(); return; } // 디비에 기록 DB.addProfile( name, week, shour, sminute, ehour, eminute, silentMode, denyMode, responseText, mRespondEnabled.isChecked() ? 1 : 0, mRespondTimeEnabled.isChecked() ? 1 : 0, 1); // 완료 토스트(@이호연형??) 띄움 Toast.makeText(this, "프로필이 추가되었습니다.", Toast.LENGTH_SHORT).show(); // 끗 finish(); }
////////////////////////////////// // 수정 모드: // 데이터베이스에 프로필의 수정사항을 기록한다. ////////////////////////////////// void edit_commit() { // 디비 객체 만들고 디비 스캔 DB = new Database(this); DB.Scan(); // 임시 프로필 변수를 만든다. int index = DB.getProfileIndex(targetProfile.Name); Profile profile = new Profile(); // 이제 이 임시 프로필에 수정사항을 기록한다. profile.Name = mProfileName.getText().toString(); profile.week = getWeekDayString(); profile.responseText = mResponse.getText().toString(); profile.silentMode = getSilentMode(); profile.denyMode = mDeny.isChecked() ? 1 : 0; profile.shour = shour; profile.sminute = sminute; profile.ehour = ehour; profile.eminute = eminute; // 시간 수정사항도 기록. profile.responseEnabled = mRespondEnabled.isChecked() ? 1 : 0; profile.responseTimeEnabled = mRespondTimeEnabled.isChecked() ? 1 : 0; profile.enabled = targetProfile.enabled; // 디비에 기록 DB.Profiles.set(index, profile); DB.editProfile(targetProfile.Name, index); // 완료 토스트(@이호연형??) 띄움 Toast.makeText(this, "프로필이 수정되었습니다.", Toast.LENGTH_SHORT).show(); // 끗 finish(); }