📌 Intro 안드로이드 스튜디오로 어플리케이션을 만들어본 사람이라면 항상 같은 아이콘으로 생성되는 것을 알 것이다. 다른 것으로 바꿔보자. 📌 사진 추가 위 링크는 키워드를 주면 인공지능이 해당 키워드에 맞게 그림을 그려주는 사이트다.(진짜 신기하더라...) 무튼 여기서 얻은 이미지를 앱의 아이콘으로 설정하려고 한다. Dream by WOMBO dream.ai 위 사진이 우리가 얻은 이미지다. 안드로이드 스튜디오에서 [New] → [Image Asset]을 선택한다. Configure Image Asset창이 뜨는데 빨간 색으로 표시된 Path를 클릭해서 사진을 추가한다. [res] → [mipmap] 폴더가 생기면서 이 안에 추가한 아이콘이 들어가있다. AndroidManifest.xml 파일의 ap..
📌 Intro 바텀 네비게이션이나 버튼에 아이콘을 추가하기 위한 방법은 다양하다. 안드로이드 스튜디오에서 기본적으로 제공하는 아이콘도 다양하기 때문에 이를 이용하는 방법에 대해 알아볼 것이다. 📌 안드로이드 스튜디오 제공 아이콘 이용 [New] → [Vector Asset]을 클릭한다. Configure Vector Asset창이 나오는데 빨간색으로 표시된 버튼을 클릭하여 안드로이드 스튜디오에서 제공하는 아이콘 중에서 사용하고 싶은 아이콘을 선택할 수 있다. 굉장히 다양한 아이콘이 있는 것을 확인할 수 있다. 사용하고 싶은 아이콘을 선택하고 Configure Vector Asset에서 Finish 버튼을 클릭하면 사용할 수 있게된다. 레이아웃 xml파일에서 뷰의 drawable속성에 아래의 코드를 이용하..
📌 Intro 종합설계 과목을 하면서 어플리케이션을 만드는데 상태바, 바텀 네비게이션 바, 버튼의 색상이 보라보라한게 너무 맘에 안들었다. 한번 바꿔보자. 📌 상태바 색상 변경 상태바부터 시작해서 네비게이션 바, 버튼의 색상을 변경하기 위해서 공통적으로 해주어야 하는 작업이있다. [res] → [values] → [themes.xml]의 내용을 바꿔주어야 한다. 아래 코드처럼 MaterialComponents를 AppCompat으로 변경해주도록 하자. 변경 전 내가 지정한 색상은 검은색이기 때문에 앱 실행 시 상태바의 색상이 검은색으로 표현된다. 📌 바텀 네비게이션 바 색상 변경 [Android] Bottom Navigation Bar 사용하기 📌 Intro 카카오톡이나 인스타그램처럼 아래 탭이 있고 선..
📌 Intro 종합설계 과목을 진행하면서 만든 앱에서 Retrofit을 통해 서버로부터 데이터를 받아오는 작업을 진행했다. 이 때 서버로 보낸 영상을 처리하느라 조회 페이지에 들어갔을 때 나오지 않았던 데이터들을 새로고침 기능을 통해 가져오려고 했다. 당근마켓과 같은 앱을 사용할 때 화면을 아래로 당기면 리스트가 새로고침되는 것을 본 적이 있을 것이다. 이 기능을 어떻게 만드는지에 대해 알아보도록 하자. 📌 Swipe Refresh Layout SwipeRefreshLayout은 사용자가 수직으로 화면을 당겨 contents를 새로고침 할 때 사용하는 View다. 이 뷰를 초기화하는 액티비티에서 OnRefreshListener를 추가해야 한다. SwipeRefreshLayout은 사용자 제스처가 실행될 ..
📌 Intro 이전 글에서는 POST를 적용해본 내용에 대해 정리했다. 안드로이드에서 서버로 영상을 전송한 뒤 서버에서 영상처리를 진행하고 결과를 다시 조회할 수 있는 기능을 만들었다. 그래서 GET을 통해 서버에 올라가있는 영상을 받아오는 방법에 대해 정리하려고 한다. 📌 Permission 서버와 통신하기 위해서는 INTERNET 퍼미션이 필요하고 휴대폰 내의 저장소에 접근하기 위한 퍼미션이 필요하다. 📌 Server { "code": "string", "data": [ { "thumbnailUrl": "string", "videoName": "string", "videoUrl": "string" } ], "isSuccess": true, "message": "string" } GET을 사용하기 때문..
📌 Intro 이전 글에서는 다른 블로그에서 학습한 내용을 정리하면서 Retrofit의 기본적인 개념에 대해 공부했다면 이번 글에서는 종합설계 과목을 진행하면서 직접 적용해본 내용을 바탕으로 글을 작성하려고 한다. 나름 자세하게 작성한다고 했는데 나중에 봤을 때 무슨 말인지 알아볼 수 있을지 의문이다. 📌 Permssion 서버와 통신하기 위해서는 INTERNET 퍼미션이 필요하고 휴대폰 내의 저장소에 접근하기 위한 퍼미션이 필요하다. 📌 Server 서버에서 요구하는 정보는 영상(video), 영상의 썸네일(thumbnail), 영상 제목(titleName)이다. 그리고 성공적으로 데이터를 전송한 경우 다음과 같은 결과 값이 반환된다. { "code": "string", "data": "string",..
📌 Intro 이전 글에서는 RESTAPI와 Retrofit의 GET방식을 사용하는 방법에 대해 정리했다. 프로젝트를 진행하면서 POST방식도 사용해야 했기 때문에 이해를 위해 정리해두려고 한다. 앞으로의 내용은아래글을 읽었다는 가정하에 동일한 부분은 설명없이 진행할 것이다. [Android] REST API & Retrofit 📌 Intro Retrofit은 서버와 통신할 때 사용하는 라이브러리이다. RestAPI는 무엇이고, Retrofit을 사용하기 위해서는 어떻게 해야하는지 알아보도록 하자. 📌 Rest? REST 정의 REST는 Representational State Transf krrong.tistory.com 📌 POST 사용 POST 방식은 @FormUrlEncoded 어노테이션을 사용하..
📌 Intro 전해들은 바로 요즘은 Activity를 여닫으면서 작업하는 것보다 하나의 Activity에서 Fragment를 이용한다고 한다. 그래서 작성하던 코드를 Fragment로 옮기는 과정에서 Activity에서는 잘 동작하던 requestPermissions() 메서드가 Fragment로 옮기니 deprecated 되었다고 한다. 📌 Fragment에서 권한 요청하기 Activity Result를 받아오는 API가 변경되면서 Fragment.requestPermissions도 deprecated 되었다고 한다. 그래서 registerForActivityResult를 호출하고 ActivityResultContracts.RequestPermission을 인자로 전달해야 한다. 공식 문서에 따르면 다..