전체 글(95)
-
Flutter에서 Dio를 사용하여 HTTP 통신하기
Flutter에서 Dio를 사용하여 HTTP 통신하기 : 시작하기 전에 Flutter 애플리케이션에서 HTTP 통신을 효율적으로 처리하기 위해 Dio 라이브러리를 사용하는 방법을 알아보기 전에, Dio를 프로젝트에 추가하고 설정하는 몇 가지 필수 단계를 알아보자 1. Dio 패키지 추가하기 pub.dev // terminal에 입력 flutter pub add dio 2. 기본 Dio 인스턴스 설정 Dio 인스턴스를 생성하고, 기본 설정을 적용하는 것으로 시작. 이 설정에는 기본 URL, 타임아웃, 헤더 등이 포함될 수 있음 import 'package:dio/dio.dart'; void main() async { Dio dio = Dio(); dio.options = BaseOptions( base..
2024.04.03 -
Flutter에서 서버 데이터로 동적 TextField 관리하기 : 개선된 사용자 입력 솔루션
문제 상황 서버로부터 랜덤한 갯수의 데이터를 받아서 ListView.Builder를 통해 만들어진 TextField의 값으로 넣어야 하는 상황으로 2가지 문제가 있다 TextField를 TextFormField로 바꾸고 initialValue로 사용시 처음 출력은 잘 되지만 해당 리스트를 삭제했을 때 문제가 발생한다 (데이터는 변경이 되지만 초기 값이라서 화면단에 적용이 안됨) 각 TextField를 TextEditingController로 관리하자니 랜덤한 갯수의 데이터를 받기 때문에 모두 준비할 수가 없다 해결 방안 TextField를 Stack위젯으로 감싸고 유저가 상호작용할 수 있는 Container를 TextField위젯의 위에 배치한다 String형태의 flag변수를 하나 선언하고 기본값으로 ..
2024.04.02 -
참조에 의한 할당 (Reference Assignment) 문제 (Flutter)
참조에 의한 할당 (Reference Assignment) List A의 값을 할당받는 List B의 값을 변경하면 A와 B 두 리스트 모두의 값이 변하는 문제 var listA = [{'name': '민수'}]; var listB = listA; listB[0]['name'] = '철수'; print(listA[0]['name']); // '철수' 출력 왜 이런 문제가 발생하는거야? List B가 ListA를 참조하고 있다면 메모리의 같은 주소를 바라보고 있기 때문에 한 리스트에서의 변경이 다른 리스트에도 영향을 미친다, 이것은 '얕은 복사'(shallow copy)라고도 불리며 객체나 리스트를 다룰 때 흔히 발생하는 문제이므로 조심해야한다 이 문제를 해결하기 위해서는 각 리스트가 독립적인 리스트가 되..
2024.04.01 -
탭탭카드놀이) 개선 사항
1. 오디오 버튼을 아이콘으로 변경 개선 이유 ? 오디오 재생버튼이 유저의 눈에 안보이는 방식이 오히려 앱을 어렵게 만듬 개선 방법 ? 시각적으로 보이는 아이콘을 통해 오디오를 재생하도록 변경 2. 메뉴바 액션 추가 개선 이유 ? 메뉴바를 눌러서 메뉴창을 띄우는게 더 직관적이고 사용성을 높이는 방법이라고 판단 개선 방법 ? 메뉴바와 메뉴바 두 곳에 액션을 추가해서 사용성을 높였음 3. 숫자카드 메뉴버튼 슬라이드 불편함 해결 개선 이유 ? 숫자카드 메뉴모달창에서 슬라이드를 하려고 하는데 버튼이 눌러지는 문제 발생했고 버튼과 목록을 나누기로 결정했음 개선 방법 ? 버튼 크기를 줄여서 좌측에 배치함으로써 해결
2022.05.25 -
POMOTODO) 유저수 증가 및 첫 GitHub Folk
POMOTODO 배포 이후에 천천히 유저수가 증가했다 현재 나를 제외한 39명의 유저가 있고 실제 서비스를 이용하는 유저는 20~25명 정도로 확인된다 GitHub에서 하나의 Star와 Folk를 받을 수 있었다 작은 숫자들이지만 내가 운영하는 서비스를 이용하는 유저가 늘어난다는 경험이 정말 감사하고 뿌듯했다 내가 직접 사용하며 느낀 개선해야 할 부분도 많기 때문에 조금씩 유지보수를 해야겠다고 생각했는데 수치로 확인을 하니깐 더 좋은 서비스로 보답을 해야겠다는 생각과 함께 앞으로도 여러 사람에게 도움이 되는 결과물을 만들어야겠다는 생각을 했다
2022.05.19 -
React Native) iamport 결제검증 로직 구현하기
https://coqoa.tistory.com/145 ReactNative)Expo 인앱결제 (I'mport이용) Expo를 이용해서 개발을 진행해왔고 인앱 결제를 구현해보려고 하는데 제약사항이 많았다 I'mport를 이용하면 기능 구현이 가능하다는 정보를 입수했고 문서를 먼저 정독했다 그동안 실제 결제 관 coqoa.tistory.com 위에서 이어지는 글이다 결제가 완료된 이후에 결제금액을 서버에 저장되어 있는 값과 대조 및 검증하는 로직 구현이 필요하다 링크 import {React, useState, useEffect} from 'react'; import styled from "styled-components/native"; import auth from '@react-native-firebas..
2022.05.19