GDG in songdo
플러터 사이드 팀프로젝트가 끝나고

지금까지 약 한달 가량

 

혼자 프로젝트를 진행했다.

팀프로젝트에서는 디자이너 개발자가 각각 포지션에 맞는 역할에 집중해서 수행하면됬는데

혼자 하다보니.. 많은 어려움이 있었다.

UI 쪽으로 많은 신경을 쓰는 난.. 디자인 작업에 많은 시간을 썻던것같다.

사실 처음엔 10정도의 퀄리티를 갖는 앱을 구상했지만 내 욕심에 점점 기능은 추가되었고

구현하는 과정에 있어 많은 시간이 더 소요됐다.

 

사실 앱만 보면 별 기능 없다...

어떤 사람에겐 일주일이면 뚝딱 만들 앱이지만

초보인 나에겐 한달정도 걸린것이다.

 

더 많은 기능을 추가하고싶었는데

앱 출시를 더 미룰 수 없기에 그만 개발하고 출시했다.

앱 출시 만큼 중요한 포트폴리오는 없다고 생각했기 때문이다.

 

개인적으로 아주 만족스러운 앱이다.

첫 배포 앱인데 디자인적이나 기능적이나 현재 나에게 딱 맞는 수준인것 같다.

 

다음 앱은 뭘 만들면 좋을지 고민이 되면서

이제는 취업을 하여 빡시게 배워보고싶은 마음도 있다.

 

https://apps.apple.com/kr/app/task-us/id6445977626

 

‎task/us

‎직관적인 UI와 최소화된 기능들로 빠르고 효율적으로 일정을 관리하세요.

apps.apple.com

https://play.google.com/store/apps/details?id=com.taskus.taskus&pli=1 

 

쉽고 간편한 일정 관리 앱(task/us) - Google Play 앱

최소화된 기능으로 쾌적하고 빠르게 일정을 관리하세요

play.google.com

'코딩 > Flutter_miniproject' 카테고리의 다른 글

[Migration] Todo App  (0) 2024.02.19
[Mini_project] pomodoro TIMER  (0) 2022.12.27

앱,웹 어디든 정말 자주쓰이는 기능중 하나인 무한스크롤, 스크롤 페이지네이션이다.

사용자의 스크롤을 인식하여 노출된 데이터 끝부분에 도달하였을때 다음 데이터를 호출하여 뿌려질수 있도록 하는 것이다.

 

본 글에선 GetX를 이용하여 구현하였다.

먼저 ListView 안에 컨트롤을 등록시켜줘야하는데 먼저 컨트롤러를 만들자

해당 컨트롤러를 View 페이지에 등록을 해준뒤

ListView 컨트롤러에 등록하면 된다.

 

 

 

 

 

 

컨트롤러 안 onInit를 통해 사용자의 스크롤을 인식해야한다.

.addListener를 통해 인식할 수 있으며

position.pixels과  position.maxScrollExtent를 통해

사용자가 스크롤를 통해 출력된 데이터 가장 끝(하단)에 도달했다라는 것을 인식할수 있다.

 

그럼 이제 해당 if문 안에는 새로운 데이터를 호출하는 기능이 들어가야한다.

먼저 본인이 사용하는 api를 분석해보자

필요한 파타미터로는

userId = 앱 최초 로그인시 지정되며 변함없는 값이다.

page = 몇 번째 페이지의 데이터를 가져올것인가

limit = 한 페이지에 불러오는 데이터 최대갯수이다.

 

자 그럼 여기서 다뤄야할 것은 무엇인가?

바로 page이다.

이미 프로젝트에선 최대 5개(limit)로 픽스 해놨다.

유저의 데이터가 총 12개라고 가정해본다면

1 page  [1,2,3,4,5]

2 page [6,7,8,9,10]

3 page [11,12]

이렇게 호출될것이며

 

최초 1 page를 호출 받은 상태에서 

스크롤를 최하단으로 내린다면

2 page의 데이터를 새로받는 형식

으로 구현되면 될것이다.

 

View 페이지로 이동시

