Android

    [Android] 키보드 높이 이용해 키보드 올리기, 내리기

    ⚠️ 2021.06.09에 작성된 글입니다 ⚠️ 키보드 관련 이전 포스팅 보기 👉 [Android] 키보드 표시하기, 숨기기 구현 순서 키보드 클래스 생성 (키보드 높이 구하는 메소드, 현재 키보드 보이는지 여부 반환하는 메소드) 뷰에서 키보드 제어 (showKeyboard, hideKeyboard) 키보드 클래스 키보드 높이를 구하기 위해서는, 다음과 같은 순서로 진행된다. 원래 뷰의 높이(a)를 구한다. 키보드가 올라왔을 때의 뷰 높이(b)를 구한다. a - b를 하여 키보드 높이를 알아낸다. import android.graphics.Rect import android.view.View class Keyboard { private var isKeyboardShowing: Boolean = false..

    [Android] 키보드 표시하기, 숨기기

    ⚠️ 2021.06.06에 작성된 글입니다 ⚠️ 구현 순서 키보드(입력창) 선언 키보드(입력창) 메소드 사용 OR 커스텀 메소드 만들기 키보드 선언 // activity private val keyboard: InputMethodManager by lazy { getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager } // fragment private val keyboard: InputMethodManager by lazy { activity?.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager } 메소드 사용 키보드(입력창)를 제어하는데에 주로 3가지의 메소드를 사용한다. toggleSoft..

    [Android] Thread - 이미지 바꾸기

    [Android] Thread - 이미지 바꾸기

    ⚠️ 2021.01.22에 작성된 글입니다 ⚠️ Runnable 인터페이스로 이미지 변경하기 코드 흐름 : ImageRunnable클래스 생성 (handler를 사용해 2초마다 이미지 변경) ↓ start 버튼 클릭 ↓ ImageRunnable를 가진 thread 생성 및 실행(start()) ↓ thread 실행되며 1초마다 숫자 1씩 증가 ↓ stop 버튼 클릭 ↓ thread 중지(intterupt()) 이미지 추가하기 Resource Manager의 Vector Asset을 사용해 Drawable 추가 이미지 변경하기 이미지 아이디 배열 활용하여 Runnable 생성 class ImageRunnable implements Runnable { int[] images = {R.drawable.ic_t..

    [Android] Thread - 텍스트 변경하기

    [Android] Thread - 텍스트 변경하기

    ⚠️ 2021.01.22에 작성된 글입니다 ⚠️ Thread 클래스 및 Handler 클래스로 텍스트 변경하기 핸들러는 메시지 큐(Message Que)에 메인 스레드가 처리할 메시지를 전달한다. 이때 핸들러가 처리하는 메시지 큐는 루퍼(Looper)로 처리한다. 루퍼는 메시지 큐에 들어오는 메시지를 지속적으로 보면서 순서대로 하나씩 처리한다. 즉 메시지 전송 방식으로 스레드에 데이터를 전달 후 순차적 작업수행을 원한다면 루퍼를 만든 후 실행해야 한다. 코드 흐름 : 루퍼를 실행하는 SendThread클래스 생성 ↓ inner class로 SendHandler클래스 생성 (메시지 전송으로 받은 텍스트 세팅 작업) ↓ onCreate에 SendThread 객체 생성 ↓ submit 버튼 클릭 ↓ threa..

    [Android] Thread - 화면 변경하기(초시계)

    [Android] Thread - 화면 변경하기(초시계)

    ⚠️ 2021.01.22에 작성된 글입니다 ⚠️ Thread Thread 1. 실 2. (이야기 등의) 가닥, 맥락 -네이버 사전 프로세스 내에서 순차적으로 실행되는 실행흐름의 최소 단위 - 개발자를 위한 레시피 Runnable 인터페이스로 초시계(time watch) 구현하기 코드 흐름 : TimeWatchRunnable클래스 생성(handler를 사용해 화면에 1초마다 초가 증가) ↓ start 버튼 클릭 ↓ TimeWatchRunnable를 가진 thread 생성 및 실행(start()) ↓ thread 실행되며 1초마다 숫자 1씩 증가 ↓ stop 버튼 클릭 ↓ thread 중지(intterupt()) 비슷한 흐름으로 숫자가 아닌 이미지를 변경할 수도 있다. (이미지 변경 관련 코드는 다음 글에서..

    [Android] Firbase 사진 업로드하기

    [Android] Firbase 사진 업로드하기

    ⚠️ 2021.01.14에 작성된 글입니다 ⚠️ 코드는 [Android] 이미지 받아 다른 액티비티에 전달하기에서 이어집니다. 파이어베이스에 사진을 업로드하기 위해선 안드로이드 프로젝트와 파이어베이스가 연결되어야 합니다. 자세한 방법은 [Android] Firebase와 안드로이드 프로젝트 연결하기에서 확인할 수 있습니다. 코드 흐름 업로드 버튼 클릭 ↓ firebase에 업로드하는 메소드(uploadImg()) 실행 ↓ 업로드 성공시 업로드한 이미지 uri다운받는 메소드(downloadUri()) 실행 ↓ 다운받은 이미지 Uri로 다른 액티비티에 이미지 표시하기 uploadImg와 downloadUri메소드 실행 중 로딩메시지(prograssDialog)도 보여줌 파이어베이스 저장소 1. Firebas..