본문 바로가기

반응형

공부/플러터\Flutter

(4)
[Flutter] Row, Column, padding 톺아보기 및 UI 구상(2) Row와 Column의 생성자는 아래와 같다. Row는 Column Row, Column의 children 들의 정렬 MainAxisAlignment및 열거 CrossAxisAlignment 형은 정렬을 제어하기 위한 다양한 상수를 제공한다. - 행(Row)의 경우 주축은 가로를 기준 - 열(Column)의 경우 주축은 세로를 기준 MainAxisAlignment - center - start - end - spaceAround - spaceBetween - spaceEvenly CrossAxisAlignment - baseline - center - start - end - stretch 확장 위젯을 사용하여 Row나 Column에 맞게 위젯의 크기를 조정할 수 있다. 특정 위젯이 다른 children..
[Flutter] Listview.builder 사용법 및 UI 구상 ListView.builder는 몇 개의 항목을 만들건지 = itemCount itemCount : int값이며 ListView 항목들의 총개수에 해당한다. 단, 주어지지 않으면 무한히 항목을 만든다. 몇 번재 항목에는 어떤 View를 그려줄지 = itemBuilder itemBuilder(BuildContext ctx, int idx) : idx번째에 해당하는 항목에 그려질 View를 반환하는 함수이다. idx는 0부터 시작한다. 를 알려주어야 한다. 그래서 보통 코드는 아래와 같다. @override Widget build(BuildContext context) { return ListView.builder( itemCount: 3, itemBuilder: (context, index) { retur..
[Flutter] FlutterSecureStorage 를 활용하여 로그인 상태유지, 로그아웃 왜 FlutterSecureStorage 를 사용하게 되었나? 모바일 어플리케이션에서 로그인을 하면 일반적으로 로그인 상태를 유지한다. 민감 정보들은 서버로 전송하여 데이터베이스에 암호화한 뒤 저장하는 것이 자연스럽다고 생각할 수 있다. 그러나 로그아웃하지 않는다면 또 다시 로그인을 하지 않게 해주는 편의를 제공하는 것이 필요하다. 그러면 로그인 정보를 어떻게 안전하게 저장할 수 있을까? 왜 보안에 취약한가? - Android 에서의 문제 Android 는 루팅을 통해 루트 권한을 얻음으로 생산자, 판매자 측에서 걸어놓은 제약을 해제하면 SharedPreference 과 같이 쉽게 사용할 수 있는 내부 저장소들을 간단한 루팅 만으로 ADB(Android Debug Bridge)를 사용해서 저장되어 있는 ..
Flutter 기본 코드 기본 코드를 이해해보자. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'My First Flutter App', theme: ThemeData(primarySwatch: Colors.blue), home: MyHomePage(), ); } } runApp(MyApp()); runApp() 함수는 Flutter에서 최상위에 존재하는 함수로 처음 한번 ..

반응형