목록안드로이드 (20)
study record
액티비티 생명주기(Activity LifeCycle) 액티비티(Activity)는 메모리에 들어가서 소멸되기까지의 를 가진다. 생명주기를 잘 이해하지 않고 앱을 만들다 보면 다음과 같은 문제들이 발생할 수 있다. 사용자가 앱을 사용하는 도중 전화가 오거나 다른 앱으로 전환될 때 그에 맞는 콜백을 제대로 구현하지 않으면 앱이 비정상 종료될 수가 있다. 사용자가 앱을 비활성화했을 때 폰 시스템의 리소스, 메모리가 낭비될 수 있다. 사용자가 앱을 나갔다 들어올 때 진행중이던 상태나 작업 과정이 손실될 수 있다. 화면이 가로-세로로 전환될 때 비정상 종료나 진행 상태가 손실될 수 있다. 액티비티 생명주기 액티비티는 6가지 +1 콜백으로 이루어진다. onCreate(), onStart(), onResume(), ..
런타임 프로그램을 관리하기 위해 특정한 컴파일러나 가상 머신이 사용하는 기본 코드의 라이브러리나 프로그램을 가리키는 런타임 라이브러리 프로그램이 실행되고 있을 때 존재하는 곳 (JavaScript가 브라우저에서 작동하면 브라우저가 런타임, Node.js 환경에서 구동되면 Node.js가 런타임) 프로그램이 실행되는 동안의 시간 + 런타임 환경: 프로세스나 프로그램을 위한 소프트웨어 서비스를 제공하는 가상 머신의 상태이다. 예시) Javascript 코드를 컴퓨터가 이해할 수 있도록 자연어로 바꿔주는 것을 브라우저 내부의 interpreter와 compiler가 진행한다. 여기서 브라우저가 런타임(런타임 환경)이다. ART (Android Run Time) ART는 안드로이드에서 사용되던 기존의 달빅VM의..
스레드(Thread): 프로세스 내에서 순차적으로 실행되는 실행흐름의 최소 단위 프로세스 내에서 실행되는 각각의 독립적인 실행 흐름 멀티스레드 프로그래밍: 하나의 프로세스 내에서 두 개 이상의 스레드가 동작하도록 프로그래밍하는 것 메인 스레드: 프로세스가 시작될 때 최초의 실행 시작점이 되는 main()함수로부터 순차적으로 진행되는 하나의 스레드 안드로이드 스레드를 만드는 두 가지 방법: 1. Thread 클래스를 상속 Thread 클래스를 상속한 클래스를 만들고 run()메소드를 오버라이드하고, 클래스 객체를 만들어 start()메서드 호출 class NewThread extends Thread { NewThread() { } public void run() { // TODO : thread runni..
안드로이드에서 캘린더의 날짜를 눌렀을 때 원하는 정보가 튀어나오는 팝업기능을 구현하기 위해서는 AlertDialog를 이용하면 된다. AlertDialog.Builder builder= new AlertDialog.Builder(getContext()); CalendarView calendarView = rootView.findViewById(R.id.calendarView); calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth)..