분류 전체보기 243

아이디어

요즘 만들고 싶은 앱이나 서비스에 대한 아이디어가 마구 샘솓는다. 당장 괜찮다고 생각되는 아이디어만 3가지가 있다. 하나하나 만들어서 공개할 수 있다면 깃헙이나 블로그에도 소개하려고 한다. 지금은 그동안 사용해보고 싶었던 기술들을 하나씩 다 접목 할 수 있는 가계부 앱을 만들고 있다. 내부 DB를 쉽게 사용하게 해주는 Room, 관심있게 공부하던 MvvM 패턴 적용, Kotiln 을 주력언어로 바꾸기위해서 코틀린 도입, 데이터의 콜백을 벗어나 자유롭게 라이프 사이클 관리까지 할 수 있게 하기위한 LiveData, Databinding RxJava 는 사용해보려고 하다가 굳이 쓸 필요가 없어서 사용하지는 않았다. 이 이외에도 브로드캐스트 관련 기능도 넣을까 생각중인데 아직은 모르겠다. 위에 처럼 만들지않고..

잡담 2021.05.29

블록체인 공부자료

1. https://seulcode.tistory.com/394 블록체인 자료 및 공부할 레퍼런스 Lectures youtube The concept of the blockchain: 블록체인 기초 영상 (한글) (https://www.youtube.com/watch?v=662wnupQ8fg) Ted 강의들 How the blockchain is changing money and business (by Don Tapscott).. seulcode.tistory.com https://brunch.co.kr/@taewookim/4 블록체인 공부하기 좋은 사이트 모음 4개월간 400여 분과 함께 온라인 블록체인 스터디를 하면서, 발견한 한글로된 좋은 자료/사이트들을 공유해드립니다. 이 글을 스크랩만 하고, 혼..

블록체인 2021.05.22

레이아웃을 이미지로 변경하고 pdf로도 저장하기

https://kwon8999.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83-PDF-%EB%B3%80%ED%99%98 안드로이드 레이아웃 PDF 변환 안드로이드 레이아웃 PDF파일로 변환 방법입니다. itextpdf 라는 라이브러리를 이용하여 간단하게 변환 시킬것입니다. 기본적으로 돌아가는 구조는 현재 레이아웃을 jpg 이미지로 변환하여 저장한 kwon8999.tistory.com 권한 필요

Android 2021.05.13

람다식에서 return 사용하기

코틀린은 함수형 프로그래밍을 지원하기 때문에 익명함수, 람다식을 사용할 경우가 흔하다. map, filter, reduce, forEach등 함수를 인자로 받는 함수들(고차함수)의 매개변수로 우리만의 로직이 담긴 함수를 넘길때 람다를 자주 사용한다. 자주 사용하는 만큼 꼭 집고 넘어가야할 사항이 있다. 일반 함수를 넘겼을 때 (return에 주목하자) 일반적으로 함수 내부의 return은 그 함수만 종료시킨다. 물론 코틀린의 label을 사용해서 종료시킬 함수를 지정할 수 있지만 그렇지 않은 경우 return문을 포함하는 가장 가까운 함수를 종료시키게 된다. 우선 람다식이 아니라 일반적인 익명 함수를 넣은 예시를 보자. fun exampleFunc() { var ints = listOf(0,1,2,3) ..

Kotlin 2021.05.02

Java Kotlin 차이점

Kotlin vs. Java 비교하기 Android 개발에 있어서 Java 언어보다 kotlin 언어를 많이 사용하는 추세입니다. 물론 아직도 Java를 많이 사용하고 있지만 구글에서도 Kotlin을 제 1언어로 채택하고 앞으로의 컴포넌트나 라이브러리들도 Kotlin으로 개발된다고 하니 안드로이드 개발자들은 Kotlin을 안 할 이유가 없어보입니다. 그래서 코드 사용에 있어서 Java와 Kotlin을 비교해보도록 하겠습니다. 비교 순서는 변수/상수, view 사용, Null 안정성, 객체 초기화, Data Class 순으로 알아보도록 하겠습니다. 1. 변수/상수 Java String strVar = ""; // 변수 final String strVal = ""; // 상수 - 변수 : final을 사용하..

Kotlin 2021.05.01

안드로이드 라이프사이클(android lifecycle)

생명주기(Lifecycle) 액티비티 생명주기란 액티비티가 생성되고, 정지되고, 재생되고, 종료되는 등의 상태 변화와 그에 따른 콜백 메서드를 총칭한다. 안드로이드 개발자라면 액티비티의 생명주기를 알아야한다. 안드로이드를 처음 공부하면, Activity를 생성하고 layout과 연결하는 작업부터 시작하기 마련이다. 화면 단위에 해당하는 Activity들은 생성되고, 파괴되고, 다른 Activity에 가려지기도 한다. 간단한 화면 하나를 구현하는 작업이라면 이러한 Activity의 생명주기에 대해서 자세히 알지 못해도 별다른 문제가 없다. 하지만 백그라운드에서 어떤 다운로드 작업이 진행되고 있다고 생각해 보자. 다운로드 도중에 Activity가 갑자기 종료된다면? 이 작업은 화면과 관련 없이 돌아가고 있기..

Android 2021.05.01

코틀린 프래그먼트 데이터 전달

출처 : magicalcode.tistory.com/40 프래그먼트(Fragment) 는 하나의 액티비티에 각 화면을 분할, 독립적인 코드로 구성하는 것을 말합니다. 그래서 액티비티와 프래그먼트, 프래그먼트와 또 다른 프래그먼트끼리 통신을 할 필요가 있습니다. 어떻게 할 수 있을까요? 바로 시작합니다! 액티비티 프래그먼트 A프래그먼트 액티비티 B프래그먼트 데이터 전달하기 1. 프래그먼트 띄우기 데이터를 전달하기 위해서 간단한 앱을 만들겠습니다. 이미 구성하신 분들은 2번부터 봐주세요~ 아래와 같이 프래그먼트 클래스 및 .xml 를 먼저 만들어주세요. 그리고 각각의 레이아웃을 만들어 주시는데요. 저는 간단히 영화 포스터를 보여주고 버튼을 누르면 상세화면으로 바뀌도록 구성했습..

Android 2021.04.25

코틀린 커스텀 다이얼로그

1. 커스텀 다이얼로그(Custom Dialog)로 사용할 코틀린 클래스 만들기 먼저 커스텀 다이얼로그(Custom Dialog)가 될 코틀린 클래스를 아래처럼 만들어 줍니다. class CustomDialog(context: Context) { private val dialog = Dialog(context) fun myDig() { dialog.show() } } ① 파라미터로 액티비티의 Context 를 전달 받습니다. 다이얼로그(Dialog)가 어떤 액티비티에서 나와야하는지 알려줘야하기 때문이죠. ②, 다이얼로그(Dialog) 에 context 를 넘겨 줍니다. 이제 액티비티에서 이 다이얼로그(Dialog) 를 호출하기 위해서는 ③ 함수를 호출 하면 됩니다. 하지만 이 상태로는 화면엔 아무것도 나..

Kotlin 2021.04.25

커스텀 객체를 sharedpreferences 에 저장하고 불러오기

1. String 형식으로 저장 할때 public void setStringArrayPref(Context context, String key, ArrayList values) { SharedPreferences prefs = context.getSharedPreferences("key", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); JSONArray a = new JSONArray(); for (int i = 0; i < values.size(); i++) { a.put(values.get(i)); } if (!values.isEmpty()) { editor.putString(key, a.toString()); } else { edit..

Android 2021.04.16