본문 바로가기

내일배움캠프

(53)
본 캠프 47일 차 개인 과제 시작 이미지 검색 앱 만들기 이미지 검색 api 가져오기 (다음) UI는 fragment 2개 사용 하단에 버튼 두 개 생성하고 그 버튼으로 두 프래그먼트 사이를 이동 api 검색 결과에서 섬네일url, display sitename, datetime을 받아오기 검색어를 입력할 수 있는 검색창 만들기 검색창 만들기 툴바를 만들고 그 위에 검색기능을 가진 돋보기랑 뒤로가기 버튼을 만들어 놓았다. 물론 아직 기능은... 일단 툴바에 있는 돋보기를 누르면 이렇게 입력할 수 있는 칸이 나온다. 이 기능은 res에 menu라는 디렉토리를 따로 만들고 거기에 menu라는 xml을 만들어서 생성하니 이렇게 돋보기를 누르면 검색창이 튀어나오는 이쁜 창이 만들어졌다. 이제 여기서 검색을 할 수 있게 할 예정이..
본 캠프 46일 차 - Miseya 미세먼지앱 구글맵 api에 이어 공공기관 api 가져오기 데이터는 공공데이터포털(https://www.data.go.kr)을 이용함 수신된 JSON 데이터를 가공 gradle에 라이브러리 추가 http 통신을 위해 manifest에 인터넷 사용권한 추가 Retrofit 안드로이드 및 자바를 위한 타입 세이프한 HTTP 클라이언트 라이브러리 Rest api의 HTTP요청ㅇ르 자바 인터페이스로 변환하는 것을 주 목적으로 함 gradle에 라이브러리 추가 api를 인터페이스로 정의 retrofit 인스턴스 생성 gradle에 // build.gradle (Module: app) dependencies { implementation 'com.squareup.retrofit2:retrofit:2.x.x' impl..
본 캠프 45일 차 Room 데이터를 저장하는 방법 3요소로 Database, Entity, Dao가 있다 gradle 파일에 plugin과 dependencies에 입력해서 sync해야 함 gradle 파일 설정 plugins { id("kotlin-kapt") } 플러그인에 얘를 추가해 주고 dependencies { val room_version = "2.6.1" implementation("androidx.room:room-runtime:$room_version") annotationProcessor("androidx.room:room-compiler:$room_version") // To use Kotlin annotation processing tool (kapt) kapt("androidx.room:room-c..
본 캠프 44일 차 발표회 후 피드백 피드백(1차 3개조) -실제로도 폰에 설치에서 사용 가능한 수준인가? -실시간으로 검색이 되게끔 해라 -디자인 아무거나 가져다 쓰지 말고 컨셉에 맞는 아이콘을 써라 -그리드뷰는 기존의 리스트랑 확실히 다르게 해라 -각페이지마다 디자인의 통일성이 있어야 한다. -> 피그마에서 다같이 통일성을 맞춰라 -권한 팝업, 스와이프를 할 때 전화를 걸든, 삭제를 한다는 메세지가 있었으면 좋겠다. -깃 다루는거에 대해 연습이 필요하다 -확실 하게 알수 있게 토스트메세지를 띄워라(즐겨찾기, 삭제 등) -가독성이 있게 -즐겨찾기랑 추가 부분이랑 겹치면 사용이 어렵다-> 해결바람 -일반적으로 발표할 때는 아무런 언질 없이 화면을 읽으라는 무언의 의지를 보이지말고 간략히 설명해라 -시연영상 가이드에서 우측에..
본 캠프 42일 차 class DetailFragment : Fragment() { //메모리 누수를 막기 위해 private var _binding : FragmentDetailBinding? = null private val binding get() = _binding!! //즐겨찾기 상태 private var isFavorite = false //데이터 받아오기 private val data : ContactData? by lazy { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { arguments?.getParcelable(Contants.ITEM_DATA,ContactData::class.java) }else { arguments?.getParcelab..
본 캠프 40일 차 팀 프로젝트 2일차 어제 만들었던 레이아웃에 데이터 전달받고 보내는 기능을 추가하려고 했으나, 튜터님 피드백을 받고 다시 피그마부터 작업에 들어갔다. 너무 내용이 부실해서 추가를 좀 더 해야 한다는 피드백을 받고 추가를 시작하였는데, 오늘 하루 다 피그마랑 끝나고 레이아웃 바꾸는데에 다 들어갔다. 피그마가 좀 더 보기 좋게 바뀌었고, 리스트쪽은 들어갈 내용이 엄청 많아졌다. 일단 오늘은 레이아웃을 다시 다 바꿔주었다.
본 캠프 39일 차 팀 프로젝트 연락처 앱 만들기 피그마로 틀 만들기 로고로 쓸 그림 찾아서 잘라내기 아이콘 역할분담 각 레이아웃 만들기 github에 pr 하고 승인하기 " rel="noopener" data-mce-href="http://">http:// 피그마로 틀 만들기 오늘 발제 끝나고 스탠다드반, 챌린지반 수업이라 혼자서 회의는 못하고 대충 피그마로 틀을 만들었는데, 수업 끝나고나서 그 틀을 가지고 좀 더 바꾸거나 추가하거나 하면서 와이어 프레임을 완성했다. 여기에 로고를 쓸 그림을 좀 찾아봤는데 괜찮은거 같아서 가져왔는데 다들 괜찮다고 하여 쓰는 방향으로..! 역할분담 각자 액티비티나 프래그먼트 별로 나눠서 레이아웃을 오늘 먼저 만들고 깃허브에 pr을 넣었다. 일단 내가 맡은 건 DetailFragment로 피..
본 캠프 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..