-
Notifications
You must be signed in to change notification settings - Fork 0
Home
-
안드로이드, 안드로이드 스튜디오 사용 - https://developer.android.com/training/basics/firstapp/building-ui?hl=ko
-
다이얼로그플로우, 그리고 안드로이드 앱과의 연동 -
https://dialogflow.cloud.google.com/#/login
-
테미 설명서 및 SDK -
https://www.robotemi.kr/usermanual/
https://github.com/robotemi/sdk (Wiki Page)
-
추가적으로 사용한 안드로이드 API -
https://developer.android.com/reference/android/speech/tts/TextToSpeech (TTS)
https://developer.android.com/training/data-storage/shared-preferences?hl=ko (Shared preference)
https://developer.android.com/training/camerax?hl=ko (Camera)
https://medium.com/swlh/introduction-to-androids-camerax-with-java-ca384c522c5
https://developer.android.com/guide/components/broadcasts?hl=ko (와이파이)
https://developer.android.com/reference/android/os/Handler (Timeout handler)
https://developer.android.com/reference/android/widget/ListView (Listview, 버튼 커스텀 구성에서 사용)
https://developer.android.com/reference/android/widget/BaseAdapter
https://developer.android.com/reference/android/widget/ExpandableListView (ExpandableListView, 설정 창에서 사용)
https://developer.android.com/reference/android/widget/BaseExpandableListAdapter
https://developer.android.com/guide/components/fragments?hl=ko (Fragment, 메인 화면 버튼)
https://developer.android.com/reference/androidx/viewpager2/adapter/FragmentStateAdapter
-
얼굴인식 ML Kit API - https://developers.google.com/ml-kit/vision/face-detection
엑티비티 클래스들의 상속 관계는 위와 같다.
자손 클래스는 부모 클래스가 가지고 있는 성질을 물려받는다.
(예로 들어 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 – 설정 창의 그룹, 자손 묶음을 관리하는 객체 클래스
-
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)