본문 바로가기

전체 글

(61)
본 캠프 38일 차 해설 코드보고 개인과제 수정 및 추가하기 디테일페이지 우선 이미지를 받아오는 코드 //데이터 받아오기 var data = intent?.getParcelableExtra(Contants.Item_OBJECT)?: //?: 로 null일 경우 앱이 꺼지지 않게 넣는 데이터 MyItem(R.drawable.sample1,"제목","위치","내용","아이디",1000,1,1,false) //받은 데이터 집어넣기 binding.imgTitle.setImageResource(data.aImg) binding.userId.text = data.aUserid binding.userPrice.text = DecimalFormat("#,###").format(data.aPrice) + "원" binding.userLoc..
본 캠프 37일 차 개인 과제 제출 후 해설본 보고 수정하기 코드가 다른거 쳐보고 구글에도 검색해 왜 다른지 알아보기 //데이터 받아오기 // var data = intent?.getParcelableExtra(Contants.Item_OBJECT)?: // //?: 로 null일 경우 앱이 꺼지지 않게 넣는 데이터 // MyItem(R.drawable.sample1,"제목","위치","내용","아이디",1000,1,1) //받은 데이터 집어넣기 // binding.imgTitle.setImageResource(data.aImg) 기존에 썼던 코드인데 해설본에는 private val data : MyItem? by lazy { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAM..
본 캠프 36일 차 개인과제 필수기능 마무리 상품 상세페이지 이동시 intent로 객체를 전달합니다. (Parcelize 사용) 상품 가격은 1000단위로 콤마(,) 처리해주세요. 뒤로가기(BACK)버튼 클릭시 종료하시겠습니까? [확인][취소] 다이얼로그를 띄워주세요. (예시 비디오 참고) 뒤로가기 버튼 클릭시 다이얼로그 띄우고 종료하기 //뒤로가기 눌렀을 때 다이얼로그 띄우고, 확인 누르면 종료 override fun onBackPressed() { val builder = AlertDialog.Builder(this) builder.setIcon(R.drawable.speech_bubble) builder.setTitle("종료") builder.setMessage("정말 종료하시겠습니까?") builder.setPos..
본 캠프 35일 차 개인 과제 2일차 메인액티비티에서 아이템이 눌렸을 때 그 아이템의 상세 페이지로 가기 상품 선택시 아래 상품 상세 페이지로 이동합니다. 상품 상세페이지 이동시 intent로 객체를 전달합니다. (Parcelize 사용) 상품 아이템들 사이에 회색 라인을 추가해서 구분해주세요. 상단 종모양 아이콘을 누르면 Notification을 생성해 주세요. (예시 비디오 참고) 뒤로가기(BACK)버튼 클릭시 종료하시겠습니까? [확인][취소] 다이얼로그를 띄워주세요. (예시 비디오 참고) 위에를 완료한다는 목표를 가지고 열심히 만져 보았다. 알림 우선 종모양을 누르면 뜨는 알림은 강의에서 나온 내용을 그대로 넣으니 되었다. 추가적으로 manifest에 이 문구도 집어 넣어서 앱이 휴대폰의 알림 기능을 사용할 수 있게했..
본 캠프 34일 차 개인 과제 시작 UI만들기 (액티비티 디자인 하기) 더미데이터들 집어넣기 recycler viewer로 리스트 화면 만들기 상품 이미지 모서리를 라운드(둥글게) 처리 상품 이름은 최대 두줄, 그 이후는 ...으로 처리 하나의 리스트 마다 구분 선 집어 넣기 메인 xml에서는 리사이클러뷰 하나만 넣어두고, 다시 따로 리사이클러 xml을 만들어서 우선 계속 재사용 할 칸을 만들어 줬다. 이미지 모서리를 둥글게 처리하는건 카드뷰라는 뷰 안에 이미지뷰를 꽉 차게 넣어주고 카드뷰에 레디우스를 줘서 모서리를 깎았다. 문제 발생 분명 xml로 만들 때는 넘겨서 만들지도 않았는데 에뮬레이터에는 글씨가 에뮬레이터 바깥으로 뚫고 나가서 무슨 내용이 있는지 알 수 없는 상황이 되어 버렸다. 그래서 이것을 해결 하고자 오른쪽..
본 캠프 33일 차(Fragment,액티비티와 프래그먼트 데이터 전달) 프래그먼트 프래그먼트란 액티비티 위에서 동작하는 사용자 인터페이스 액티비티와 분리되어 독립적으로 동작할 수는 없다. 여러 개의 프래그먼트를 하나의 액티비티에 조합하여 창이 많은 UI를 만들 수 있고, 하나의 프래그먼트를 여러 액티비티에서 재사용 할 수 있다. 예를 들어 당근마켓 등 여러 앱에서 밑에 홈,마이페이지,상품 등 이렇게 밑이나 위 등 고정된 곳에 버튼들이 존재 하고 이걸 누르면 이 버튼들은 그대로인데 가운데 화면만 그에 따라 바뀌는걸 볼 수 있는데 이게 프래그먼트를 활용한 것이라고 한다. 프래그먼트와 액티비티의 비교 액티비티는 시스템의 액티비티 매니저에서 인텐트를 해석해 액티비티간 데이터를 전달한다. 프래그먼트는 액티비티의 프래그먼트매니저에서 매소드로 프래그먼트간 데이터를 전달한다. 프래그먼트를..
본 캠프 32일차 실시간 강의 내용 singleton 패턴 : 프로그램 내에서 인스턴스가 하나만 존재해야하고 어디든 인스턴스에 접근할 수 있도록 해주는 패턴 로그기록, 유저 매니저?, 데이터 테이블 정보를 저장하는 클래스 등에 사용한다고 한다. strategy 패턴 : 알고리즘을 캡슐화하여 교체하여 사용할 수 있도록 한 구조, 알고리즘 인터페이스를 정의하고 인터페이스를 상속받은 클래스에 알고리즘을 구현하여 캡슐화, 알고리즘을 사용할 클래스에 인터페이스를 포함시킨다. 이후로도 여러가지 디자인패턴이 있었는데...이건 따로 찾아봐야 할거 같다...오늘 내용은 아무것도 모르겠다. 이번주 강의는 프래그먼트에서 정보 전달하는걸 들었는데 따라한거 같은데 실행이 안되서 일단 내일 문제점을 다시 찾아봐야겠다.
본 캠프 31일 차(ViewBinding) ViewBinding findviewbyid 를 대신하고 좀 더 쉽게 작성 할 수 있게 해주는 것 모듈에 있는 각 xml 레이아웃 파일의 결합 클래스를 생성 findviewbyid 와 다르게 null과 타입에 안전성이 있다. ViewBinding 설정하는 방법 강의 영상만 보고 android { viewBinding { enabled = true } } 이게 왜 안되나 하고 계속 찾아봐도 못 찾겠고 저기서 그냥 enabled에서 d만 빼고 enable = true로 해보니 이제야 정상적으로 sync now가 되었다. android { viewBinding{ enable = true } } 근데 조금 뒤 강의에서 저거 대신 buildFeatures를 넣는게 보였다. android { buildFeature..