Home Android Android Navigation 쓸까말까. 최근 Android Developers에 MAD… | by 1984tr | nbt-tech...

Android Navigation 쓸까말까. 최근 Android Developers에 MAD… | by 1984tr | nbt-tech | Nov, 2020

[ad_1]

Navigation에서 가장 눈에 띄는 바로 그것! Navigation Editor는 실제로 Fragment간의 연관 관계를 한 눈에 알아 볼수 있게 시각화해주어 아주 편리하다고 느꼈습니다. (아직 버그가 조금 있는 것 같긴 합니다만😅)
서비스의 시나리오를 쉽게 파악 할 수 있고 개발자간 커뮤니케이션에도 많은 도움이 될 것 같습니다.

Pattern code의 Navigation Graph

시나리오에 필요한 Fragment와 Action을 추가해주고 코드에서 NavController로 navigate만 호출해주면 별도의 스택관리 없이도 전환이 잘 이루어졌습니다. Deeplink를 통해 2depth 이상의 Fragment에 바로 접근 후 Navigate up 또는 Again pressed 동작을 하여도 again stack 시나리오가 그대로 동작하여 이부분도 굉장히 편리하였습니다.

다음으로 Secure Args가 제공된다는 점입니다. Fragment에서 사용 할 Arguments를 미리 정의해 두면 굳이 코드를 찾아볼 필요도 없고 별도의 타입캐스팅 없이 편리하게 사용할 수 있는 점이 좋았습니다.

Navigation Editor에 Argument를 입력하고 build를 하면 NavArgs를 상속받는 XXXArgs 가 generate 되게 됩니다. 여기에서 parameter에 직접 접근하여 사용할 수 있어 불필요한 코드가 사라지게 됩니다.

information class ConfirmDialogFragmentArgs(
val message: String
) : NavArgs {
enjoyable toBundle(): Bundle {
val end result = Bundle()
end result.putString("message", this.message)
return end result
}
...
}

마지막으로 Deeplink 기능을 제공한다는 것입니다. 이 또한 Editor에서 직접 추가가 가능하기 때문에 Fragment별로 Deeplink를 설정할 수 있고 Deeplink Uri의 path, query를 이용하여 arguments 또한 쉽게 전달 할 수 있습니다.

하지만 장점 만큼이나 아쉬운 점도 많이 있었습니다.

[ad_2]

Source link

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Watch the Oppo Reno5 Professional 5G international unveiling dwell right here

Oppo is internet hosting an internet occasion, introducing the Reno5 Professional 5G smartphone in India. This can mark the worldwide arrival of the...

Poco F2 Will Not Use Snapdragon 732G SoC, Confirms India Head

        | Revealed: Monday, January 18, 2021, 9:57 ...

iMore Present 734: A Lotta MagSafe

Joe and Karen are joined by iMore's personal Luke Filipowicz for a chat about a number of the extra attention-grabbing CES bulletins for...