Skip to content

3주차 미션/1조 박민우#4

Open
mwpark01 wants to merge 5 commits intoKonkuk-KUIT:mwpark01from
mwpark01:mwpark01/week3
Open

3주차 미션/1조 박민우#4
mwpark01 wants to merge 5 commits intoKonkuk-KUIT:mwpark01from
mwpark01:mwpark01/week3

Conversation

@mwpark01
Copy link
Copy Markdown

@mwpark01 mwpark01 commented Apr 2, 2026

1. 미션

  • Navigation 구현
    • 홈 - 뉴스 기사 상세 스크린 연결
    • Article 객체 HomeScreen → ContactDetailScreen 으로 이동할 때 전달되게 구현
  • 뉴스 기사 상세 화면
    • UI 구현
    • 뒤로가기 버튼 기능 구현

2. 구현에 대한 설명

1. 연락처

  • Serializable 데이터 클래스

    • 화면 간 데이터 전달을 위해 Serializable 인터페이스를 구현하여, navController의 savedStateHandle을 통해 객체 자체를 넘길 수 있도록 설계했습니다.
  • Navigation Route 정의 및 설정

    • Route 인터페이스에 CONTACTCONTACT_DETAIL 경로를 추가하였습니다.

    • MainNavHost에 연락처 관련 composable들을 등록했습니다.

  • 화면 간 데이터 전달 (SavedStateHandle)

    • NavControllersavedStateHandle을 활용했습니다.
    • 송신: navController.currentBackStackEntry?.savedStateHandle?.set("call", call)
    • 수신: navController.previousBackStackEntry?.savedStateHandle?.get<Call>("call")
  • 연락처 상세화면 (ContactDetailScreen)

    • popBackStack()을 이용해 이전 화면으로 돌아가는 뒤로가기 기능을 구현했습니다.

2. 뉴스

  • Serializable 데이터 클래스

    • 화면 간 데이터 전달을 위해 Serializable 인터페이스를 구현하여, navController의 savedStateHandle을 통해 객체 자체를 넘길 수 있도록 설계했습니다.
  • Navigation Route 정의 및 설정

    • Route 인터페이스에 HOMEHOME_DETAIL 경로를 추가하였습니다.

    • MainNavHost에 뉴스 관련 composable들을 등록했습니다.

  • 화면 간 데이터 전달 (SavedStateHandle)

    • NavControllersavedStateHandle을 활용했습니다.
    • 송신: navController.currentBackStackEntry?.savedStateHandle?.set("Article", article)
    • 수신: navController.previousBackStackEntry?.savedStateHandle?.get<Article>("article")
  • 뉴스 상세화면 (HomeDetailScreen)

    • popBackStack()을 이용해 이전 화면으로 돌아가는 뒤로가기 기능을 구현했습니다.
    • LazyColumn을 사용하여 뉴스 화면을 구현함으로써, 뉴스의 본문이 짤리지 않도록 하였습니다.

3. 스크린샷 & 실행영상

실습 미션
practice.mp4
mission.mp4

BearYeWon and others added 5 commits March 27, 2026 20:44
Updated the README to include detailed instructions on forking, cloning, and submitting pull requests for the KUIT 7th Android project.
.fillMaxWidth()
.height(160.dp)
.border(
width = 1.2.dp,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dp는 어차피 정수로 처리되기 때문에 예측이 가능하도록 정수를 쓰는 것이 좋습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants