Android 84

[kotlin] 코틀린이란 무엇인가?

💡 코틀린이란? 코틀린은 intellj, pycharm 등 IDE 툴을 만든 젯 브레인(jetbrains)에서 개발한 언어이다. 2011년에 발표되었고, 코틀린섬 이름으로부터 지어졌다. Google I/O 2017에서 안드로이드의 공식 언어로 채택되었다. 코틀린으로는 다음과 같은 것을 할 수 있다. Kotlin/JVM : 자바 가상 머신 상에서 동작하는 앱 Kotlin/JS : 자바 스크립트에 의해 DB부터 서버, 클라이언트까지 다루는 풀스택 웹 Kotlin/Native : 안드로이드와 iOS뿐만 아니라 임베디드 IOT 등 개발 즉, 앱과 웹, 서버, 임베디드 등 모든 곳에서 사용할 수 있는 만능 언어이다. 💡 코틀린의 주요 특징 코틀린의 핵심 특성을 좀 더 자세히 알아보자. 정적 타입 지정 언어 코틀린..

Develop/Kotlin 2022.12.02

안드로이드 앱(훈들)

Google Play 훈들 - Google Play 앱 여섯 개의 자모로 풀어쓴 한글 단어 ''훈들''을 여섯 번의 도전 안에 맞춰봅시다. 한글 단어를 풀어쓴 후 입력을 누르면 칸 색깔이 변합니다! play.google.com github GitHub - junjange/Kordle-Android: “훈들”을 여섯 번의 도전 안에 맞춰보자!🤴 “훈들”을 여섯 번의 도전 안에 맞춰보자!🤴. Contribute to junjange/Kordle-Android development by creating an account on GitHub. github.com

안드로이드 앱(PMD Key)

💡 Topic 메카트로닉스 실습 && 경진대회 앱 개발(개인 프로젝트) 📝 Summary 최근 캠핑의 유행과 함께 자동차를 가지고 여행을 하는 차박의 수요와 급증하는 1인 가구로 인하여 혼자 여행을 하는 사람이 증가하였다. 하지만 개인이 차박을 위하여 자동차를 사용하는 것은 금전적으로 부담이 돼서 저렴하고 접근성이 뛰어난 PMD를 개발하고자 프로젝트를 구상하였다. 또한, 발전하고 있는 모빌리티 산업에 혁신이 될 수 있다고 생각한다. 위 주제에 나의 역량을 더하기 위해 안드로이드 앱 개발도 함께 진행하였다. PMD Key는 PMD를 주행할 때 필요한 것을 지원해준다. 시동을 걸고 끌 때 위치 좌표를 지도에 마커로 찍어 자신의 PMD의 위치를 한눈에 확인할 수 있다. PMD를 주행하기 전에 안전수칙 4가지를..

PolyHack 2022

PolyHack'22 Hong Kong | Remote PolyHack is an Asia-wide remote hackathon organised by the Google Developer Student Club of HK Polytechnic University www.polyhack.net ℹ️ Info PolyHack은 홍콩 폴리테크닉 대학교 의 Google 개발자 학생 클럽에서 주최 하는 글로벌 가상 해커톤입니다. 🛠️ Tech Stack Kotlin Coroutine flow debounce retrofit2 Firebase Zeplin (디자인 협업) ⚙️ Architecture MVVM 📌 Part(Android) 메인 페이지 투표 페이지 댓글 기능 전체 투표 페이지 검색 페이지 핫 투표 ..

[kotlin - Error] 코틀린 Android Error inflating class com.google.android.material.button.MaterialButton

Material Components for Android를 사용하던 도중 view 객체 생성에 문제가 발생하는 경우가 있었습니다. 출력된 에러 메시지이다. 해결 방법 이러한 문제가 발생하는 이유는 사용된 뷰에 머터리얼 테마가 있지만, 액티비티 테마의 상속된 테마는 머터리얼 테마가 아니기 때문이다. 일반적으로 styles.xml 파일에 각종 액티비티 테마가 정의되어 있다. 문제가 발생한 테마는 AppCompat 테마인 Theme.AppCompat.Light.NoActionBar 가 적용되어 있어 머터리얼 테마로의 변경이 필요하다. 안드로이드 매니페스트 파일(AndroidManifest.xml)을 열고 문제가 발생한 액티비티가 사용하는 테마를 다음과 같이 변경하자. Theme.MaterialComponent..

Develop/Kotlin 2022.05.09

[kotlin] 코틀린 Android MVVM Retrofit(BE 연결) 구현

이전까지 모두 Room을 통해 MVVM 패턴을 구현해보았는데 이번에는 외부 백엔드와 연결하여 MVVM 패턴을 구현해보도록 하자. Retrofit을 통해 BE와 연결 후 데이터를 가져오는 게시판 예제이다. 비동기 작업은 Corutine을 사용하였고 자세한 내용과 공부한 내용은 주석을 달아 놓았다. Retrofit에 대해 잘 모른다면 다음 링크를 통해 알아보고 온 후에 아래 내용을 보면 이해가 더욱 쉬울 것으로 예상한다. [kotlin] 코틀린 Android Retrofit 활용(기상청단기예보 오픈 API 사용) Retofit이란? 이번에는 Retofit 라이브러리를 이용하여 기상청 단기예보 오픈 API와 통신하는 방법에 대해서 알아보도록 하자. Retofit이란 모바일에서 HTTP API 통신을 할 때 사..

Develop/Kotlin 2022.05.01

[kotlin] 코틀린 Android RecyclerView Item 오류(Position 오류)

RecyclerView를 구현할 때 Item이 카운트 되지 않아 똑같은 데이터를 부르거나 item을 재사용 하지 않는 오류가 종종 발생한다. 예를 들어 item의 갯수는 10개지만 처음에 화면에 보이는 item이 4개라서 4개의 뷰만 계속해서 화면에 뿌리는 것이다. 이러한 현상이 발생하는 이유는 RecyclerView의 재사용이다. RecyclerView는 리소스를 아끼기 위해 뷰를 재사용한다. 그래서 재사용을 막기 방법을 쓰기도 하는데 그러면 RecyclerView의 목적이 손실되므로 권장하는 방식이 아니다. 해결 방법은 다음과 같다. RecyclerView Adapter에 다음 메소드를 오버라이드 하는 것이다. override fun getItemViewType(position: Int): Int {..

Develop/Kotlin 2022.05.01

[kotlin] 코틀린 Android Retrofit 활용(기상청단기예보 오픈 API 사용)

Retofit이란? 이번에는 Retofit 라이브러리를 이용하여 기상청 단기예보 오픈 API와 통신하는 방법에 대해서 알아보도록 하자. Retofit이란 모바일에서 HTTP API 통신을 할 때 사용하는 라이브러리이다. 안드로이드 애플리케이션에서 통신 기능에 사용하는 코드를 사용하기 쉽게 만들어놓은 라이브러리로 REST 기반의 웹서비스를 통해 JSON 구조를 쉽게 가져오고 업로드할 수 있다. 다음에 나올 코드를 보다 보면 기상청 단기예보 오픈 API Key가 숨겨진 것을 확인할 수 있는데 API Key 숨기는 법을 모른다면 다음 링크를 통해서 글을 읽어보고 오면 좋을 것 같다. [kotlin] 코틀린 Android local.properties에 API Key 숨기고 활용하는 방법 이번에는 local.p..

Develop/Kotlin 2022.04.19

[kotlin] 코틀린 Android local.properties에 API Key 숨기고 활용하는 방법

이번에는 local.properties에 API Key를 숨기고 활용하는 방법에 대해서 알아보자. 개발하다 보면 많은 API Key를 사용하게 되는데, 이런 많은 Key를 가지고 Git이나 오픈되어 있는 공간에서 작업을 하다 보면 Key가 노출되어 악용될 위험이 있다. 이럴 때를 대비해서 Key를 숨기고 활용하는 방법에 대해서 알면 참 좋을 것 같다! local.properties 우선 local.properties 자신이 숨기고픈 Key를 입력한다. # api url url.weather="xxxxxx" # api key api.key="xxxxxx" # kakao map rest api key kakao.map.rest.api.key = "xxxxxx" 입력을 했다면 build.gradle(Modul..

Develop/Kotlin 2022.04.19

[Flutter] 플러터 Hero 애니메이션 구현

이번에는 Hero 애니메이션에 대해 알아보자. Hero 애니메이션은 tag로 연결된 image를 다른 화면에 띄어주는 위젯이다. 이미지를 확대하여 보거나 특정한 위젯을 따로 보고 싶을 때 사용하면 유용할 것 같다. 코드 import 'package:flutter/material.dart'; class HeroScreen extends StatefulWidget { const HeroScreen({Key? key}) : super(key: key); @override _HeroScreenState createState() => _HeroScreenState(); } class _HeroScreenState extends State { @override Widget build(BuildContext cont..

Develop/Flutter 2022.02.20