목록IT/Flutter (11)
개발로그필름
파일 기반의 가벼운 데이터베이스MySQL, postgreSQl 등과 달리 서버 필요 없이 하나의 파일 안에 모든 데이터를 저장하는 구조설치나 설정 과정이 필요 없고 쉽게 사용가능해서 많은 어플리케이션에서 널리 사용된다 database_helper.dartimport 'package:achieve_idea/data/idea_info.dart';import 'package:sqflite/sqflite.dart';import 'package:path/path.dart';// 데이터베이스 관련 작업을 처리하는 도우미 클래스class DatabaseHelper { // 데이터베이스 객체를 저장할 변수 // late 키워드는 나중에 해당 변수에 값을 넣겠다는 뜻. 데이터베이스 초기화 후 값 할당 됨 late ..
예시 코드// Map 객체를 IdeaInfo 데이터 클래스로 변환 factory IdeaInfo.fromMap(Map map) { return IdeaInfo( id: map['id'], title: map['title'], motive: map['motive'], content: map['content'], priority: map['priority'], feedback: map['feedback'], createdAt: map['createdAt'], ); }Map이라는 형태로 저장된 데이터를 IdeaInfo라는 클래스 형태로 변환 데이터가 키와 값으로 저장된 예시{ 'title': '아이디어 제목', 'motive':..
class IdeaInfo { int? id; // 데이터 컬럼 Id String title; // 아이디어 제목 String motive; // 작성 계기 String content; // 아이디어 내용 int priority; // 아이디어 중요도 점수 String feedback; // 유저 피드백 사항 int createdAt; // 생성 일시 (년월일시분으로 표시해야함) // 생성자 IdeaInfo({ this.id, required this.title, required this.motive, required this.content, required this.priority, required this.feedback, required this..
짧은 메시지를 화면 하단에 잠시 표시하는 데 사용되는 UI주로 알림, 피드백, 작업 완료 메시지 등을 사용자에게 잠시 보여줄 때 사용된다SnackBar는 일정 시간 동안만 표시되며, 그 후에 자동으로 사라진다 SnackBar를 사용하는 이유 1. 간단한 사용자 피드백 제공 • 버튼 클릭, 폼 제출, 데이터 저장 등의 작업 후에 성공 또는 오류 메시지를 사용자에게 전달할 때 유용 • 예를 들어, 사용자가 데이터를 저장했을 때 “저장되었습니다”라는 메시지를 SnackBar로 보여줄 수 있다 2. 사용자 인터페이스 방해 최소화: • SnackBar는 짧게 나타나고 사라지기 때문에, 사용자 경험을 방해하지 않으면서 중요한 메시지 전달 가능 • 화면 상단에 알림 팝업을 띄우는 대신, 하단에 살짝 메시지를 보여주는..
사용자의 터치 및 제스처를 감지하기 위한 위젯다양한 제스처 이벤트(탭, 드래그, 스와이프 등)를 감지하고 처리할 수 있는 기능 제공사용자가 화면에서 수행하는 다양한 동작에 반응하여 원하는 행동 수행 가능직접적으로 화면에 나타나는 위젯은 아니고 다른 위젯에 터치 이벤트를 추가하는 역할한다사용자는 화면 터치하거나 스와이프 하는 등의 행동 했을 때 이에 반응하는 동작 정의 가능
https://pub.dev/packages/shared_preferences/install shared_preferences install | Flutter packageFlutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android.pub.devpub.dev 사이트에 들어가서 shared_preferences 검색 후 install 탭에서 명령어 복사해 프로젝트 터미널에 붙여넣어서 실행시킨다간단한 데이터를 로컬에 저장하고 이를 다시 불러올 수 있도록 도와주는 패키지이 패키지를 사용하면 앱이 다시 실행되더라도 데이터가 유지되며, 주로 작은 양의 데..
텍스트 필드 입력 값을 제어하고 관리할 수 있는 도구사용자가 입력한 텍스트를 프로그램적으로 접근하거나, 입력필드에 특정 텍스트를 삽입하거나, 사용자가 입력한 내용을 실시간으로 모니터링 가능 1. 텍스트 입력 값 관리 : 사용자가 입력한 텍스트 값을 불러오거나 수정 가능2. 실시간 입력 값 추적 : 텍스트가 입력될 때마다 변경 사항 감지해 특정 동작 수행 가능3. 초기값 설정 : 텍스트 필드에 기본 값 설정 가능4. 텍스트 변경 알림 : 텍스트가 변경될 때마다 listener를 통해 알림 받을 수 있다
Container( margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), child: TextField( decoration: InputDecoration( border: OutlineInputBorder( borderRadius: BorderRadius.circular(10), borderSide: const BorderSide( color: Color(0xffd9d9d9), ), ), ), ),), EdgeInsets.symmetric - 대칭적인 여백 주기 위한 도구TextField - 텍스트 입력할 수 있는 입력 필드. 사용자로부터 데이터 받..