광고 및 배포하기
프로그래밍/플러터 2024. 5. 1. 21:37광고 및 배포하기

구글 애드몹- 구글에서 제공하는 광고 서비스- 누구나 광고를 게시하고 수익을 올릴 수 있음   google_mobile_ads - 해당 플러그인을 사용해서 구글 애드몹을 게시 가능 https://pub.dev/packages/google_mobile_ads google_mobile_ads | Flutter packageFlutter plugin for Google Mobile Ads, supporting banner, interstitial (full-screen), rewarded and native adspub.dev 아래 링크에서 구글 계정으로 로그인 후에 설정 가능 http://admob.google.com/ AdMob이메일 또는 휴대전화accounts.google.com 게시하는 광고의 경우 각..

프로그래밍/플러터 2024. 4. 17. 21:3421장

인증 - 서버와 통신하는 사용자의 정보와 유효성 검증 - 이전에서는 그냥 로컬에서 사용을 했으니까 괜찮았는데 서버와 연결하면 해당 인증 절차는 복잡해진다. 왜냐하면 사용자가 나 뿐만이 아니라 다른 사용자의 데이터도 존재하기 때문에 해당 데이터를 구분하고 요청에 맞는 데이터를 반환하는 것이 중요 JWT - 사용자 요청을 확인할 때마다 아이디 비번 입력하게 만들면 그 서비스 불편해서 아무도 안 쓴다 - 그런거 없이 JWT를 사용해서 인증을 처리 - 액세스토큰 ( 정보 접근 시 사용 ) , 리프레스 토큰 ( 액세스 토큰 만료시 사용 ) 으로 구성 class AuthRepository { final _dio = Dio(); final _targetUrl = 'http://${Platform.isAndroid ?..

프로그래밍/플러터 2024. 4. 17. 21:1920장

파이어 베이스 - 구글이 제공하는 앱 개발 최적화 기능 제공 서비스 파이어 스토어 - 파이어 베이스 기능 중 하나 - NoSQL 데이터 베이스 - 서버 인프라 관리를 알아서 해주니까 공수가 많이 줄어든다 - SDK를 활용하여 보다 직관적인 프로그래밍이 가능 - 다만 무료 사용량이 있고 그것보다 더 사용하면 결제가 필요 - JSON 형식을 그대로 저장할 수 있음 // 파이어 베이스 초기화 await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); // 스케쥴 모델을 그대로 파이어베이스에 저장 await FirebaseFirestore.instance .collection( 'schedule', ) .doc(schedul..

프로그래밍/플러터 2024. 4. 3. 21:3718장 19장

1) SQL - 웹이랑 똑같이 앱에서도 데이터베이스를 사용할 때 큰 틀은 같음 - 테이블 구조로 이루어져 있으며 행과 열로 구분 - 여기선 드리프트 플러그인을 사용하여 SQL을 구현 - ORM이라고 객체 - 관계 매핑을 활용해서 SQL문을 일일 작성하지 않고 코드를 통해서 구현이 가능해짐 2) 드리프트 - ORM으로 SQL을 작성하여 코드로 테이블 데이터를 조작 가능하게 해주는 라이브러리 - 기본적인 틀을 코드로 정의하고 메서드를 정의하면 자동적으로 알아서 SQL관련된 코드를 작성해주고 우리는 메서드나 변수를 사용해서 해당 테이블에 있는 레코드를 제어할 수 있다. // private값까지 불러올 수 있음 part 'drift_database.g.dart'; // part 파일 지정 @DriftDataba..

프로그래밍/플러터 2024. 3. 27. 21:1516장 17장

