본문 바로가기

반응형

분류 전체보기

(54)
[Android Kotlin] Fragment arguments 를 쾌적하게(Extension) 해보자. Fragment 사용시 데이터 전달은 arguments 를 이용합니다. arguments는 Bundle 데이터를 사용하기에 데이터를 가져오는 코드를 구현해야 합니다. 단순하고 반복적인 코드들이 파라미터 개수에 따라 코드량이 늘어나게 되어, 가독성이 조금이나마 떨어지기에 개션을 해보고자 합니다. 이전 intent 데이터를 개선한 것과 동일한 방법으로 구현하였습니다. [Android Kotlin] 화면간 intent 사용을 쾌적하게(Extension) 해보자. 안드로이드는 intent를 이용하여 화면간 데이터를 전달합니다. 이렇게 자주 사용하는 intent인데, 오랜만에 특정 화면을 호출할때면 어떤 데이터를 어떤 키로 보내면 되는지.. intent를 받는 화면은 heeeju4lov.tistory.com 일반..
[Android Kotlin] 화면간 intent 사용을 쾌적하게(Extension) 해보자. 안드로이드는 intent를 이용하여 화면간 데이터를 전달합니다. 이렇게 자주 사용하는 intent인데, 오랜만에 특정 화면을 호출할때면 어떤 데이터를 어떤 키로 보내면 되는지.. intent를 받는 화면은 데이터를 받는 유사한 코드를 계속 만들어야 합니다. 살짝(?) 지겹고 귀찮은 일이 아닐수 없습니다. 그래서, 좀더 쾌적하게 할수 있는 방법이 없을까를 조금.. 다소(?).. 고민을 해본 끝에.. (주관적으로) 기존보다는 조금더 낫다고 생각되는 방법으로 구현하여 사용중에 있습니다. 이 게시물에서는 저의 방식에 대해서 공유 드립니다.(보시고 괜찮으신 분들만 사용해주세요..) Activity에서 받아야 하는 데이터는 정해져 있기때문에 호출하는 쪽에 "요런~요런 데이터를 보내줘~" 라고 가이드를 주면 좀더 나..
[Android Kotlin] crossinline, reified 를 알아보자. 지난 inline, noinline 게시글에 이어 crossinline, reified 에 대해 알아보겠습니다. inline, noinline 에 대해서는 아래 링크를 확인해 주세요. [Android Kotlin] inline 함수 어떤 경우에 사용하나요? inline 함수는 어떨때 사용해야 할까요? 알고나면 쉽지만, 막상 사용하려면 어디에 사용해야할지 잘 모르는게 inline 함수 있것 같습니다. (사실, 저도 막~ 잘 알아서 여기저기 사용을 하지는.. 못합 heeeju4lov.tistory.com crossinline 어떤 경우에 사용이 되는지 샘플 코드를 보면서 설명 드리겠습니다. // crossinline inlineHello("김영희") { println(it) } private inline f..
[Android Kotlin] inline 함수 어떤 경우에 사용하나요? inline 함수는 어떨때 사용해야 할까요? 알고나면 쉽지만, 막상 사용하려면 어디에 사용해야할지 잘 모르는게 inline 함수 있것 같습니다. (사실, 저도 막~ 잘 알아서 여기저기 사용을 하지는.. 못합니다.....😭😭😭) 그래도, 모르시는 분들을 위해 예제코드와 함께 inline이 뭐며, 어떤 경우에 사용하는지 알아보겠습니다. "inline" 을 in + line 으로 생각해보면, 라인에 들어간다. 말 그대로, 함수이지만 컴파일시에 inline 함수로 선언된 함수를 호출하는 곳에 코드가 직접 들어간다는 의미입니다. 예를 들어 10줄짜리 inline 함수 안의 코드가, 그대로 호출한 부분에 복사되어 들어갑니다. 길게 설명할 필요없이 일단 코드 구현부터 해보겠습니다. private inline fun ..
[Flutter Dev] 로컬 / 네트워크 이미지 화면에 표시하기 앱을 개발하게되면 프로필 사진이나 로컬 / 네트워크 이미지를 표시해야 하는 경우가 필수적으로 있습니다. 이번 게시물에서는 Flutter에서 이미지를 표시하는 방법에 대해서 알아보겠습니다. Flutter 플랫폼에서 기본 제공해주는 방법을 사용해도 되겠지만, 편리한 라이브러리가 있어서 이를 활용해보도록 하겠습니다. 샘플 코드는 기존 게시물에서도 작업을 해온 FlutterSampleApp 프로젝트에 구현하겠습니다. 1. 로컬 이미지 표시를 위해서, 프로젝트에 이미지를 추가하겠습니다. Flutter 프로젝트 assets/images/ 디렉토리를 생성하고, 이미지를 추가해줍니다. 2. assets/images/ 디렉토리를 pubspec.yaml 파일에 경로를 등록합니다. assets: - assets/icons/..
[Flutter] Flutter에서 SVG 이미지 사용하기 SVG: Scalable Vector Graphics 는 앱개발에서 주로 사용되는 이미지 파일 형식입니다. 기존에 bitmap, jpg, png 파일에 비해 여러가지 장점을 가지고 있습니다. 특히나 파일 사이즈가 직고, 이미지 크기 조절시에 품질 저하가 발생하지 않는 점이 최고의 장점이라 할수 있습니다. 그럼, 이렇게나 좋은 SVG 이미지를 Flutter에서 어떻게 사용할 수 있는지 알아보겠습니다. Flutter에서는 다행스럽게도 SVG 이미지의 사용을 도와주는 패키지(라이브러리)가 제공되고 있습니다. 1. pub.dev 사이트에서 "flutter_svg"를 검색하거나, 아래 링크를 클릭해주세요. flutter_svg | Flutter Package An SVG rendering and widget l..
[Flutter Dev] 라이트 / 다크 모드 테마 변경하기 요즘 괜찮다는 앱들은 사용자 편의를 위해 다크 모드를 제공하고 있습니다. Flutter에서는 다크모드를 어떻게 사용할수 있는지 알아보도록 하겠습니다. 샘플은 Flutter 프로젝트 생성시 자동은 생성되는 기본 코드에 작업을 하였습니다. 1. MyApp 클래스(main.dart) 에 앱 전역에서 사용할수 있도록 static으로 ValueNotifier로 선언하여, light / dart 테마로 변경시에 이벤트를 받을수 있도록 해줍니다. class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); static final ValueNotifier themeNotifier = ValueNotifier(ThemeMode.light..
[Android Kotlin] <T>, <K, V> , <*> 너희 정체가 뭐니? 구글링을 하거나, 라이브러리의 소스 등을 보면 , , 이런 코드들이 보입니다. 도대체 뭘까요? 이번 게시물에서는 이 코드들에 대해서 알아보고, 예제를 통해 사용법을 익히고, 친해져보도록 하겠습니다. 개요 명칭은 제네릭이라고 합니다. 말그대로 데이터 타입을 일반화 한다라는 의미 클래스나 메소드(함수), 인터페이스 등에서 사용이 가능 데이터 타입을 컴파일시 미리 지정하는 방법으로 사용 코드 재사용성이 높아짐 잘못된 데이터가 들어오는 경우, 컴파일시에 에러가 발생하기때문에 미리 문제를 수정할 수 있음 (Object를 사용할 경우, 컴파일시엔 문제가 없고 런타임시에 에러가 발생하면 자칫 앱이 배포된 이후에 문제를 확인될 수 있음) 재네릭 타입에 대해서 실제 예제 코드를 보면서 설명 드리겠습니다. 왜 사용해야 하..

반응형