Android & Kotlin
-
[ 코틀린 ] 코루틴1 : Coroutine 이해하기Android & Kotlin 2022. 2. 2. 15:53
1. 코루틴 이란? 코루틴이란 실행의 지연과 재개를 허용함으로서, 비 선점적 멀티태스킹을 위한 서브루틴을 일반화한 컴퓨터 프로그램 구성요소이다. (위키피디아 참고) 2. 루틴과 코루틴 루틴이란 프로그램을 이루는 일련의 정리된 일로써 프로그램은 이러한 루틴들의 조합으로 이루어진다. 프로시저 , 함수를 포함하는 상위개념이며 , 다시 루틴은 메인 루틴과 서브루틴으로 다시 나뉘게 된다. 메인루틴 프로그램 전체의 동작을 절차적으로 담고 있는 영역 서브루틴 반복되는 특정기능들을 작은 단위로 나누어 모아놓은 영역 함수 또한 일종의 서브루틴 입니다. 이때 코루틴 또한 루틴의 일종이며 3가지 차이점을 보입니다. 메인 - 서브 개념이 없고, 모든 루틴들이 서로를 호출할 수 있다. 진입점과 탈출점이 여러 개여서 꼭 retu..
-
함수형 프로그래밍 with KotlinAndroid & Kotlin 2022. 1. 20. 14:57
1. 함수형 프로그래밍이란? "순수함수" 를 조합하여 문제를 해결하고 Immutable 하게 data를 처리하는 프로그래밍 페러다임의 한 종류이다. 2. 함수형 프로그래밍을 써야하는 이유 멀티스레드 환경에서 안전하다 함수 내부에서 값을 외부에 데이터를 바꾸지 않기 때문이다. 테스트와 디버깅이 쉽다 함수 한개 한개가 독립적으로 존재하고 의존성을 갖지 않는다. 순수함수라는 가정하에 잘못된 Output에 대해 Input만을 확인하면된다. 그 외의 것들을 확인할 필요가 없다. 3. 함수형 프로그래밍의 특징 1 ] 순수함수 함수형 프로그래밍은 순수함수의 조합이라고 볼 수 있습니다. 동일한 입력에 대해 항상 같은 값을 반환해야한다. 함수의 출력은 반드시 함수가 받은 인자(Input)에만 영향을 받는다. 함수의 외부..
-
Thread 에서 UI 접근Android & Kotlin 2021. 6. 14. 13:33
안드로이드에서는 MainThread 에서 UI 를 담당하고 있고 다른 thread를 통한 UI에 직접적 접근을 금한다. 따라서 handler를 통해 mainThread를 제외한 다른 thread 의 작업 내용을 mainThread 에 전달하는 방법으로 UI를 변경할 수 있다. 방법 1 : 원리를 이해할 수 있는 정석적 방법 // 정석 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { BackgroundThread thread = new BackgroundThread(); thread.start(); } }); //쓰레드 정의 class BackgroundThread extends Thr..
-
[안드로이드] volly 로 안드로이드와 서버의 연결(get ,post)Android & Kotlin 2021. 5. 18. 15:08
1.volly를 사용하는 이유 안드로이드에서 서버로 요청을 보내고 응답을 받는 기능은 HttpURLConnection 객체를 통해 이루어 질수 있다. 그러나 해당 방법은 thread 와 핸들러의 컨트롤을 직접해야하며 특히 여러 요청을 보내게 될때는 핸들러에서 오류가 터질 가능성도 있다. 이때 다음과 같은 문제를 volly라이브러리를통해 해결할 수 있다. volly 는 요청 객채(요청 하나하나가 들어갈 상자)를 만들고 , 해당 객체에 요청 큐를 넣어주면 요청 객체가 내부적으로 스레드를 만들어 응답을 처리해준다. 2.구현 순서 0. 라이브러리 추가 / 메니패스트 추가 implementation 'com.android.volley:volley:1.1.0'