최초 1회는 1 page 호출

그다음부터는 page를 1씩 더해 호출하여 기존 리스트에 add하는 방식이면 된다.

 

여기서 중요한것이 하나 있다.

무의미한 api 호출  데이터가 없는 페이지는 호출할 필요가 없지 않겠는가?

fetchdata할때마다 받은 데이터가 비어있다면

더 이상 스크롤을 감지할 필요가 없을것이다.

 

팀프로젝트인 만큼 전체 코드는 올리지 못한다.

 

 

 

 

 

컴퓨터에 조금 관심이 있는 사람들이라면

http 와 https 에 대해 많이 들어봤을것이다.

쉽게 말하면 htttp에서 보안이 강화된게 https이다.

 

따라서 많은 홈페이지들이 https 로 변환하였고

여럿 소프트웨어에서도 http에 대한 접근을 지양하고 있다.

 

안드로이드 버전들이 업그레이드 됨에 따라 

보안도 많이 강화가 됐고 이 과정에서 http에 대한 접근을 막아뒀다.

아래 문서를에서 확인이 가능하다.

https://developer.android.com/training/articles/security-config#CertificatePinning 

 

네트워크 보안 구성  |  Android 개발자  |  Android Developers

앱 개발자가 안전한 구성 파일에서 네트워크 보안 설정을 사용자설정할 수 있는 기능입니다.

developer.android.com

 

따라서 앱개발 할때 http에 대한 접근을 허용하게 하려면 따로 설정을 해줘야한다.

 

모든 Http URL 접근 허용

프로젝트/android/app/src/main/AndroidManifest.xml

해당 파일에 들어가

사진처럼

<application

              android:usesCleartextTraffic="true"

넣어주면 된다.

 

어느새 눈이 오는 계절이 되어버렸다.

눈오는날엔 움직이기 너무 귀찮지만

창밖으로 카페에 앉아 눈내리는 걸 보면 정말 느낌있다.

 

프로젝트를 조금씩 완성시키고 있지만..

하나의 산을 넘을때 시간이 너무 들고 바로 다음 산을 넘어가야하나...

이렇게 비효율적으로 시간을 쓰는것보단 다시 기초를 다지자라는 생각에

Dart, Flutter 강의를 찾았고 우연히

노마드코드의 무료강의를 보았다.

 

인터넷 유튜브에서 여럿 강의를 보면서 공부했지만

개인적으론 노마드코드 강의가 최고인듯하다.

영어로 설명하여 자막을 보며 들어야한다는 장점아닌 단점이 있지만

내용이 너무 알차고 설명을 잘해준다.

 

이번주 토요일부터 GDG송도에서 하는 플러터 사이드프로젝트를 시작하는데

앞서 기초를 다지기에 너무 좋은 강의였다.

추후 유료 강의도 들어볼 예정이다.

 

Dart, Flutter를 시작하는 사람에게 꼭 추천하고 싶다.

 

 

토이 프로젝트를 시작한지 한달이 좀 넘었다.

라이버리의 버프를 받으며 이것저것 붙혀가며 앱을 구현하고 있지만

여럿 라이브러리를 적용해보고 또 나에게 맞게 코드를 커스텀 해보기도 하며

점점 완성시키고 있다.

한 70%? 정도 구현 됐다고 생각한다.

내년 2월까지는 꼭 앱 스토어에 출시까지 해보고싶다.

 

더불어 12월 중순부터는 GDG 송도 플러터 사이드프로젝트에 참여하게 되었다.
혼자 프로젝트를 진행할떄 정말 답답했는데 정말 잘됐다.

큰 성장이 기대된다.

 

 

플러터를 개발할때 빨간줄보다 귀찮은게 노랑줄인거같다.

무시해도 되지만 빨간줄보다 더신경쓰인다.

또 가이드대로 고쳐도 없어지는 경우가 많이 없다.

이런 알림을 꺼버리도록하자

프로젝트/analysis_option.yaml 파일을 키면

10번째 라인에 보이는 include 부분을 주석처리해주면 된다.

 

 

+ Recent posts