示例#1
0
  //////////////////////////////////
  // 추가 모드:
  // 데이터베이스에 새 프로필을 기록한다.
  //////////////////////////////////
  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();
  }
示例#2
0
  //////////////////////////////////
  // 수정 모드:
  // 데이터베이스에 프로필의 수정사항을 기록한다.
  //////////////////////////////////
  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();
  }