Q1. 왜 액티비티 클래스의 onCreate() 메소드 안에서 setContentView()를 사용하는가?
- 액티비티의 oncreate 메소드는 액티비티 불릴 때 한번만 호출이 되기 때문에 초기화에 자주 사용된다.
onResume, onStart 같이 여러번 호출 될 수 있는 곳에서 호출하는 것은 매우 비효율적인 코드이다.
Q2. 액티비티 클래스의 onSavedInstanceState(), onRestoreInstanceSate() 역할은?
- onSaveInstanceState() : 액티비티가 pause 되기 전에 데이터를 저장하는데 사용한다.
- onRestoreInstanceState() : 액티비티가 파괴되고, 다시 재 생성될 때 액티비티가 가지고 있는 번들로부터 데이터를 회복할 수 있다.
Q3. 화면 회전 했을 때 액티비티 동작 방법?
- 화면 회전을 했을 때 현재 만들어진 액티비티 인스턴스는 파괴되고 새로운 orientation을 가진 액티비티 인스턴트가 만들어진다. 때문에 데이터를 백업해두지 않으면 메모리에서 해제되기 때문에 이를 유의하여 개발해야합니다.
Q4. Content providers 에 대해 설명 ?
- 콘텐츠 프로바이더는 하나의 어플리케이션에서 요청시에 다른 어플리케이션으로 데이터를 제공합니다. 어플리케이션의 데이터 보안으로 인해 구조화 된 데이터 구조를 가지고 있도록 정의되어 있습니다. 콘텐츠 프로바이더는 기본적으로 다른 프로세스에서 다른 프로세스로 데이터를 제공할 수 있는 인터페이스를 가지고 있습니다.
Q5. 인텐트를 사용하여 새로운 액티비티를 실행할 때 액티비티 스택을 클리어할 수 있는 방법?
1. FLAG_ACTIVITY_CLEAR_TOP 사용
2. FLAG_ACTIVITY_CLEAR_TASK & FLAG_ACTIVITY_NEW_TASK 를 동시에 사용
Q6. Content providers 를 사용하여 데이터에 접근하는 방식?
- 먼저 access permissions를 획득 했는지 확인해야한다. 그리고 context 객체 안에 있는 contentResolver 객체를 가져온다.
ContentResolver 의 query() 함수를 통해 데이터를 끌어온다. query() 함수는 cursor를 리턴하기 때문에 cursor를 사용하여 각각의 칼럼을 가져와 데이터를 사용한다.
'OS' 카테고리의 다른 글
| [개발상식] 안드로이드 기술면접 준비 - 1 (0) | 2022.11.06 |
|---|---|
| [개발상식] IT 기술면접 준비 - 4 (데이터 베이스) (0) | 2022.10.25 |
| [개발상식] IT 기술면접 준비 - 3 (컴퓨터 구조) (0) | 2022.10.24 |
| [개발상식] IT 기술면접 준비 - 3(운영체제) (0) | 2022.10.23 |
| [개발상식] IT 기술면접 준비 - 2 (컴퓨터 네트워크) (0) | 2022.10.22 |