Flutter_끄적끄적
-
[Flutter]플러터(MediaQuery 로딩 )|안드로이드, IOSFlutter_끄적끄적 2021. 11. 23. 03:32
내용 MediaQuery는 해당 디바이스의 크기를 확인 해준다 안드로이드 종류 마다 MediaQuery가 아직 나오기도 전에 화면이 렌더링되어 크기가 전부 께질 때가 있다. 이럴때 아래와 같은 로직으로 MediaQuery가 로딩이 완료 될때 까지 렌더링을 다른 화면으로 대체 할 수 있다. 사용 코드 (build 함수단) @override Widget build(BuildContext context) { return FutureBuilder( future: whenNotZero( Stream.periodic(Duration(milliseconds: 100), (x) => MediaQuery.of(context).size.width),//100mil 마다 실행 (whenNotZero에게 보내는 값) ), b..
-
[Flutter]플러터 암/복호화(encrypt) |안드로이드, IOSFlutter_끄적끄적 2021. 11. 18. 03:58
사용한 패키지 import 'package:encrypt/encrypt.dart' as en; 암호화 코드 //암호화 하기 String text='가나다라마다사'; final key=en.Key.fromUtf8('암호화 키 값'); final iv=en.IV.fromLength(16); final encrypter=en.Encrypter(en.AES(key)); print('암호화 된값: ${encrypter.encrypt(text,iv: iv).base64}'); 복호화 코드 void requestAES(){ //encrypted.base64로 암호화 된값 final text='cOHc8VUOVD2QsKrbnI2vlA=='; //키값 final key=en.Key.fromUtf8('암호화에서 사용 ..
-
[Flutter]플러터 (공용 디렉토리 File 경로 읽기/쓰기) |안드로이드, IOSFlutter_끄적끄적 2021. 11. 18. 02:33
사용 패키지 import 'package:external_path/external_path.dart'; 사용 코드(디렉터리 및 파일 생성) //파일 경로 찾기 후 디렉터리 및 파일 생성 Future localPath(String date)async{ //공용 디렉터리 경로 가져오기 String dir=await ExternalPath.getExternalStoragePublicDirectory(ExternalPath.DIRECTORY_DOCUMENTS); //공용디렉터리 경로 가져온 후 하위 디렉토리 생성 Directory path_dir= await Directory('${dir}/AppName').create(recursive: true); //위에서 생성한 디렉토리에 파일 생성 하고 return r..
-
[Flutter]플러터 권한(Permission) 얻기 메세지 |안드로이드, IOSFlutter_끄적끄적 2021. 11. 18. 00:34
사용 패키지 permission_handler (안드로이드,IOS 권한 얻는 메세지 패키지) 접근권한 설정 1-1. android 폴더-> gradle.properties 아래 내용 추가 android.useAndroidX=true android.enableJetifier=true 1-2. android 폴더-> app-> build.gradle에서 permission_handler패키지 버전에 따라 compileSdkVersion 숫자 이상 수정 permission_handler: ^6.1.0 버전은 compileSdkVersion 30에서 잘 작동 android { compileSdkVersion 30 .... } 1-3. android폴더-> app-> src-> main-> AndroidMan..
-
[Flutter]플러터 (앱 디렉토리 File 경로 읽기/쓰기) |안드로이드, IOSFlutter_끄적끄적 2021. 11. 17. 20:26
사용 패키지 import 'dart:io'; import 'package:path_provider/path_provider.dart'; 사용 코드 (주석 확인) //해당 앱에서만 엑세스 할 수 있는 지정된 경로 (/data/user/0/패키지 이름/app_flutter) Directory app_Dir=await getApplicationDocumentsDirectory(); //해당 앱과 사용자가 엑세스 할 수 있는 지정된 경로 //(/storage/emulated/0/Android/data/com.example.test_app05/files) Directory? ex1_Dir=await getExternalStorageDirectory(); //해당 앱과 사용자가 엑세스 할 수 있는 커스텀 지정된 ..
-
[Flutter]플러터 화면 고정 및 풀스크린 |안드로이드, IOSFlutter_끄적끄적 2021. 11. 16. 21:41
가끔 앱을 제작 하다보면, 특정 페이지에서 화면을 세로 또는 가로 고정이 필요하다. 1. 사용되는 라이브러리 import 'package:flutter/services.dart'; 2. 화면 고정 코드 (코드 내용은 주석 참고) SystemChrome 라는 클레스에 있는 각종 함수들은 사용 하여 원하는대로 세로, 가로 고정 및 풀스크린을 위지 할 수 있다. initState안에 사용하는 이유는 4번에서~~ @override void initState() { // TODO: implement initState super.initState(); //화면 세로 고정 SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp,DeviceOrienta..