본문 바로가기

오블완17

[Kotlin] 제네릭 코틀린에서 제네릭(Generic)은 여러 타입에 대해 유연하게 코드를 작성할 수 있도록 도와주는 기능입니다.제네릭은 클래스, 함수, 인터페이스에서 특정 타입에 종속되지 않고 다양한 타입을 처리할 수 있게 합니다.제네릭을 사용하면 코드 중복을 줄이고 타입 안전성을 높일 수 있습니다.제네릭의 기본 개념제네릭은 타입 매개변수(type parameter)를 사용하여 클래스나 함수를 정의할 때 특정 타입에 의존하지 않게 합니다.이 타입 매개변수는 코드가 실행되기 전에 실제 타입으로 대체됩니다.제네릭 클래스class Box(val item: T)fun main() {    val intBox = Box(1)      // T는 Int로 대체    val stringBox = Box("Hello") // T는 Str.. 2024. 11. 12.
[CS] 기본 지식 정리 1. 객체 지향 프로그래밍이란 무엇인가객체 지향 프로그래밍 (OOP)이란?OOP는 프로그램을 "객체" 단위로 나누어 구성하는 방법이다. 각 객체는 데이터를 가지고 있으며, 데이터를 처리하는 동작도 함께 정의된다. 안드로이드 앱을 생각해 보면, 여러 화면(Activity)이나 UI 요소(Button, TextView 등)들이 모두 객체이다. 버튼 객체는 "누른다"와 같은 동작을 가지고, 화면 객체는 "보여준다" 같은 동작을 한다. 이렇게 객체가 서로 소통하고 협력하면서 앱이 동작하게 된다.객체 지향 프로그래밍의 주요 개념과 안드로이드 예시캡슐화 (Encapsulation)class UserViewModel : ViewModel() { private val _userName = MutableLiveDa.. 2024. 11. 10.
[Android] jcenter 빌드 오류 기존에 잘 쓰던 코드가 있는데,이 코드를 다른 분이 새로 받아서 빌드하려니까 jcenter 이슈로 안되었다는 것이다. jcenter가 섭종하는 바람에,jcenter가 가지고 있던 옛날 라이브러리들을 다운받을 수 없는 것... 기존에 쓰던 캐시들을 어떻게 불러와서 써야하는 것인가... https://medium.com/@apfhdznzl/maven-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4-61aa03bbc514 Maven 시스템에 대한 이해라이브러리를 어디에서 가져오고 어떻게 공유할까?medium.com * 다른 팀원분이 해결- 우선 급한 대로 깃헙에 있는 라이브러리 코드를 다운받아서 모듈로 넣어버려서 해결하셨다... 2024. 11. 9.
[Android] 토스트 메세지 디스플레이 설정 대응 토스트 메세지를 보여주는데, 분명 글자를 dp로 설정했음에도 불구하고글자 크기를 키우거나, 화면 크기를 키우면 너비가 고정되지 않고 화면을 벗어나면서 이상하게 나타나는 것이다!기본 글씨 크기일 때는 멀쩡하게 보였었으니 말이다.ㅎ 그래서 너비를 wrap_content하고 margin을 주는 것이 아닌토스트의 너비를 전체 디스플레이 너비의 90%로 설정해서 지정해줬더니 해결할 수 있었다. 아래는 소스 코드이다. xml코드   커스텀 ErrorDialog 클래스package com.aos.floney.view.commonimport android.app.Dialogimport android.content.Con.. 2024. 11. 8.
[Floney] Android Appsflyer 앱링크 설정 플로니 앱에서는 두 개의 앱 링크를 사용한다.가계부 초대하기 link정산 내역 공유하기 link Android 에서 Appsflyer로 앱 링크를 설정한 글이 비교적 없어 작성해본다.앱 링크 간단 정리: AppsFlyer의 원링크는 앱 설치 여부에 따라, 사용자에게 구글 플레이 스토어 또는 앱 내 특정 페이지로 안내한다. 사이드 프로젝트에서 딥링크까지 구현하는 경우는 별로 없는 건지도 궁금하긴 합니다만,구현한 당시에는 보고 참고할 수 있는 글이 오직 1개였다. https://dev-ej2.tistory.com/45 안드로이드 스튜디오 / Appsflyer onelink 적용방법앱내 게시물 링크를 공유해서 링크를 클릭하면 해당 게시물로 들어오게 하기 위해서는 deeplink를 사용해야한다. Appsflye.. 2024. 11. 7.