스터디/팝업창/권한받기

dawner·2022년 5월 11일
0

복습앱 - 개발일지

목록 보기
3/5

한 것

  • flutter 카페가입 및 스터디 참여 🙋🏻‍♀️
  • 팝업창 만들기
  • 권한 받기

내일 할 것

  • 내 폰의 데이터 (사진, 동영상) 가져오기

문제

  • 코드가 다 맞는데, 권한 팝업창이 안떴다.

해결

  • 생각해보니까, 권한 받기에 관한 세팅을 안드로이드용만 했다.
    그러면, 안드로이드 폰으로 실행해야 한다.
    근데 나는 아이폰으로 실행해서 권한창이 안떴던 것.

  • 아래 사진처럼, 안드로이드 폰으로 실행했더니 권한팝업창 떴다 !! 👏🏻

오늘 새로 배운 것 - 정리 🔥

  1. 권한
    권한 받으려면 세팅 해야함.
    세팅에는, 안드로이드 용이랑 아이폰 용이 있음.
    (나중에 아이폰 용 세팅 해야함. 안드로이드용만 했음.🔮)

  2. 패키지
    패키지는 만든 사람이 만든 거니까 이해하지 말고, 복붙하기 ㅎ

  3. 문법
    await 뒤에 오는 코드는 지금 실행하고 다음줄로 넘어가라는 뜻

  4. dart 특징
    실행이 오래 걸리는 코드(줄)는 우선 넘기고 나중에 함.
    단점이.. 넘기면 오류가 나는 코드도 넘겨버림.
    그래서 await 문법으로 넘기지 말라함.

참고할 만한 사이트 🔥

힘든 것

  • 시간이 꽤 오래걸린다.
  • 혼자 앱개발하니까 속도가 안나서 스터디에 가입했다.

5.11 / 오늘 한 일 / 코드

import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';


void main() {
  runApp(
      MaterialApp(
        home : MyApp()
      )
  );
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  getPermission() async {
    var status = await Permission.contacts.status;
    if (status.isGranted) {
      print('허락됨');
    } else if (status.isDenied) {
      print('거절됨');
      Permission.contacts.request();
    }
  }

  @override
  Widget build(context) {
    return Scaffold(
      appBar: AppBar( actions: [
            IconButton(onPressed: (){getPermission();}, icon: Icon(Icons.arrow_forward_ios_sharp))
          ],),
      floatingActionButton: FloatingActionButton(
          child: Icon(Icons.arrow_forward_ios_sharp),
          onPressed: (){
              showDialog(
              context: context,
              builder: (context){
              return Dialog(
                child: Text('AlertDialog Title'),
                  );
                 }
               );
            }
        ),
      );
  }
}

0개의 댓글