라디오 버튼형 Dialog를 한 번 구현해볼려고 한다. (1) activity_main.xml 텍스트뷰와 버튼을 1개씩 만들어줘서 버튼을 클릭하면 라디오 버튼형 다이얼로그가 나오도록 구성할 것이다. (2) MainActivity.java package com.example.newdialog; import androidx.appcompat.app.AppCompatActivity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; impo..
study & bootcamp
이번에는 스레드와 비슷하게 백그라운드 프로세스를 구성할 수 있고 앱이 종료되도 죽지 않는 서비스라는 컴포넌트를 알아볼 것이다. https://www.youtube.com/watch?v=lOHku4NXpfA&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=18 (1) activity_main.xml '서비스 시작' 버튼을 누르면 음악 서비스가 시작되고, '서비스 종료' 버튼을 누르면 음악 서비스가 종료되도록 액티비티를 구성해보았다. (2) MainActivity.java package com.example.serviceexample; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent..
notification을 통해 휴대폰 알림을 만들 수 있다. (1) activity_main.xml 액티비티에 버튼을 한 개 생성하여 버튼을 클릭하면 알림이 뜨도록 만들어 볼 것이다. (2) MainActivity.java package com.example.notificationexample; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationBuilderWithBuilderAccessor; import androidx.core.app.NotificationCompat; import android.app.Notification; import android.app.NotificationManager; ..
dialog를 이용하여 특정 동작을 통해 액티비티 내부에 팝업창을 띄울 수 있다. https://www.youtube.com/watch?v=SmsshpB1O38&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=17 (1) activity_main.xml 버튼을 눌러 다이얼로그 팝업창을 띄우고 팝업창 내에서 내용을 입력하면 textview 내용이 바뀌도록 설계할 것이다. (2) MainActivity.java package com.example.dialogexample; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content..
thread는 동시작업을 하기 위해 필요한 작업단위이다. 참고로 외부스레드를 사용하지 않은 상태는 메인스레드 상태다. thread를 사용하는 이유는 여러 동작을 함께 할 때 꼭 필요하기때문이다. 대표적인 예로는 타이머가 있다. 타이머를 작동시키며 백그라운드 상태에서 다른 일을 할 수 있는건 바로 thread 덕분이다. 그러나 thread를 구현하는데 있어서 주의할 점이 있다. xml 부분에서 thread 여러개가 동시에 접근할 수 없다. 그렇기에 기본적인 메인스레드만 xml부분은 UI에 접근할 수 있고 다른 스레드들은 handler와 같은 별도의 제어롤 통해 다뤄야 한다. https://www.youtube.com/watch?v=aYjdfpit6lc&list=PLC51MBz7PMyyyR2l4gGBMFMM..
이번 강의에서는 ListView의 업그레이드 버전이자 많은 수의 데이터 집합을, 제한된 영역 내에서 유연하게(flexible) 표시할 수 있도록 만들어주는 위젯인 RecyclerView을 구현하는 법을 알아볼 것이다. https://www.youtube.com/watch?v=kNq9w1_nhL4&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=13 (1) activity_main.xml // scrollbarFadeDuration : 스크롤을 안해도 안사라짐 // scrollbarTumbVertical : 스크롤바 색상 꾸미기 // layout_weight : 이 layout에 orientation 방향에 따라 고정비율을 줌 (0에 가까울수록 높은 비율 차지) ● rec..
이번 강의에서는 메모를 남기는 주석 다는 부분과 오류 디버깅을 할 때 주로 사용하는 Log출력하는 법에 대해 알아볼 것이다. https://www.youtube.com/watch?v=gmZaayoaY3I&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=15 (1) Log 출력 Log.e(String tag, String msg), Log.v( ... ) 등으로 log 출력 가능. (2) java 주석 //로 주석 처리한다. /* */로 사이 것들을 주석처리한다.
이번 강의에서는 한 Activity에서 Fragment라는 조각의 뷰만 교체하는 방식을 구현하는 법을 알아볼 거다. 카톡같은 곳에서 친구, 채팅 등과 같은 것이 바로 Fragment를 사용한 부분이다. https://www.youtube.com/watch?v=3Th96mVEpyo&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=14 (1) activity_main.xml ● Framelayout을 통해 activity_main에서 Fragment를 띄울 수 있다. +) Framelayout 자식(Children)으로 추가된 여러 뷰(View) 위젯들 중 하나를 Layout의 전면에 표시할 때 사용하는 클래스이다. 참고 : https://recipes4dev.tistory..