1) DIO - http 요청을 하는 일반적인 메서드들을 제공 - 어플리케이션에서 요청을 하고 서버에서 응답을 받아서 서로 통신을 하는데 이 때 사용되는 라이브러리 2) Json - 키 - 값 형태로 이루어진 데이터 객체 포맷 - xml도 있지만 대부분 json 형태의 데이터 포멧을 사용하여 API를 설계 3) 키보드 높이 구하기 - 키보드가 올라오면 해당 키보드의 크기 만큼 어플의 레이아웃이 망가져 버림 - 키보드의 높이를 미리 세팅해두고 키보드가 나오면 해당 크기만큼 화면 늘려서 비율 유지시켜주기 @override Widget build(BuildContext context) { final bottomInset = MediaQuery.of(context).viewInsets.bottom; return..

Google API & Photo
프로그래밍/플러터 2024. 3. 20. 21:51Google API & Photo

출첵 1) 구글 지도 - 구글 API 가지고 와서 화면에 지도와 위치 등 랜더링 해주는 API Expanded( // 2/3만큼 공간 차지 flex: 2, child: GoogleMap( initialCameraPosition: CameraPosition( target: companyLatLng, zoom: 16, ), myLocationEnabled: true, markers: Set.from([marker]), circles: Set.from([circle]), ), ), - 위치 정보 받아서 원하는 위치와 거리 파악 후 bool타입으로 판단 후 출첵 로직 실행 ElevatedButton( // [출근하기] 버튼 onPressed: () async { final curPosition = await G..

비디오 및 영상  통화
프로그래밍/플러터 2024. 3. 20. 17:10비디오 및 영상 통화

비디오 플레이어 1) BoxDecoration - 컨테이너에서 그라데이션 색상을 만들어주는 gradient 속성을 지정 - LinearGradient 클래스를 사용해서 시작색과 끝색을 지정해서 그라데이션을 설정 // Container의 배경색을 그라데이션으로 변경 타입 BoxDecoration BoxDecoration getBoxDecoration() { return const BoxDecoration( gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Color(0xFF2A3A7C), // 시작 Color(0xFF000118), // 끝 ], ), ); } 2) XFile - ImageP..

TabBarView & BottomNavigation
프로그래밍/플러터 2024. 3. 4. 21:45TabBarView & BottomNavigation

서론 해당 부분은 휴대폰의 센서 및 탭바와 네비게이션 연동을 다룬다. 또한 상태변화에 대해 사용을 하는데 상단에서 하위 위젯의 파라미터를 넘길 때 파라미터 및 함수를 넘겨주면 하위 위젯이 해당 함수나 파라미터 값을 변경하여 상위 위젯의 상태변화를 일으킬 수 있다. 본문 1. Sensor_Plus 1) 가속도계 - 물체가 특정 방향으로 이동하는 가속도를 측정 : 휴대폰에 이미 내장되어 있음 2) 자이로스코프 - x,y,z축의 회전을 측정 2. SVG 이미지 - 이미지 파일중에 svg 확장자를 가지고 있는 경우 별도의 라이브러리가 필요 https://pub.dev/packages/flutter_svg flutter_svg | Flutter package An SVG rendering and widget li..

Theme 설정 및 Dialog
프로그래밍/플러터 2024. 3. 3. 23:58Theme 설정 및 Dialog

본문 1) 이미지 크기 - 휴대폰 크기는 정해져 있다. - 해당 크기를 넘어서면 다음과 같은 에러가 난다. overflow error ======== Exception caught by rendering library ===================================================== The following assertion was thrown during layout: A RenderFlex overflowed by 29 pixels on the bottom. - 이는 크기가 지정된 위젯이 화면 밖으로 빠져나가서 생기기 때문에 위젯의 크기를 지정하기 보단 동적으로 유지하기 위해 Expanded 위젯으로 감싸주자 @override Widget build(BuildContex..

PageView와 Timer
프로그래밍/플러터 2024. 2. 24. 15:56PageView와 Timer

코드 설명 1) Timer - 특정 시간 지난 후 일회성 혹은 지속적으로 함수를 실행 - periodic() : 주기적으로 콜백 함수를 실행한다. - 보통 initState()에 두어서 초기화를 두고 실행시킨 다음 dispose()에 타이머를 종료하여 누수를 막는다. //앱이 최초 랜더링 될 때 단 한 번만 실행 @override void initState() { // TODO: implement initState super.initState(); // 상태바 색상 변경 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark); //타이머를 세팅해서 주기적으로 실행되도록 설정 //build에 넣어두면 새로 만들 때마다 새롭게 빌드되어버려서 init..

728x90
728x90
image