전체 글 (30) 썸네일형 리스트형 [flutter] Android appbundle 빌드하기 1. pubspec.yaml 파일에서 버전 및 빌드번호 수정 version: 1.1.1+19 2. 터미널창에서 아래 순서로 빌드합니다 % flutter clean % flutter build appbundle 3. 아래 경로에서 app-release.aab 파일을 찾으면 됨. ✓ Built build/app/outputs/bundle/release/app-release.aab (48.9MB). [Firebase] android 프로젝트 등록하기 Flutter에서 Firebase사용을 위한 공식 가이드인 FlutterFire를 보면 크게 두가지 방법으로 프로젝트를 등록할 수 있습니다. 첫번째는 FlutterFire cli를 통한 등록 방법이고, 다른 하나는 manual 구성 방법입니다. 최근에서는 FlutterFire cli를 통한 방법을 추천하고 있는 추세로 보입니다. 경험상 두가지 방법에 각각 장단점이 있습니다. 일단 manual로 구성할 경우 필수 패키지라고 할 수 있는 crashlytic 구성에 문제가 발생할 수 있습니다. 반대로 FlutterFire cli를 통해 구성할 경우 최신 버전의 패키지를 사용하기 편한 장점이 있지만, 제가 시도했던 22년 초까지는 messaging 기능을 추가할 때 문제가 많이 발생하였습니다. 결국에 제가 앱을.. [Firebase] keytool 을 통한 SHA-1 & SHA-256 지문 생성 Firebase 에 안드로이드 프로젝트를 등록하기 위해서는 디버그용 서명 인증서가 필수입니다. 프로젝트 생성시에는 SHA-1 지문만 우선적으로 등록하면 되지만, Firebase masseging을 사용하기 위해서는 어차피 SHA-256지문도 필요하기 때문에 두가지 지문을 한번에 등록하는 것이 나중을 위해서 편합니다. 참고로 릴리즈용(플레이스토어 등록용) 지문은 플레이스토어에 앱을 등록하게 되면, 플레이스토어에서 제공을 해주고 그 지문을 다시 Firebase 콘솔에서 등록하시면 됩니다. https://developers.google.com/android/guides/client-auth Authenticating Your Client | Google Play services | Google Develope.. [Flutter] TextField hint & helper TextField 의 대한 설명, 입력 예시 등등 TextField를 꾸미기 위해 많이 사용되는 hint, helper 입니다. 이름만으로는 헷갈릴 수 있는 아래 그림을 보시면 이해가 되리라 생각됩니다. 각각 텍스트와 스타일을 줄 수 있습니다. TextField 의 decoration 속성 내부에 아래와 같이 사용할 수 있습니다. decoration: const InputDecoration( hintText: '힌트 텍스트', hintStyle: TextStyle(color: Colors.grey), helperText: '헬퍼 텍스트', helperStyle: TextStyle(color: Colors.red) ), [Flutter] 로그인을 위한 TextField 만들기 Firebase를 통한 Authentification기능을 보기에 앞서, ID/PW 또는 핸드폰번호/인증번호 등을 입력받기 위한 TextFiled를 만들어 보겠습니다. 예제에서는 핸드폰번호 + 인증번호를 통한 로그인을 위한 TextField를 만들어 보겠습니다. 먼저 TextField를 컨트롤 하기 위한 Controller가 필요합니다. final TextEditingController _phoneNumCtrl = TextEditingController(); final TextEditingController _pinNumCtrl = TextEditingController(); 그리고 initState에서 컨트롤러에 Listener를 등록해주겠습니다. @override void initState() { _.. [Flutter] Row Column Axis & Alignment Flutter를 통해 UI작업을 할때 많이 사용하는 Row, Column에 대해 간단히 정리해 보겠습니다. 단어의 의미 그대로 Row는 가로행으로 여러 위젯을 배치할 때 사용됩니다. 반대로 Column은 세로열로 여러 위젯을 배치할때 사용을 합니다. 여기서 가장 헷갈리는 부분이 Axis 즉, 축의 의미일 것 같습니다. Flutter 에서는 mainAxis와 crossAxis라는 용어로 사용을 하고 있습니다. 그런데 mainAxis와 crossAxis는 단순히 가로, 세로의 의미가 아닙니다. 주축과 종축으로 구분하여 생각하시면 이해가 쉬울 것 같습니다. Row의 경우에는 가로행이므로 가로방향이 주축, 즉 mainAxis가 됩니다. 반대로 세로는 종축, 즉 crossAxis가 되겠죠. 여기까지는 이해가 어.. [Firebase] 프로젝트 시작하기 Flutter를 활용한 기능들을 시작하기에 앞서 새로운 프로젝트를 만들어 보겠습니다. Firebase console을 엽니다. https://console.firebase.google.com/ 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 구글 계정이 없다면 계정을 만들어주시면 됩니다. 저는 기존에 만들어 두었던 프로젝트가 있구요. 프로젝트 추가를 통해 새로운 프로젝트를 추가합니다. 프로젝트 이름에 원하는 프로젝트 이름을 입력해주고 계속합니다. 애널리틱스 설정을 위한 페이지나 나타납니다. 나중에 애널리틱스를 사용하지 않을 수도 있지만 대부분 배포앱에서 애널리틱스는 필수나 마찬가지이기 때문에 사용 설정으로 그대로 두고 계속을 클릭합니다. 물론 사용 설정하고 나중에 사.. [Flutter] Row, Column 컨텐츠 크기에 맞추기 Row, Column 의 경우 기본적으로 mainAxis를 기준으로 화면 전체크기를 차지하도록 되어 있습니다. Row와 Column 위젯의 코드를 보면 mainAxisSize가 max로 되어 있기 때문입니다. MainAxisSize mainAxisSize = MainAxisSize.max 간단한 Column 예제입니다. body: Container( color: Colors.yellow, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text('My', style: TextStyle(fontSize: 40),), const SizedBox(height: 20,), Obx(() => Text(bottomIndexC.. 이전 1 2 3 4 다음