오늘 기술 면접 문제
AndroidManifest란? (https://developer.android.com/guide/topics/manifest/manifest-intro.html?hl=ko)
모든 애플리케이션에는 루트 디렉토리에 AndroidManifest.xml 파일(정확히 이 이름이어야 함)이 있어야 한다. 매니페스트 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공한다. 이외에도 매니페스트 파일은 다음 작업을 수행한다.
애플리케이션에 대한 Java 패키지의 이름을 지정한다. 이 패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 한다.
액티비티, 서비스, 브로드캐스트 수신기 및 콘텐츠 제공자 등 애플리케잉션을 이루는 구성 요소를 설명한다. 또한, 각 구성 요소를 구현하는 클래스의 이름을 지정하고 클래스가 처리할 수 있는 해당 기능을 게시한다. (예: Intent 메시지)
애플리케이션 구성 요소를 호스팅하는 프로세스를 결정한다.
애플리케이션 API의 보호된 부분에 액세스하여 다른 애플리케이션과 상호 작용하는 데 보유해야 하는 권한을 선언한다. 또한, 다른 애플리케이션이 이 애플리케이션의 구성 요소와 상호작용하기 위해 보유해야 하는 권한도 선언한다.
애플리케이션이 실행 중일 때 프로파일링과 기타 정보를 제공하는 Instrumentation 클래스를 나열한다. 이러한 선언은 애플리케이션이 개발 중인 동안에만 매니페스트에 존재하고, 애플리케이션이 게시되기 전에 삭제된다.
애플리케이션이 필요로 하는 Android API의 최소 레벨을 선언한다.
애플리케이션이 연결되어야 하는 라이브러리를 나열한다.
AndroidManifest.xml 은 앱의 필수 구성 요소이며 정의되지 않은 권한이나 구성요소를 앱 구동 시 사용할 수는 없습니다. 쉽게 말해 안드로이드 프로젝트에서는 반드시 필요한 파일들이 있습니다. AndroidManifest.xml이란 파일이며 Manifest 파일은 앱에 대한 필수 적인 정보를 안드로이드 툴과, OS, Google Play 스토어에 제공됩니다.
해당 파일에는 여러 정보들을 담을 수 있지만 그중 꼭 필요한 정보가 있습니다. 패키지 이름, 앱에서 사용되는 컴포넌트, 권한, 요구되는 하드웨어와 소프트웨어입니다.
Retrofit 이란?
retrofit 은 안드로이드 애플리케이션에서 통신(networking) 기능에 사용하는 코드를 사용하기 쉽게 만들어놓은 라이브러리이다. REST 기반의 웹 서비스를 통해 JSON 구조의 데이터를 쉽게 가져오고 업로드할 수 있다. 즉, 개발자가 서버와 통신하기 위한 코드를 작성하기 쉽게 라이브러리로 만들어 놓았기 때문에 사용한다.
오늘은 검색 관련한 내용을 공부했는데 쉽지 않다...
내가 원하는 것을 똑같은 게 아니라서... 조금 답답하다....