Today 요약
[✅] 프로그래머스 코딩테스트 Lv0 1문제
[✅] flutter 강의 3개
배운 점
1. flutter camera
flutter pub add camera
- 자동으로 권한을 요청하며 사용자가 허용하지 않으면 에러를 반환
1-1 Android
- sdk 최소 버전 21 (android/app/build.gradle)
minSdkVersion 21
camera | Flutter Package
A Flutter plugin for controlling the camera. Supports previewing the camera feed, capturing images and video, and streaming image buffers to Dart.
pub.dev
2. flutter permission_handler
flutter pub add permission_handler
permission_handler | Flutter Package
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
pub.dev
- 핸들러 패키지를 사용하여 카메라 권한을 관리
2-1 isDenied / isPermanetlyDenied
Future<void> initPermissions() async {
final cameraPermission = await Permission.camera.request();
final cameraDenied =
cameraPermission.isDenied || cameraPermission.isPermanentlyDenied;
}
- cameraPermission: 카메라 권한을 관리하기 위한 권한 객체 Permission.camera와 같은 권한 유형에 대한 정보와 상태를 저장한다
- isDenied : 권한이 거부된 경우 true 아니면 false 사용자가 카메라 권한을 거부했을시 true
- isPermanetlyDenied : 영구적으로 거부된 경우 다시 묻지 않기 옵션 선택한 경우 true, 아니면 false
- 위의 코드는 두가지 상황 중 하나라도 해당되는 경우 true
2-2 initCamera
Future<void> initCamera() async {
final cameras = await availableCameras();
print(cameras);
}
//[CameraDescription(0, CameraLensDirection.back, 90), CameraDescription(1, CameraLensDirection.front, 270)]
- 카메라가 얼마나 있는지 알아야 함 > 보통 사용자는 두개의 카메라 (전면, 후면)을 가지고 있다
- 0 = back / 1 = front
3. flutter initState()
Future<void> initPermissions() async {
}
@override
void initState() {
super.initState();
initPermissions();
}
- initState는 flutter Lifecycle 중 하나인메서드 해당 위젯이 처음으로 생성될 때 초기화 작업을 수행하는 데 주로 사용된다
- @override: 재정의
- super.initState : 상위 클래스 state 클래스의 initState 메서드를 호출하는 역할. 상위 클래스의 초기화 코드를 실행시키고나서, 그 이후에 추가적인 초기화 작업을 할수 있도록 한다
- initPermissions 비동기 함수 : 작업이 완료되는 것을 기다리지 않고 다른 작업을 계속 할 수 있다는 점
3-1 비동기
void main() {
print('Start');
fetchData();
print('End');
}
void fetchData() async {
await Future.delayed(Duration(seconds: 2)); // 비동기 작업 시뮬레이션
print('Data fetched');
}
- fetchData : 비동기 함수로 표시 await 키워드를 사용하여 Future.delayed 함수가 완료될 때까지 기다린다
저번주는 워크샵 함 다녀오고 나니 몸뚱아리가 너무 힘들어서 오래 쉬었다.. 안그래도 해외 출장 가기 전까지 야근틈틈히 해야하는데 ...내 체력아...ㅠ 2주안에 빡세게해서 완성하고 공부도 틈틈히 하는 갓생러가 되어야지
'TIL' 카테고리의 다른 글
20230918 TIL :: 코로나에 진 몸뚱아리 (0) | 2023.09.18 |
---|---|
20230912 TIL :: 아무생각없이 공부만 한 날 (0) | 2023.09.12 |
20230905 : 오늘도 해낸 나 아주 칭찬 (0) | 2023.09.05 |
20230904 TIL : 믿음의 월요일 라스고 (0) | 2023.09.04 |
20230902 TIL : 중꺾마,, ! (5) | 2023.09.02 |