Skip to content
이시현 edited this page Jul 9, 2021 · 2 revisions

프로젝트 추가 설명

[주요 참고 링크]


[프로젝트 구성 파일]

<Java 파일>

엑티비티 클래스들의 상속 관계는 위와 같다.

자손 클래스는 부모 클래스가 가지고 있는 성질을 물려받는다.

(예로 들어 MyWifiBaseActivity 덕분에 모든 엑티비티에서 WIFI 끊김 여부를 확인할 수 있게 됨)

기타 아래에 설명되지 않은 클래스는 현재 사용하지 않는다.

  • MyWifiBaseActivity – WIFI 끊김 여부를 확인하는 Receiver를 정의하는 클래스

  • MyBaseActivity – Timeout 타이머를 관리하는 클래스


  • MainActivity – 메인 화면을 담당하는 클래스 (독자적인 Timeout 조건을 필요로 한다.)

  • SettingsActivity – 설정 화면을 담당하는 클래스

  • ChangeActivity – 메인 화면 버튼의 커스텀 구성을 할 수 있도록 해주는 편집 클래스

  • ListActivity – ChangeActivity 내에서 원하는 위치를 눌렸을 때 띄우는 선택 클래스

  • Weather – 날씨 웹을 관리하는 클래스

  • Web – URL를 받고, 그에 따는 웹을 관리하는 클래스


  • PopupActivity1 (한국어/영어) - 이동 여부를 확인할 때 띄우는 팝업을 관리하는 클래스

  • PopupActivity2 (한국어/영어) - 텍스트 팝업을 관리하는 클래스

  • PopupActivity3 (한국어/영어) - 이미지 + 텍스트 팝업을 관리하는 클래스

  • Fragment1 (한국어/영어) - 메인 화면에서 두 번째 버튼 페이지를 관리하는 클래스

  • Fragment2 (한국어/영어) - 메인 화면에서 첫 번째 버튼 페이지를 관리하는 클래스

    (Fragment2 의 버튼 구성을 ChangeActivity에서 손볼 수 있는 것이고, Fragment1은 고정임)


  • App – 엑티비티가 아닌 클래스에서 App Context, resource를 접근하게 도와주는 클래스

  • ButtonNumber – Fragment2의 버튼 선택지들의 텍스트, 그림을 관리하는 클래스

  • ExpandAdapter – 설정 창의 Expandable list view를 관리하는 Adapter 클래스

  • MyAdapter (한국어/영어) - 메인 화면의 Fragment를 관리하는 Adapter 클래스

  • MyListAdapter – ListActivity의 버튼 선택지 List view를 관리하는 Adapter 클래스

  • RequestJavaV2Task – 다이얼로그플로우에서 답변을 가져오고 콜백 함수를 호출하는 클래스

  • WifiReceiver – WIFI 상황을 관리하는 객체 클래스, MyWifiBaseActivity에서 사용

  • myGroup – 설정 창의 그룹, 자손 묶음을 관리하는 객체 클래스


<추가적인 XML 파일>

  • Drawable XML files -

    그림을 관리하는 파일들. 버튼, 팝업의 그림은 모두 이 파일 내에서 찾을 수 있다.

  • Layout XML files -

    엑티비티를 담당하는 클래스 (또는 다이얼로그 등)의 Layout (화면) 파일들이다.

    (예로 들어서 메인 화면을 담당하는 MainActivity 클래스는 activity_main 파일과 결합이 됨)


  • Anim files -

    앱의 애니메이션을 관리하는 파일들.

    (현재는 로그인 창에서 틀린 암호 입력 시 shake animation, 설정 창을 열고 닫을 때 slide animation 등이 있음)

  • Raw files -

    다이얼로그플로우와의 연동을 위한 키가 JSON 파일 형식으로 저장되어 있다. (보안 상의 이유로 Gitignore 처리되어 있음)

    (키 파일 이름은 메인 엑티비티에서 R.raw.credential_reception_robot)