[1] Flutter 앱에 Firebase 추가하기 Flutter 앱에 Firebase 추가 문서를 보고 따라해주세요 그리고 iOS는 안드로이드와 달리 한단계 더 있는데, APN(Apple push notification) 구성을 따로 해줘야합니다. (참고: iOS에서 Firebase 클라우드 메시징 클라이언트 앱 설정) [2] iOS - APNs APNs(Apple push notification service)는 애플 developer 사이트에 들어가서 인증서 또는 인증키를 발급해야지 사용할 수 있습니다. 두가지 방식의 차이는 이 글을 참고해주세요! (저는 처음에 잘모르고 인증서, 인증키 둘다 만들었는데 하나만 만들어도 됩니다) 우선 developer사이트에서 앱등록 먼저 해줄게요 인증서(2.1) 또..
[1] 문서보기 한글문서: flutter-ko.dev/docs/development/data-and-backend/json 영어문서: flutter.dev/docs/development/data-and-backend/json 1) serialization 용어 정리 우선 serialization에 대한 용어정리부터 시작합니다. Encoding과 serialization는 같은 것입니다. 데이터구조(data structure)를 string으로 바꿉니다. 이와 반대되는 개념으로 Decoding과 deserialization이 있습니다. string을 데이터구조로 바꿉니다. 하지만, serialization(직렬화)는 일반적으로 데이터 구조를 읽기 쉬운 형태로 변환하는 과정을 가리키기도 합니다. 혼란을 피하..
[1] 문서보기 Spacer 는 Row 나 Column 같은 Flex container 안에 있는 위젯들 사이에 adjustable, empty spacer 를 만들때 쓰는 위젯이라고 합니다. 문서에 있는 예제를 돌려보면 이렇게 됩니다. adjustable한 빈공간이 잘 들어갔네요! 생성자는 이렇게 생겼습니다. [2] 실전예제 Row를 만드는데 왼쪽 화면에 나의 가족 코드~~ 텍스트가 붙어야하고 오른쪽 화면에 버튼이 붙으면 좋겠어! 이럴때 두 위젯 사이에 adjustable한 empty spacing이 필요합니다. 그때 두개의 위젯사이에 Spacer를 위치하면 됩니다. Row( children: [ Text("나의 가족 코드: ${UserManager().user.familyCode}", style: _..
[1] 문서보기 FutureBuilder 는 Future와 상호작용한 마지막 스냅샷으로 자신을 빌드하는 위젯(?) 이라고 합니다. 정의가 잘 안와닿는데, 사용용도를 보면 확 이해가 됩니다 API콜을 해서 응답을 받기 전까지는 로딩 위젯를 보여주고 성공 응답을 받으면 데이터를 보여주는 위젯을 보여주고 실패 응답을 받으면 에러메세지를 보여주는 위젯을 보여주고 싶을때 쓰는 위젯입니다. 문서에 예제가 너무 잘되어있는데 이런식으로 쓸 수 있습니다. (문서코드 복붙) class MyStatefulWidget extends StatefulWidget { MyStatefulWidget({Key key}) : super(key: key); @override _MyStatefulWidgetState createState(..
CupertinoAlertDialog 플러터에서 iOS 스타일의 얼럿을 만드려면 CupertinoAlertDialog 를 쓰면 됩니다. 생성자는 이렇게 생겼습니다. 예를 들어 이렇게 만들면 됩니다. CupertinoAlertDialog( title: Text("Alert"), content: Text("My alert message"), actions: [CupertinoDialogAction(isDefaultAction: true, child: Text("Close")), onPressed: null] ) showCupertinoDialog 그럼 얼럿을 만드는 법을 알았으니 어떻게 띄울수있는지 알아보겠습니다. showCupertinoDialog function을 사용하면 됩니다. 이렇게 생겼고 iOS-..
현재 내 컴퓨터에서 돌리고 있는 로컬 서버에 접속하려면 어떻게 해야할까요?! (저는 장고로 API 개발중이여서 장고 서버를 기준으로 한 글입니다.) 우선 시뮬레이터(iOS), 에뮬레이터(안드로이드)도 하나의 OS이기 때문에 여기서 localHost를 부르면 자기자신이 됩니다. (내 컴퓨터가 아니라) 그래서 앱에서 api 콜을 해봐도 서버에 연결이 안된답니다,, Android Emulator 네트워킹 설정 을 보면 10.0.0.2.2라는 특수주소로 접근할 수 있다고합니다. iOS Simulater는 또 다르게 해줘야하는데 (찾아본 여러 방법 다 안되서 적지 않을게요,,) 귀찮으니까 여기를 보고 장고 서버가 다른 컴퓨터에서도 접속할 수 있게 해보겠습니다. [1] 터미널에서 아래의 ..
플러터에서 화면전환을 하고 싶다면 Navigator와 CupertinoPageRoute를 보면 됩니다. CupertinoPageRoute 전체 화면을 iOS 전환으로 대체하는 모달 경로 (modal route) 라고 합니다. 생성자는 이렇게 생겼어요 이런식으로 이동하고자 하는 위젯을 builder에 넣어주면 됩니다. CupertinoPageRoute(builder: (context) => SignupWidget()) 그리고 fullScreenDialog 디폴트값이 false인데요, false이면 push처럼 동작하고 (오른쪽에서 왼쪽으로 새로운 페이지가 나타남) The page slides in from the right and exits in reverse. The page also shifts to ..
아래 움짤처럼 여러 화면에서 상태를 공유해야할때 어떻게 해야하는지 State management 문서를 살펴보겠습니다. 1) 선언적으로 생각하기 우선 선언적으로 생각하라고 합니다. SwiftUI 처럼 state가 바뀌면 뷰를 아예 다시 그리는 컨셉 🆗👌 2) 임시상태 vs 앱상태 (Ephemeral state vs app state) 그 다음에 임시 상태와 앱상태를 구분하라고 합니다. (Ephemeral state vs app state) 임시상태는 말그대로 단일 위젯에만 딱 포함되는 상태입니다. (다른 위젯들이 이 위젯의 상태에 대해 몰라도됨) 그리고 사용자가 앱을 닫았다가 다시 시작하면 초기값으로 재설정되도 되는 상태입니다. 이런 경우 setState()를 써서 상태관리를 해주면 됩니다. 앱상태는 앱..
textField.text로 값을 가져올 수 있으면 좋겠지만,,,,! (이렇게 못함) Retrieve the value of a text field 문서에서는 TextField의 text를 얻기위해서 TextEditingController를 사용하라고 합니다. CupertinoTextField 생성자를 보면 TextEditingController를 넣어줄 수 있게 되어있네요 현재 이 화면을 만드는 LoginForm 코드는 이렇게 되어있는데요, 텍스트 필드에서 값을 가져올 수 있도록 바꿔보겠습니다,,!! 1) TextEditingController 만들기 우선 TextEditController를 만들어주세요 그리고 dispose함수를 오버라이딩하여서 위젯이 disposed될때 controller도 disp..
우선 플젝에 images 디렉토리를 만들어줍니다. 그리고 여기 넣고 싶은 이미지파일들을 넣어주세요 (저는 이 안에 tabbar라는 디렉터리도 하나 더 만들었어요) 아래 하이라이트한 형식의 이미지들을 넣을 수 있다고 합니다-! 그 다음에 pubspec.yaml에 가서 flutter 밑에 네모 친 것 처럼 이미지 디렉토리를 명시해주세요 문서에 보면 이렇게 해주는 것은 이 디렉토리에 있는 모든 이미지들을 include하겠다!! 하는 거라고 합니다. 이렇게 한땀한땀 이미지 path들을 넣어줄 수 도 있는데, 이것은 너무 귀찮으니까 디렉토리로 해줍니다. 그러면 pub get이 뜨는데 이걸 누르거나 아니면 콘솔 > 터미널 누르고 아래 명령어를 입력해주세요 flutter pub get 근데 iOS에서는 이미지를 잘 ..
- Total
- Today
- Yesterday
- Watch App for iOS App vs Watch App
- flutter build mode
- flutter deep link
- flutter dynamic link
- github actions
- ribs
- drf custom error
- cocoapod
- 플러터 싱글톤
- DRF APIException
- Flutter Spacer
- Sketch 누끼
- ipad multitasking
- SerializerMethodField
- Flutter Clipboard
- Django Heroku Scheduler
- Django FCM
- flutter 앱 출시
- 구글 Geocoding API
- Python Type Hint
- Flutter Text Gradient
- METAL
- 플러터 얼럿
- Flutter 로딩
- Flutter getter setter
- 장고 URL querystring
- PencilKit
- Dart Factory
- Django Firebase Cloud Messaging
- 장고 Custom Management Command
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |