1. 프로젝트 생성하기 1. 안드로이드 스튜디오 실행 2. Start a new Android Studio project 3. File > New > New Project 4. Empty Compose Activity 선택 후 Next 2. Hello world 찍어보기 import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material..
Retrofit을 이용하여 개발을 진행하다보면, 사진을 전송해야하는 경우가 생긴다. Retrofit을 이용하여 사진을 전송하려면, MultiPart를 사용해야 한다. (사진말고도 파일 전송시 필요하다) MultiPart ? 클라이언트가 요청을 보낼 때, HTTP 프로토콜 바디 부분에 데이터를 여러 부분으로 나누어 보내는 것이다. 설명을 위해, 실제로 진행하였던 프로젝트에서 진행하였던 Request Body를 사용하겠다. { {"image": [이미지 파일]} } 다음과 같은 형태로 RequestBody를 요구한다. interface Service { @Multipart @POST("user/update/profile/") fun updateProfile(@Part image : MultipartBody...
[문제] https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net [풀이] bfs를 이용하여 풀었다. visit 배열을 만들어, 방문하지 않았으며 최소 K값을 넘어가는 값만 탐색을 해주었다. [코드] import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.Output..
기능 요약 사용자가 출발지와 도착지를 설정하여, 출발지 - 도착지 사이에 대중교통을 이용하여 갈 수 있는 경로를 출력한다. 참고 레퍼런스 네이버 길찾기, 카카오 길찾기를 참고하여 만들었다. 두 어플리케이션 모두 다음과 같은 과정으로 실행이 된다. 출발지와 도착지를 입력한다 이 때, 키워드를 검색시 키워드 관련 장소로 자동완성 기능을 제공한다. 출발지와 도착지가 입력이 완료되면 최적의 경로가 제공이 된다. 구현할 기능 참고한 레퍼런스를 바탕으로 구현할 기능은 다음과 같다. 사용자가 출발지와 도착지를 검색할 수 있다. 사용자가 입력한 키워드를 바탕으로 관련 장소를 리스트로 추천을 해준다. 출발지와 도착지 키워드 입력이 완료되면, 두 장소를 기준으로 최적의 경로를 제공한다. 구현 방법 구현 방법은 다음과 같다..
Activity에서 fragment로 데이터를 전달할 때, 일반적으로 String인 경우에 putString으로 보낸다. 하지만, 보내야 하는 데이터가 많은 경우, 또는 List를 보내야 하는 경우에 하나하나 해줘야한다. 이러한 경우에는 객체로 보내면 된다. putSerializable을 사용한다. 이 글에서는 예제로 Data Class를 전달해본다. 아래와 같이 DataClass를 생성할 때, Serializable을 상속받아 생성한다. import com.capstone.traffic.model.network.sk.direction.dataClass.itineraries data class Serial(val ser: List?) : java.io.Serializable 이후에 아래와 같은 형태로 F..
intent를 이용하여, 다른 액티비티에 데이터를 전달하는 상황이 올 경우가 있다. 배열을 넘겨줄 수도 있지만, 데이터 클래스를 이용하여 전달하는 방법이 있다. parcelize 사용을 위해 plugins에 추가를 해준다. plugins{ id "kotlin-parcelize" } 그리고 전달하고자 하는 데이터 클래스를 정의할 때, 다음과 같이 정의를 해준다 (예시) @Parcelize data class NeighborLineData( val line : String, var left : String? = null, val center : String, var right : String? = null ) : Parcelable 전달은 다음과 같이 하면 된다. val nlData = NeighborLin..