게시글
질문&답변
model, viewmodel
hellohallo님 안녕하세요.Sirius B입니다.문의해주셔서 감사합니다.말씀하신 model, view, viewmodel을 현재 프로젝트 구조와 매핑해보면 다음과 같습니다.modeldto 폴더 : 데이터 객체dao 폴더 : 서버 통신 및 내부 DB에 접근하여 데이터 송수신viewview 폴더 : 화면 레이아웃viewmodelcontroller 폴더 : 비즈니스 로직 (화면 및 데이터 갱신 등의 역할)참고로 작업 흐름 및 주요 역할은 다음과 같습니다. view ↔ controller ↔ dao (dto)화면 표시 ↔ 화면 및 데이터 갱신 ↔ 데이터 송수신 추가 질문 있으시면 다시 문의 남겨주세요.감사합니다 :)
- 0
- 1
- 55
질문&답변
material theme
윤정님 안녕하세요.강의 영상에 변경된 내용이 반영되어있지 않아 혼란을 드려 죄송해요!말씀하신 material theme 구성을 위한 사이트의 변경된 주소입니다.https://material-foundation.github.io/material-theme-builder/ 다운로드 메뉴 위치는 상단 오른쪽에 있는 플러스 버튼을 클릭하면 나오는 레이어의 하단에 Export 버튼을 이용해서 다운로드 받을 수 있습니다. 감사합니다 😃
- 0
- 1
- 101
질문&답변
PageTransition 적용 후 뷰 적용 되지 않는 문제가 있습니다.
안녕하세요 Gavin님,시리우스 B입니다. 저의 강의를 수강해 주셔서 정말 감사합니다!작성해주신 코드에 오타가 하나 있어서 안되는 것 같습니다.FadeThroughTransition 의 animation: secondAnim 부분을 animation: anim 으로 고치면 정상적으로 화면 전환이 될 것으로 보입니다.작성해주신 코드의 해당 부분이 secondaryAnimation 항목과 같아서 문제가 생긴 것으로 보여요.한번 해보시고 그래도 안 되면, 다시 한번 문의 주시기 바랍니다.감사합니다! [반영된 코드]return Scaffold( appBar: AppBar( title: Obx(() => Text(controller.title.value)), ), body: SafeArea( child: PageTransitionSwitcher( transitionBuilder: (Widget child, Animation anim, Animation secondAnim) { return FadeThroughTransition( animation: anim, secondaryAnimation: secondAnim, child: child, ); }, child: Obx(() => RouteInfo.navBarPages[controller.navBarIdx.value])), ), bottomNavigationBar: Obx(() => NavigationBar( selectedIndex: controller.navBarIdx.value, onDestinationSelected: controller.onChangeNavBar, destinations: [ NavigationDestination( icon: const Icon(Icons.home_filled), label: 'navBar.home'.tr, ), NavigationDestination( icon: const Icon(Icons.list_alt), label: 'navBar.post'.tr, ), NavigationDestination( icon: const Icon(Icons.photo), label: 'navBar.photo'.tr, ), ], )), );
- 0
- 1
- 113
질문&답변
강의자료는 어디서 다운 받나요?
안녕하세요 Kane Kim 님,죄송하지만 배포용으로 만든 자료가 아니어서 정리가 되질 않아 드리기가 어렵습니다.양해 부탁드립니다.감사합니다.
- 0
- 2
- 266
질문&답변
강의자료는 어디서 다운 받나요?
안녕하세요! Kane Kim 님,아쉽게도 PPT로 보이는 내용은 영상을 제작하기 위해 임시로 만든 자료입니다.강의에서 제공되는 자료는 소스코드 자료입니다.감사합니다.
- 0
- 2
- 266
질문&답변
route의 pages
아 제가 질문을 잘못 이해했네요 ㅎㅎ화면을 이동할 때, 매개변수를 넘겨주는 것에 대한 질문이죠?아래와 같이 사용할 수 있습니다 :)// arguments 에 원하는 형태로 값을 담아서 사용 (bool, int, String, list ...) Get.toNamed(RouteInfo.routeRoot, arguments: 'Return data'); // 사용하고자 하는 곳에서 아래와 같이 호출하여 사용 print(Get.arguments);원하는 답변이 맞는지 확인 부탁 드려요!감사합니다.
- 0
- 3
- 424
질문&답변
route의 pages
안녕하세요!우선 현재 강의에서 만드는 샘플 앱에서는 MainView 가 최상단 Root 화면에 해당하고여기에 네비게이션바를 설정하여 사용하는 방식이어서PostDetailView 를 제외한 모든 화면이 MainView 에 해당합니다.Home, Post, Photo 화면은 MainView 위에서 네비게이션바를 통해 전환되는 화면이에요.그래서 PostDetailView 에서 뒤로가기를 누르면 MainView 화면이 그대로 나오게 돼요.만약, 명시적으로 호출하여 MainView 로 이동하는 것을 테스트해보고 싶다면,PostDetailView 에 버튼을 하나 생성하고 아래와 같이 입력하여 테스트해 보세요 :)ElevatedButton( child: Text('MainView 이동 테스트'), onPressed: () { Get.toNamed(RouteInfo.routeRoot); } )이러한 네비게이션바 구조가 아닌 일반적인 화면 이동을 위한 방법은 간단합니다.Get.toNamed(RouteInfo.routeRoot);위와 같이 Get.toNamed 에 Route명을 넣어줘서 원하는 화면으로 이동할 수 있습니다.관련된 강의 내용입니다.섹션4. GetX 기반 앱 만들기 - [포스트 보기 화면 만들기]5:15 부분부터 한번 살펴보세요 :)호출하는 부분은 15:37 부분에 있습니다.혹시, 질문에 대한 답변이 충분하지 못하면 다시 한번 문의해 주세요 :)감사합니다.
- 0
- 3
- 424
질문&답변
onChangeNavBar 질문
안녕하세요!onDestinationSelected: controller.onChangeNavBar 를 직관적으로 풀어서 작성해볼게요 :)직관적인 표현onDestinationSelected: (int idx) { controller.onChangeNavBar(idx);}원래 형태는 위와 같습니다.onDestinationSelected 에는 int 값에 대한 파라미터가 1개 존재해요.(int idx) {} 부분이 Function 이기 때문에, 같은 형태의 Function 인 onChangeNavBar(idx) 를 마치 변수처럼 onChangeNavBar 로 넣어주게 되면 메소드의 파라미터가 그대로 대입되어 사용할 수 있게 됩니다.간단한 표현onDestinationSelected: controller.onChangeNavBar그래서 1번과 2번은 완전히 동일하게 작동할 수 있어요.마찬가지로 더 많은 파라미터를 가진 메소드를 이용할 때도 같은 원리로 사용할 수 있어요.아래 추가 예시에서도 ExamWidget 을 표현한 2가지 방식 모두 완전히 동일하게 실행되게 됩니다.추가 예시void onExam(int p1, bool p2, String p3) { print('$p1, $p2, $p3');}ExamWidget( onExamEvent: onExam)// 또는ExamWidget( onExamEvent: (int p1, bool p2, String p3) { onExam(p1, p2, p3); })또 다른 질문이 있으면 다시 남겨주세요 😀감사합니다!
- 0
- 1
- 183
질문&답변
라우트 명은 어떻게 지정하나요?
안녕하세요!먼저 소스 코드에서의 라우트명 지정은 route_info.dart 파일에서 할 수 있습니다 :)라우트명 지정에 대해서는 '섹션 3. GetX 적용 어렵지 않아요' 의 'Route' 강의에서 설정하는 것을 확인 할 수 있습니다.또한, '섹션 4. GetX 기반 앱 만들기' 의 '앱 개발을 위한 레이어 나누기' 6분 20초 위치부터 해당 내용에 대한 코딩을 같이 진행할 수 있습니다.감사합니다!
- 0
- 1
- 267