~~REVEAL night~~
—→
>
# flutter with firebase, mobx
—→
환경 설정
<fragment-block fade-up>1. firebase 설정</fragment-block>
<fragment-block fade-up>2. flutter 설정</fragment-block>
<fragment-block fade-up>3. mobx 설정</fragment-block>
—→
>
# firebase
홈페이지: https://firebase.google.com/?hl=ko
사용하는 이유는 서버 걱정 없이 개발
할 수 있습니다. 개발용도 정도의 사용량은 무료로 가능하며, 이용자가 많아지면 돈만 내면 됩니다.
—→
firebase 프로젝트 생성
앱 추가
google-services.json 다운로드
google-services.json 파일 복사
## flutter 설정
<fragment-block>1. 프로젝트 생성</fragment-block>
<fragment-block>2. android/build.gradle 수정</fragment-block>
<fragment-block>3. android/app/build.gradle 수정</fragment-block>
<fragment-block>4. android/gradle.properties 수정</fragment-block>
<fragment-block>5. pubspec.yaml 수정</fragment-block>
—→
flutter 프로젝트 생성
https://flutter.dev/docs/get-started/install 에서 다운받아 설치합니다.
- snippet.shell
flutter create [project_name]
—→
android/build.gradle 파일 변경
- snippet.javascript
buildscript { ext.kotlin_version = '1.2.71' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.2' <------- `추가` } }
—→
android/app/build.gradle 변경
- snippet.javascript
defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.rmaru.mart" <----- firebase app 이름과 동일하게 설정 minSdkVersion 16 targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }
맨 밑에 추가
- snippet.javascript
apply plugin: 'com.google.gms.google-services'
—→
android/gradle.properties 수정
AndroidX 사용 설정 합니다.
org.gradle.jvmargs=-Xmx1536M android.enableJetifier=true android.useAndroidX=true
—→
pubspec.yaml 수정
firebase_core
firebase_database
를 추가합니다.
- snippet.javascript
dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 firebase_core: ^0.4.0 firebase_database: ^3.0.7
—→
>
## MobX
플러터에서 상태관리를 위해 mobx
를 사용합니다.
(다른것을 사용할 수도 있습니다)
—→