본문 바로가기

IT 정보/플러터 flutter19

플러터 파이어베이스 익명 로그인일 시 유저 uid 가져오기 1. FirebaseAuth 인스턴스 가져오기: 먼저, FirebaseAuth 인스턴스를 가져와야 합니다 import 'package:firebase_auth/firebase_auth.dart'; FirebaseAuth auth = FirebaseAuth.instance;  2. 현재 사용자 가져오기: FirebaseAuth 인스턴스를 사용하여 현재 로그인된 사용자를 가져올 수 있습니다.익명 로그인 사용자의 경우에도 이 메서드를 사용하여 사용자 정보를 얻을 수 있습니다. User? user = auth.currentUser;  3. uid 확인: User 객체에는 uid 속성이 포함되어 있습니다.이 속성을 사용하여 익명 로그인 사용자의 uid를 확인할 수 있습니다. String uid = user?.ui.. 2024. 5. 29.
플러터 Textfield에 변수를 초기값으로 저장 인터넷에는 inputController = TextEditingController(text: "init_text"); 이런식으로 컨트롤러에 text : 속성으로 텍스트 필드 초기값을 넣는 내용만 있는데  "init_text"  부분을 변수로 치환하면 오류가 난다  챗 gpt 한테 물어보니 @overrideinitState() {}함수 안에 넣으면 된다고 함  해보니 잘됨class _MyLoginPage extends State { // init에서 값을 불러옴 String _init_input_text = 'aa' ; //TextEditingController inputController = TextEditingController(); // 바로 위의 코드와 다르게 선언만 한다 값은 in.. 2024. 5. 18.
플러터 앱 내에 데이터 저장하기 path_provider flutter 변수 데이터는 앱을 완전히 종료하면 초기화되는 것으로 알고 있다. 앱을 다시 실행해도 유저가 변경한 변수 데이터를 유지하려면유저가 변수 값을 수정 할 때데이터를 서버에 저장 후 재 실행 시 불러오거나앱 내에 텍스트 파일로 저장했다가 재 실행 시 불러오는 방법이 있다.(앱 외부 일반 폴더에 파일을 저장할 수도 있지만 추가 권한이 필요하다이 문서에서는 앱 내부 비공개 폴더에 파일을 저장하는 법만 다루겠다.) 나는 첫 방법으론 파이어베이스 데이터베이스를 쓰고 있고 두번째 방법으론 path_provider 함수를 쓰고 있다.  설정은 이렇다pubspec.yaml 에 디펜던시에 path_provider 설치설치법은  pubspec.yaml 디펜던시 쪽에 직접 쓰거나 (하단 예시)dependencie.. 2024. 5. 18.
flutter 버튼을 누르면 특정 텍스트를 클립보드에 복사하는 코드 플러터 코드 따로 무언가 설치할 필요는 없다.하단의 내용만 임포트 필요 import 'flutter/services.dart';  코드는 다음과 같다. 복사라 표시되는 텍스트 버튼을 만들었다.(텍스트가 차지한 공간 외엔 마진없는 버튼으로 InkWell을 사용해보았다.)Container( width: double.infinity, child: InkWell( onTap: ( Clipboard.setData(ClipboardData(text: '클립보드에 복사할 텍스트')); ) { // Text 클릭시 반응하는 곳 }, child: Padding( padding: const EdgeInsets.fromLTRB(2.. 2024. 5. 18.
애드몹 app-ads.txt 을 깃허브에 올려서 구글 플레이 콘솔에 등록하기 Github 를 홈페이지처럼 호스팅한 후 그곳에 app-ads.txt 파일을 올린다. 호스팅한 페이지를 구글 플레이 콘솔에 등록한다. 애드몹이 알아서 구글 플레이 콘솔에 등록된 깃허브 사이트를 검출하여 app-ads.txt 등록이 완료된다. 어떻게 하는지 알아보자 깃헙 가입 https://github.com/ 깃허브 페이지 로 이동 https://pages.github.com/ 깃허브 데스크톱 설치 (웹에서 해도 됨) 리퍼싯토리 이름 (Repository name) 을 "깃헙유저이름.github.io" 으로 한 새로운 Repository 를 생성하자 리퍼짓토리? 리퍼지토리? 레포지토리 이름을 다르게 했더니 홈페이지가 안뜨는 경우가 있다. 위 사진 이외의 나머지 설명은 자유롭게.. 생성한 폴더에 아래 이미.. 2024. 2. 20.
firebase Realtime Database Json 내보내기 요령 google spreadsheet _의 부가 기능 Export sheet data 파이어베이스 실시간 데이터베이스의 데이터 테이블은 제이슨의 값을 웹에서 일일이 입력하는 방법인데 너무나도 불편하다. 다행히 Json 형식의 파일을 가져오기 해서 데이터 베이스를 한 번에 올릴 수 있다. 문제는 Json 파일은 중괄호 : 콜론 colon을 이용해서 값을 구분 지어야 해서 웹이 아니여도 만들기 힘들다. 배열? 행렬? 어레이?( array)는 대괄호로 처리해줘야하고, 자잘하게 손이 많이 간다. 그리고 또 문제는 Json 가져오기 해서 값을 올리면 이전의 값은 다 날아간다는 것. 올릴 때 이전의 값도 다 포함한 제이슨을 올려야 한다. 다행히 구글 부가기능 Export sheet data 를 깔고 구글 데이터 스프레스시트 를 한 번에 Json 으로 변환해서 Realtime Database에 가져오.. 2024. 2. 6.
flutter 출시 배포 빌드 하기 : 안드로이드 스튜디오 편 드디어 플러터 빌드를 성공하고 google 플레이스토어 콘솔에 번들을 등록하고 테스트 계정으로 다운로드 설치까지 성공하였다. 그 긴여정 기록으로 남긴다. 안드로이드 스튜디오에서 처리한 것/ 구글 플레이 스토어 콘솔에서 처리한 것 중 안드로이드 스튜디오에서 처리한 것 0. android studio 에서 프로젝트를 연다. 1. 하단의 터미널 탭을 누른다. 2. 명령어 창에 flutter build appbundle 이라는 명령어를 친다. androidstudio > build > generate signed bundle/apk ... 에서 생성하는 방법 flutter build apk 명령어 사용하는 방법도 있는데 apk 보다는 번들로 생성하는 것을 구글에서 권장하고 추후에는 apk 는 플레이스토어 콘솔에.. 2024. 1. 31.
플러터 폰트 적용 flutter font 일단 폰트를 다운 받는다. 구글에서 제공하는 폰트는 하단의 사이트에서 다운 가능 https://fonts.google.com/ 상업 사용가능한 글꼴이 많은 눈누도 좋다. https://noonnu.cc/index 어디서 다운 받든지 받기 전에 저작권 확인하기 OTF TTF 둘다 적용되니 글꼴을 디자인용으로 수정할 것 아니면 더 가벼운 TTF로 다운 받는게 좋아보임 안드로이드 스튜디오을 이용하여 프로젝트 파일 루트 부분에 assets / fonts 폴더를 만든 후 fonts 폴더 안에 다운 받은 글꼴 파일을 옮겨 넣는다. assets / fonts 폴더 아니여도 fonts 폴더나 프로젝트 파일 어딘가에 넣으면 되지만 플러터에서 추천하는 위치에 넣는 것이 추후 자동으로 파일 위치 잡아.. 2024. 1. 22.
백 키 막기 WillPopScope 코드 지원이 멈춘다고 합니다. 수정법 @override Widget build(BuildContext context) { return WillPopScope( // false); }, child: Scaffold( // ,,, 코드 작성 이런 식으로 위젯 build 전체를 감싸서 사용하던 WillPopScope에 어느날 취소선이 그어지고 마우스 오버해보니 특정 플러터 버전 이후부터는 지원을 안한다고 한다 그래서 코드를 수정하였다. @override Widget build(BuildContext context) { return PopScope( // 2024. 1. 17.
플러터 app bar, background color, button 색상이 적용 안될 때 어느 순간 앱바 theme: ThemeData 의 primarySwatch 백그라운드 컬러 버튼 컬러 등이 갑자기 적용이 안되었다. After upgrading to Flutter 3.16, the app bar, background color, button size, and spaces change - Stack Overflow After upgrading to Flutter 3.16, the app bar, background color, button size, and spaces change I upgraded my Flutter version to 3.16. When I run my app, I notice a lot of changes in the UI. The app bar doesn't ha.. 2024. 1. 17.
fluttertoast 플러터에서 토스트 메시지 쓰기 토스트 메시지 정보를 가지고 있는 fluttertoast 클래스를 사용하기위해 먼저 pubspec.yaml 파일 dependencies 디펜던시에 fluttertoast를 추가하자 최신 버전으로 추가하는 것이 좋다. 상단에 파란 색 pub get 버튼을 눌러 각종 설정을 자동으로 설치 가능하다. main.dart등 토스트 메시지를 사용할 다트 파일로 가서 import 'package:fluttertoast/fluttertoast.dart'; 를 상단에 추가. 토스트 메시지를 사용할 함수 안이나 버튼의 onPressed: () { ~~~ } 함수 안에 Fluttertoast.showToast( msg: "This is Center Short Toast", toastLength: Toast.LENGTH_SH.. 2024. 1. 14.
플러터 파이어베이스 설정 연동 firebase에 가입하고 프로젝트 만들고 닉네임 만들고 플러터 프로젝트 만들고 하는 것은 여기 저기 있으니 생략 연동하는 부분만 기술 앱 등록/ 앱에 파이어베이스 추가할 때 google-services.json 파일을 다운 받을 수 있다. 파이어베이스 프로젝트 메인화면 좌측 네비게이션에서 프로젝트 개요(설정 톱니바퀴) - 프로젝트 설정 - 내앱 - SDK 구성 및 설정 - google-services.json 다운로드 아이콘 눌러서도 받을 수 있다. 안드로이드 스튜디오 프로젝트 좌측 네비게이션 저 위치에 드래그앤 드롭으로 google-services.json 파일을 프로젝트에 추가한다. nodejs 최신 버전 깔기 https://nodejs.org/en/download Firebase CLI 설치 ht.. 2023. 12. 27.
플러터 상단 메뉴 홈바 appbar class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, //디버그 리본 없애기 theme: ThemeData( primarySwatch: Colors.deepPurple, ), home:LoginPage(), ); } } 디버그 리본 없애기 코드 한 줄 추가 상단 바 테마 색 바꾸기 theme : 이후로 쭉. ㅡㅡㅡㅡ child: Scaffold( appBar: AppBar( title: Text('타이틀'), centerTitle: t.. 2023. 10. 23.
플러터 Textfield, Textformfield Textfield, Center( child: Padding( child: TextField( decoration: InputDecoration( labelText: 'Input', ), ), padding: EdgeInsets.all(20.0), ), ), decoration : InputDecoration( 안 쪽 labelStyle: TextStyle(color: Colors.redAccent), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, color: Colors.redAccent), ), enabledBorder: Outl.. 2023. 10. 16.
StatefulWidget 예시 및 데이터 매개변수 넘겨주기 class ClassName extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { String _msg = 'Welcome to WillPopScope World'; @override initState() { super.initState(); } @override Widget build(BuildContext context) { return WillPopScope( // false); }, child: Scaffold( appBar: AppBar( title: Text('text'), automaticallyImplyLeading: false, // 뒤로.. 2023. 9. 18.
플러터 Container Padding SizedBox등 범위 잡는 위젯 Flutter 에는 컨테이너 말고 여러가지 범위를 잡는 위젯이 있다. 컨테이너의 예시다 Center( child: Container( margin: const EdgeInsets.all(10.0), color: Colors.amber[600], width: 48, height: 48, ), ) 이 때 컨테이너의 child를 지정하지 않은 상태에서 width 와 height 까지 주지 않는다면 컨테이너는 전체 영역 또는 차지할 수 있는 최대 공간을 차지한다. width 와 height 를 주지 않더라도 child 자식에 어떠한 위젯을 설정한다면 컨테이너의 크기는 자식의 위젯 크기에 딱 맞게 축소된다. 컨테이너 위아래, 좌우 간격을 편하게 지정하려면 margin: EdgeInsets.symmetric() 마.. 2023. 9. 18.
플러터 Material Design으로 기본 화면 구성 Material Design 쓰려면 pubspec.yaml 파일에 해당 문구를 넣고 저장해야 한다 flutter: uses-material-design: true 메터리얼 디자인에선 모바일의 기본 형태인 제목 타이틀 부분 본문 부분, 하단 버튼 부분을 쉽게 나눠주는 함수 클래스? 인 Scaffold를 지원한다. 최상단에 메터리얼 다트 파일을 임포트 한다. 그안의 함수와 클래스를 가져다 쓰기 위함 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widge.. 2023. 9. 10.
플러터 flutter 화면이동 기본 형태 + Back Button 막기 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( //routes: Routes.routes, home:EntrancePage(), ); } } class EntrancePage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: A.. 2023. 9. 10.
플러터(Flutter) 설치 및 설정 주식 어플만들기 프로젝트 개발툴은 Android Studio code 코드? 로 안하고 Android Studio 로 진행할 예정 1. 일단 윈도우에 깔아보자 https://developer.android.com/studio Download Android Studio & App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. developer.android.com Download Android Studio Giraffe 버튼을 클릭하고 다운로드 된 .. 2023. 9. 10.
반응형