Build

Test 용 폰에서는 잘 될 것임.

그러나 유저폰에선 안되는 경우가 많을 것임

예를들면 연락처가 null 값인 경우

대표적으로 두가지를 체크해라.

  1. 타입지정
  2. null chceck
1. 타입지정

var 말고 int, List<type>, 쓰기

2. null check
  1. null 인지 체크하는 if문을 쓰든지
  2. 삼항연산자를 쓰든지
  3. ?? 를 쓰든지.

3번을 많이 쓴대

Build

APK

File 안에 Project Structure 눌러서

project SDK 안에 Android 33 으로 선택

Build , Build APK를 누르면 경로가 보이고 거기에 apk 가 떨궈짐

AAB

Build, Build AAB flutter doctor 를 입력하여 JAVA binary 의 경로를 가져옴

C:\Program Files\Android\Android Studio\jre\bin\

"C:\Program Files\Android\Android Studio\jre\bin\keytool" -genkey -v -keystore C:\Users\navskh\Desktop\Flutter\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload

키파일 경로 : C:\Users\navskh\Desktop\Flutter 비밀번호 : gen281315!

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
} 

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
} 

TextFiled 스타일링

  TextField(
              controller: inputData,
              decoration: InputDecoration(
                icon: Icon(Icons.star), // 아이콘 입력
                // 보더줄때
                enabledBorder: OutlineInputBorder(
                  borderSide: BorderSide(
                    color: Colors.green,
                    width: 1.0,
                  ),
                ),
              ),
            ),

하단에만 보더줄 때


TextField(
  decoration: InputDecoration(
    enabledBorder: UnderlineInputBorder(),
  ),
), 
//둥그런 보더줄 때
TextField(
  decoration: InputDecoration(

    enabledBorder: OutlineInputBorder(
      borderRadius: BorderRadius.circular(30),
    ),

  ),
), 

// 보더 없애기 배경색 입히기
TextField(
  decoration: InputDecoration(

    filled: true,
    fillColor: Colors.blue.shade100,
    enabledBorder: OutlineInputBorder(
      borderSide: BorderSide.none,
    )

  ),
), 


// 힌트 띄우기
TextField(
  decoration: InputDecoration(
    hintText: 'hint',
    helperText: 'helper',
    labelText: 'label',
    counterText: 'counter'
  ),
),