// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.
플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.
오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.
카메라 플러그인, WebRTC(음성통화, 영사통화, P2P 파일 공유), 아고라 API 등 새로운 개념이 들어왔다.
이 앱은 내가 필요한 기능이 없을 거라고 생각했는데, 내비게이션 기능은 사용할 것 같다.
사전 준비
1. 아고라 회원가입
-회원가입할 때 홈페이지를 물어보는데, 그냥 티스토리 주소를 넣었다. 이메일 인증하고, 맞춤 설정하면 끝.
-config-features(generate temp RTC token)-적당한 채널명 입력 후 generate
(토큰값은 24시간만 유용)
-플러터로 돌아와 lib/const폴더 생성 후 agora다트 파일 생성(app id, channel name, temp token 필요)
2. 이미지 추가, pubspec 설정
3. 네이티브 설정
- read_phone_state, access_network_state, internet, record_audio, modify_audio_setting, camera, bluetooth_connect
- build.gradle 파일 변경
4. 프로젝트 준비하기
구현하기
1. 홈 스크린 위젯
2. 캠 스크린 위젯
일단, 작동은 되는 듯하다.
<추가내용>
ResolutionPreset값
-low: 안드로이드와 웹 240p, 아이폰 352*288
-medium: 모두 480p
-high: 모드 720p
-veryHigh: 모두 1080p
-ultraHigh: 안드로이드, 아이폰 2160p, 웹 4096*2160
-max: 최대 해상도
스택구조: LIFO(Last In First Out), 마지막에 들어간 자료가 맨 먼저 나가는 방식, 뒤돌리기 기능
내비게이션
-push(): 새로운 스크린 추가
-pushReplacement(): 다른 스크린으로 대체
-pushAndRemoveUntil(): 새로운 스크린 추가, 기존 스크린 삭제할지 여부 선택
-pop(): 현재 스크린 삭제, LIFO
-maybePop(): 마지막 남은 스크린이 아닐 때만 pop() 함수를 실행. 마지막 남은 스크린이라면 아무것도 실행하지 않음.
-popUntil(): 모든 스크린을 대상으로 삭제할지 여부 선택
permissionStatus
-denied: 권한이 거절된 상태
-granted 권한이 허가된 상태
-restricted: iOS만 해당, 청소년, 자녀 보호 기능
-limited: iOS만 해당, 제한적인 권한
-permanentlyDenied: 권한이 거절된 상태, 사용자가 직접 권한을 허가해줘야 함.
FutureBuilder의 ConnectionState
-.none: 비동기 함수 제공하지 않은 상태
-.waiting: 로딩 중
-.active: 스트림이 실행 되고 있는 상태
-.done: 요청이 끝난 상태
시간은 없고, 따라 해볼 건 많고.. 이해는 나중에 한다고 했지만 마음이 조급해진다.
내일은 더 열심히 해 보자~^^
'버킷리스트 > 앱 만들기' 카테고리의 다른 글
오공완(with 코드팩토리의 플러터 프로그래밍) #14 (포토 스티커) (0) | 2024.08.08 |
---|---|
오공완(with 코드팩토리의 플러터 프로그래밍) #13 (오늘도 출첵) (0) | 2024.08.06 |
오공완(with 코드팩토리의 플러터 프로그래밍) #11-2 (동영상 플레이어) (0) | 2024.08.03 |
오공완(with 코드팩토리의 플러터 프로그래밍) #11-1 (동영상 플레이어) (0) | 2024.07.31 |
오공완(with 코드팩토리의 플러터 프로그래밍) #10 (디지털 주사위) (0) | 2024.07.30 |