분류 전체보기
-
[Flutter]플러터(캘린더-각종 한국어 적용)|안드로이드, IOSFlutter_끄적끄적 2021. 11. 27. 12:32
pubspec.yaml 파일 수정 dependencies: flutter: sdk: flutter //아래 내용 추가 flutter_localizations: sdk: flutter 사용된 패키지 import 'package:flutter_localizations/flutter_localizations.dart'; main.dart에 적용된 코드 child: MaterialApp( localizationsDelegates: [ //GolbalMateriallLocation은 안드로이드 //GlobalCupertinoLocation은 IOS GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLoc..
-
[Flutter]플러터 (앱 종료 함수) |안드로이드, IOSFlutter_끄적끄적 2021. 11. 27. 12:26
사용된 패키지 import 'package:flutter/services.dart'; 사용 코드 appBar: AppBar( backgroundColor: Color(0xff161619), toolbarHeight: 28, //앱 종료 버튼 따로 만들기 leading: IconButton( icon: Icon(CupertinoIcons.power,size:20,), onPressed: () { _onPowerKey(); }, ), 사용 코드(SystemChannel) //앱 내에서 종료 버튼 눌렀을때, Future _onPowerKey() async { return await showDialog( context: context, builder: (BuildContext context) { return A..
-
[Flutter]플러터 Back Key(빽키) 컨트롤하기 |안드로이드, IOSFlutter_끄적끄적 2021. 11. 27. 12:22
사용된 패키지 import 'package:flutter/services.dart'; 사용 코드(WillPopScope 위젯) @override Widget build(BuildContext context) { _firstMainScreenProvider = Provider.of(context); //WillPopScope는 사용자가 빽키를 눌렀을때 작동되는 위젯 return WillPopScope( onWillPop: () { return _onBackKey(); }, child: Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( 사용 코드(WillPopScope 에서 사용된 함수) //휴대폰 피지컬 버튼 뒤로 가기 눌렀을때, Future _onB..
-
[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(); //해당 앱과 사용자가 엑세스 할 수 있는 커스텀 지정된 ..