ABOUT ME

Today
Yesterday
Total
  • TECHIT 앱 스쿨 2기: Android 42일차 (23.06.27)
    [THEC!T] 앱 스쿨2기 : Android 2023. 6. 27. 21:28
    728x90

    오늘은 진도를 나가기 보다는 어제 배운 내용과  내주신 문제에 대해서 설명과 새로운 문제를 작성하며 진행되었습니다.

     

    어제 내주신 문제에 대해서 저의 경우 데이터의 전달을 번들을 사용하였는데, 강사님께서는 activity as MainActivity 를 사용하여 액티비티에 직접 접근하여 액티비티에 있는 데이터를 사용하셨습니다.

     

    해당 방법을 보고 저런 방법이 있기 때문에 프래그먼트가 많더라도 효율적이구나 라고 생각하게 되었습니다.

     

    어제 내주신 문제를 강사님께서 설명을 해주신 뒤에 다시 다른 문제를 내주셨습니다

    결론부터 말하자면 강사님과 저의 코드의 차이점은 데이터를 저장할 때 유효성검사를 하는 로직과 유효성 검사에서 유효하지 않은 데이터가 들어왔을 경우 사용자에게 알려주는 방식의 차이가 있었습니다.

     

    저의 경우 안드로이드 수업 초강기에 배웠던 TextInputLayout 과 입력된 정보가 유효성 검사를 통과하지 못하였을 때는 버튼을 눌러도 저장이 되지 않는 방법으로 작성하였었으나, 강사님께서는 다이알로그를 이용하여 사용자에게 메세지를 띄우는 방법으로 작성하셨습니다. 생각해보니 사용자의 입장에서는 저처럼 하는 것보다는 강사님처럼 작성하는 것이 무엇이 문제인지 더욱 빠르게 알려줄 수 있다고 생각이 들었고, 앞으로 유효성 검사을 해야하는 로직에서는 강사님 처럼 다이얼로그를 띄워 사용자에게 확실하게 알려주는 방법을 사용해야 겠다고 생각하였습니다. 또한 포커스를 주는 부분에서도 차이가 있었습니다. 사용자의 편의성을 생각하면 포커스를 준 뒤 키보드를 띄우는 것이 좋지만, 저는 그 생각을 하지 못하였었기에 앞으로 자료를 입력받는 액티비티 혹은 프래그먼트에서는 포커스워 키보드를 띄어주는 기능을 작성 해야겠다고 생각하였습니다.

     

    하기는 제가 작성한 애플리케이션의 작동 영상입니다.

     

     

     

    이후에는 강사님께서 새로운 문제를 내주셨습니다.

    요약하자면 정말 많은 프래그먼트를 생성해야 합니다. 제 생각이지만 의도하신 목적은 한개의 프래그먼트 컨테이너 뷰로 표현이 안될 경우 어떻게 할 것인가? 라는 의도로 내주신 문제 같다고 생각이 듭니다. 왜냐하면 지금까지 푼 문제들은 한개의 프래그먼트 컨테이너 뷰를 사용하여 작성하였기 때문입니다. 처음에는 어떻게 작성을 하는 것이 좋을까? 라고 생각을 하며 간단하게 진행방향을 그림으로 그려봤었습니다. 그리고 제가 생각한대로 구현을 하려면 어떻게 하면 좋을지 생각하며, 강사님께서 알려주셨던 내용과 수업자료들을 다시 보며 생각해보니 액티비티는 여러개의 프래그먼트를 관리할 수 있고, 그렇다는 것은 한개의 액티비티에서 한개의 프래그먼트 컨테이너 뷰가 아니라 여러개의 프래그먼트 컨테이너 뷰를 관리 할 수 있지 않을까? 라는 생각과 함께 더미 자료를 생성하여 테스트를 해보니 정상적으로 작동하는 점을 확인 할 수 있었습니다. 그 이후로 강사님께서 내주신 문제를 작성 진행 중에 있습니다.

    작성하다 보니 너무 많은 프래그먼트가 필요하기도 하지만 화면을 구성해야되는게 너무 많아 아직 작성은 완료하지 못한 상황입니다. 이번주의 안드로이드 강의는 내일이 마지막이기에 내일 배운 내용과 오늘 내주신 문제를 이번주에 천천히 복습을 하며 작성해 볼 수 있도록 하겠습니다.

     

    마무리

    오늘은 어제 복습을 하면서 강사님은 어떻게 작성하실까? 라는 궁금증을 가진 상태에서 강의를 듣다 보니 좀 더 집중이 잘 되었던 것 같습니다. 근데 오늘 내주신 문제는 화면구성이 오래걸리는 문제이기도 하고 어제 개인적인 복습을 하다가 늦게 잠들어 현재 작성한다고 하더라도 제대로 작성을 하지 못할 것 같아 이번주에 시간이 평소보다 널널하기에 이번주에 작성 할 수 있도록 하겠습니다.

Designed by Tistory.