본문 바로가기

프로그래밍/Kotlin51

[kotlin] Object 사용법 코틀린에서는 "object" 키워드를 다양한 상황에서 사용하지만 그 상황마다의 공통점이, 클래스를 정의하면서 동시에 인스턴스(객체)를 생성한다는 점입니다. 이러한 object 키워드를 사용하는 여러 상황을 살펴보도록 하겠습니다. 객체 선언 : 싱글톤 쉽게 만들기 (object) 객체지향 프로그래밍을 설계하다 보면, 인스턴스가 하나만 필요한 클래스의 유용한 경우가 많습니다. 자바에서는 다음과 같이, 보통 클래스의 생성자를 private으로 선언하고, static 변수에 클래스 객체를 저장하는 패턴으로 구현합니다. /** 자바에서의 일반적인 싱글톤 패턴 */ public class DataRepository { private static DataRepository INSTANCE; private DataRe.. 2022. 7. 25.
[Kotlin] Naver API를 이용해 책 검색 코드 fun bookSearch(searchWord : String) : JSONObject{ // 클라이언트 ID와 Secret은 네이버 API를 등록할때 생성된 값을 넣는다. val clientId = "클라이언트 ID" val clientSecret = "클라이언트 Secret" var bookJsonObject : JSONObject = JSONObject() try { CoroutineScope(Dispatchers.IO).launch { val text: String = URLEncoder.encode(searchWord, "UTF-8") val apiURL = "https://openapi.naver.com/v1/search/book.json" + "?query=" + text + "&displa.. 2022. 7. 20.
[Kotlin] 코루틴 디스패처 코루틴을 사용할때는 아래와 같이 CoroutineScope(디스패처).launch와 같은 형식으로 사용하는데 각 디스패처별 설명은 하단과 같다. CoroutineScope(Dispatchers.Default).launch { // TODO() } Dispatchers.Default : CPU 사용량이 많은 작업에 사용합니다. 주 스레드에서 작업하기에는 너무 긴 작업 들에게 알맞음 Dispatchers.IO : 네트워크, 디스크 사용 할때 사용합니다. 파일 읽고, 쓰고, 소켓을 읽고, 쓰고 작업을 멈추는것에 최적화 Dispatchers.Main : 안드로이드의 경우 UI 스레드를 사용 * Dispatcher.Default - launch, async와 같은 기본적인 builder들의 default disp.. 2022. 7. 5.
[Android] 버튼 클릭시 특정 링크로 이동 button_5.setOnClickListener { var intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.naver.com")) startActivity(intent) } 출처 : https://hjp845.tistory.com/37 [안드로이드 스튜디오][코틀린] 특정 사이트 링크로 이동하기 [android][kotlin] 버튼을 눌렀을 때, 어떤 사이트로 이동하게 만드는 코드이다. button_5.setOnClickListener { var intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://library.dgist.ac.kr/site/dgist_library/menu/839.do".. hjp8.. 2022. 6. 30.