본문 바로가기

분류 전체보기

(100)
[Java] 객체 지향 프로그래밍에 입문하는 사람 또는 Java에 입문하는 사람이라면 무조건 들어봤을 객체 지향 그럼 객체 지향은 무엇일까? 우선 객체에 대해 알아야한다. 객체 객체란 사전적인 정의로 실제 존재하는 것을 말한다. 그러나 프로그래밍에서의 객체는 필드(데이터들의 집합), 메소드(함수)들의 집합이라고 보면 된다. 필드 String name; Int grade; 메소드 void example(){...} void example2(){...} 또한 필드와 메소드들을 담고 있는 일종의 케이스가 바로 클래스이다. 클래스 public class Example { String name; int grade; void example(){...} void example2(){...} } 객체 지향의 특징 1. 추상화 추상화란 과정은..
[안드로이드] BroadCast Receiver 안드로이드 4대 컴포넌트 중 하나인 브로드캐스트 리시버는 어떠한 이벤트가 발생되었을 때 그에 관한 메시지를 받을 수 있게 한다. 예를 들면 기기 재부팅, 핸드폰 충전 등 시스템 이벤트가 발생했을 경우 브로트캐스트를 전송하며, 이를 수신하여 작업을 처리할 수 있다. 이외의 자세한 내용은 공식문서를 참고 바랍니다. https://developer.android.com/guide/components/broadcasts?hl=ko#receiving-broadcasts 브로드캐스트 개요 | Android 개발자 | Android Developers 브로드캐스트 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱은 Android 시스템 및 기타 Android 앱에서..
[안드로이드] Alarm Manager Alarm Manager란 말 그대로 설정한 시간에 설정한 작업을 수행할 수 있는 기능이다. 즉, 특정 시간에 앱을 사용하지 않아도 어떠한 작업을 할 수 있게 해주는 기능이며 특징은 다음과 같다. 지정된 시간에 또는 정해진 간격으로 인텐트를 실행 Broadcast receiver와 함께 알람을 사용하여 서비스를 시작하고 다른 작업을 실행할 수 있다. 애플리케이션 외부에서 작동하므로 알람을 사용하면 앱이 실행 중이 아니거나 기기가 대기 상태인 경우에도 이벤트나 작업을 트리거할 수 있다. 알람은 앱의 리소스 요구사항을 최소화하는 데 도움이 됩니다. 타이머 또는 계속 실행 중인 백그라운드 서비스를 사용하지 않고 작업을 예약할 수 있다. 이외의 권장사항 또는 장단점은 공식문서를 참고 바랍니다. https://d..
[프로그래머스] 모음사전 with Kotlin 문제 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한 사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 풀이 DFS로 탐색하며 answer ++ , word 단어가 나오면 break 후 answer 반환 코드 class Solution { val words = arrayOf('A', 'E'..
[프로그래머스] K진수에서 소수 개수 구하기 with Kotlin 문제 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. 예를 들어, 101은 P가 될 수 없습니다. 풀이 K 진수로 변환 후 0을 기준으로 나누면 P만 남는다. 소수인 P의 개수만 구하면 되는 문제 코드 class Solution { fun solution(n: Int, k: Int): Int { var answer: Int = 0 var _..
[안드로이드] RecyclerView Click Event RecyclerView 목록 클릭 이벤트의 방법은 두 가지가 있다. 첫 번째는 Adapter 내부에서 setOnClickEvent를 이용하는 것 두 번째는 인터페이스를 이용하는 것이다. 인터페이스를 이용하면 Adapter가 아닌 Activity 또는 Fragment에서 이벤트에 대한 작업을 실행할 수 있다. Adapter interface OnItemClickListener { fun onItemClicked(data: String?) } // OnItemClickListener 참조 변수 선언 private var itemClickListener: OnItemClickListener? = null // OnItemClickListener 전달 메소드 fun setOnItemClickListener(li..
[안드로이드] SharedPreferences 정보 또는 데이터를 앱 자체에 저장하는 인터페이스다. 이는 데이터베이스와는 다르며 Key & Value 값으로 저장된다. 주로 앱 환경설정에 사용된다. 사용 방법 MyApplication.kt SharedPreferences는 context를 필요로 한다. 따라서 어디서든 불러 사용할 수 있도록 MyApplication에서 호출한다. class MyApplication : Application() { companion object { lateinit var prefs: PreferenceUtil } override fun onCreate() { prefs = PreferenceUtil(applicationContext) super.onCreate() } } preferenceUtil.kt class Pr..
[안드로이드] Navigation Component build.gradle implementation "androidx.navigation:navigation-fragment-ktx:2.5.3" implementation "androidx.navigation:navigation-ui-ktx:2.5.3" res -> new -> resource file navigation.xml res -> new -> resource file bottom_nav.xml
[안드로이드] MyApplication Toast 메시지, dialog 등 context가 필요한 기능들이 있다. 이때 어디서든 context를 가져와 쓸 수 있고, 앱 실행 시 실행시켜줘야 되는 기능들이 있다면 MyApplication에 넣어 실행과 동시에 초기화 시켜줄 수도 있다. MyApplication Class는 Application 클래스를 상속받는다. class MyApplication : Application() { companion object { lateinit var prefs: PreferenceUtil private lateinit var myApplication: MyApplication fun getInstance() : MyApplication = myApplication } override fun onCreate..
[안드로이드] 백그라운드에서 위치 데이터 지속적으로 얻기 https://stackoverflow.com/questions/28535703/best-way-to-get-user-gps-location-in-background-in-android Best way to get user GPS location in background in Android In my android app i want to get user current location every few minute interval and update in to my center server using web service. Currently i am using Fused Location Provide for get user current stackoverflow.com 해당 코드는 위의 StackOver..