개발이 좋아서/Flutter가 좋아서

    [flutter] 영상통화 앱_만들기

    [flutter] 영상통화 앱_만들기

    1) 2) image, font 추가 3) main.dart import 'package:flutter/material.dart'; import 'package:video_call/screen/home_screen.dart'; void main() { runApp(MaterialApp( debugShowCheckedModeBanner: false, theme: ThemeData( fontFamily: 'NotoSans', ), home: HomeScreen(), )); } 4) const/agora.dart 5) screen/home_screen.dart import 'package:flutter/material.dart'; import 'package:video_call/screen/cam_screen..

    [flutter] 영상통화 앱_환경세팅

    [flutter] 영상통화 앱_환경세팅

    1) - Agora 회원가입하고 로그인 - Project 생성 - Config 클릭 - Generate temp RTC Token 클릭 - Channel Name 입력하고 Generate 클릭 - Temp Token 복사 2) agora_rtc_engine 세팅 - android - ios 3) permission_handler 세팅 - android 딱히 안해도 됨 - ios 4) const로 세팅

    [flutter] StreamBuilder

    [flutter] StreamBuilder

    1) 2) home_screen.dart import 'dart:math'; import 'package:flutter/material.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { @override Widget build(BuildContext context) { final textStyle = TextStyle( fontSize: 16.0, ); return Scaffold( body: Padding( padd..

    [flutter] FutureBuilder

    [flutter] FutureBuilder

    1) 2) home_screen.dart import 'dart:math'; import 'package:flutter/material.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { @override Widget build(BuildContext context) { final textStyle = TextStyle( fontSize: 16.0, ); return Scaffold( body: Padding( padd..

    [flutter] 오늘도 출근 - 근퇴관리 앱_만들기

    [flutter] 오늘도 출근 - 근퇴관리 앱_만들기

    1) 2) home_screen.dart import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { bool choolCheckDone = false; GoogleMapContr..

    [flutter] 오늘도 출근 - 근퇴관리 앱_환경 세팅

    [flutter] 오늘도 출근 - 근퇴관리 앱_환경 세팅

    1) google_maps_flutter 다운 본인 인증과 카드 등록까지 하면 된다!! - android - ios 2) geolocator 다운 - android - ios

    [flutter] 동영상 플레이어

    [flutter] 동영상 플레이어

    1) pub.dev에서 video_player와 image_picker 다운 image_picker에서 ios 환경 설정 2) 3) main.dart import 'package:flutter/material.dart'; import 'package:vid_player/screen/home_screen.dart'; void main() { runApp( MaterialApp( home: HomeScreen(), ), ); } 4) screen/home_screen.dart import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import 'package:vid_player/component/custo..

    [flutter] navigation

    [flutter] navigation

    1) 2) main.dart import 'package:flutter/material.dart'; import 'package:navigation/screen/home_screen.dart'; import 'package:navigation/screen/route_one_screen.dart'; import 'package:navigation/screen/route_three_screen.dart'; import 'package:navigation/screen/route_two_screen.dart'; void main() { runApp( MaterialApp( // home: HomeScreen(), initialRoute: '/', routes: { '/': (context) => HomeScre..

    [flutter] button_ElevaredButton, OutlinedButton, TextButton, ButtonStyle

    [flutter] button_ElevaredButton, OutlinedButton, TextButton, ButtonStyle

    1) import 'package:flutter/material.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Center( child: Text( '버튼', ), ), ), body: Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAli..

    [flutter] 랜덤숫자 생성기

    [flutter] 랜덤숫자 생성기

    1) 2) component/number_row.dart import 'package:flutter/material.dart'; class NumberRow extends StatelessWidget { final int number; const NumberRow({ Key? key, required this.number, }) : super(key: key); @override Widget build(BuildContext context) { return Row( children: number .toInt() .toString() .split('') .map((e) => Image.asset( 'asset/img/$e.png', width: 50.0, height: 70.0, )) .toList(), ..