
17일차 과제 링크 👉 17일차 과제

페이지 권한 리스트
Android
https://developer.android.com/reference/android/Manifest.permission
info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires Photo Library Permission</string>
<key>NSCameraUsageDescription</key>
<string>This app requires NSCameraUsageDescription</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app requires Photo NSMicrophoneUsageDescription</string>
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
void main() {
  runApp(const MyApp());
}
class MyApp extends StatefulWidget {
  const MyApp({super.key});
  
  State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
  XFile? selectedImage;
  
  Widget build(BuildContext context) {
    var imagePicker = ImagePicker();
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
							// Image.asset
              if(selectedImage != null) Image.file(File(selectedImage!.path)),
              TextButton(
                onPressed: () async {
                  var image = await imagePicker.pickImage(source: ImageSource.gallery);
                  if(image != null) {
                    print('이미지를 선택햇군');
                    selectedImage = image;
                    setState(() {});
                  } else {
                    print('선택하라고햇지');
                  }
                },
                child: Text('이미지 선택하세요'),
              )
            ],
          ),
        ),
      ),
    );
  }
}  
One or more plugins require a higher Android SDK version.원인
One or more plugins require a higher Android SDK version.
Fix this issue by adding the following to C:\...\프로젝트명\android\app\build.gradle:
android {
	compileSdkVersion 33
	...
}해결
android > app > build.gradle 파일에 compileSdkVersion 수정
  
android {
    compileSdkVersion 33
Unable to load assetAssetImage는 앱 번들 내부의 이미지 리소스를 로드하기 위해 사용되는데, XFile은 파일 시스템에서 이미지를 가져옴AssetImage을 사용하여 XFile 경로를 로드하면 오류가 발생함FileImage은 파일 시스템에서 이미지를 로드하기 위해 사용됨
XFile 경로를 File 객체로 변환한 후 FileImage를 사용하여 이미지를 로드할 수 있음
Image.file(File(selectedImage!.path))
자꾸 콘솔창이 피로 물들어버린다...
분명 내 코드에는 문제가 없다고 생각했는데 알고 보면 다 내 문제임

시뻘건 에러들 그만 보고 싶다
열심히 공부해야지.......