프로그래밍 공부 메모/flutter
-
shared_preferences 패키지프로그래밍 공부 메모/flutter 2022. 6. 8. 22:53
사용자가 앱을 사용 중에 발생한 데이터 값을 앱이 재시작할 때 유지시켜야 할 때 사용 즉 재시작하거나 종료하는 경우에도 사라지지 않는 로컬 데이터 저장소이다 앱의 설정 파일을 저장하는 용도로도 활용 가능하다 데이터를 메모리가 아닌 스토리지에 저장하여 유지하는 방법 1. 기기에 파일로 저장 → shared_preferences 패키지 2. 기기 데이터베이스에 저장하기 → SQL 데이터베이스 사용 3. 다른 컴퓨터(서버)에 저장하기 - clear() : 저장된 모든 shared_preferences 초기화 하기
-
Navigator.pushReplacement()프로그래밍 공부 메모/flutter 2022. 6. 8. 22:05
Navigator.push() 메서드는 화면을 stack으로 쌓아 주며 화면을 전환 시켜주는 역활을 한다 가령 처음 앱을 설치해서 앱에 관한 사용 설명서를 첫 화면에 배치 시키고 메인화면으로 전환 할시 (onboard 플러터 패키지) Navigator.push() 메서드로는 뒤로가기를 할 수 있어서 적합하지 않다 이럴때 stack에 쌓인 화면을 날려주는 Navigator.pushReplacement()를 활용하면 해결이 가능하다
-
life cycle 라이프 사이클 initState(), dispose()프로그래밍 공부 메모/flutter 2022. 6. 7. 21:35
statefulwidget 클래스를 생성하여 위젯 트리에 삽입되면 initState() 메서드가 호출된다 즉 앱이 실행되어 statefulwidget이 생성되면 뭔가 실행하고 싶다면 initState() 구현하면 된다 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( d..
-
로그인 페이지 디자인 만들기 (elevated button)프로그래밍 공부 메모/flutter 2022. 6. 3. 00:03
opacity 클래스(투명도) 활용 => 마지막 구글 로고 이미지를 투명하게 설정하여 없는 것처럼 보이게 할 수 있다 해당 이미지와 글자의 간격이 spaceEvenly 속성이 적용되어 각 요소들의 공백 간격을 균등하게 배치시키지만 ' Login with google ' 메시지가 가운데로 잘 오지 않는다 이것을 해결하기 위해 투명도를 활용할 수 있다 [ 로고 참고용 ] [ 실행 화면 ] [ 메인 페이지 ] 개별적인 버튼을 일일이 만들면 코드가 길어지고 가독성이 떨어진다 규격화 하여 하나의 메서드 또는 위젯을 만들어 관리해보자~! ' body ' 부분에는 메서드, 위젯의 형태로 만들어도 상관없다 ' widget ' 타입으로 맞춰서 만들면 된다 import 'package:flutter/material.dar..
-
final, const 차이점과 공통점프로그래밍 공부 메모/flutter 2022. 6. 2. 22:15
우선 공통점으로는 한번 값이 정해지면 이후로 다시 값을 변경할 수 없다! 하지만 상황에 따라 이 변수 값이 정해지는 시점이 다를 수 있기 때문에 final과 const를 구분해서 사용해야 한다 final => 프로그램이 실행될 때(run time constant) 사용자가 입력해주는 값이 변하지 않게 프로세스를 처리해야 할 때 만약 사용자의 입력 값이 달라진다면?! 플러터에선 build 메서드를 통해 rebuild 되므로 변경된 값을 다시 그려준다 const => 컴파일 시에 상수가 됨(compil time constant), 선언과 동시에 값이 초기화해야 함 팁) 위젯 앞에 const를 작성하면( 'const Text() ') 리빌딩될 때 다시 그려지지 않는다 const의 성질을 활용해서 앱의 성능을 ..
-
TestFild + GestureDetector 위젯프로그래밍 공부 메모/flutter 2022. 6. 1. 22:59
TextEditingController controller = TextEditingController(); 텍스트 필드의 데이터를 컨트롤 하기위한 클래스(TextDditingController) 컨트롤러를 더이상 사용하지 않을땐 리소스 낭비를 하지 않기위해 dispose메소드를 사용한다 텍스트 필드의 속성에 controller 변수를 넣으면 간단히 연결된다! ※ 스넥바 위젯을 잘 쓰지 않는듯 하다 찾아보니 토스트 메시지를 많이 쓰는것 같다 스넥바를 사용하기 위해 ' BuildContext context ' 개념과 함께 알아햐 한다 GestureDetector 화면 전체가 버튼처럼 사용자의 터치(행동)에 반응, 한번 누르기, 길게 누르기 등 onTap 속성에 값을전달, 버튼을 포함한 각종 이벤트에서 활용 ..