- 1. Android application을 생성할 때 중요한 폴더 및 파일을 설명하라.
- 2. 다음 AndroidManifest.xml 파일을 설명하라.
- 3. Activity에 대해 간단히 설명하라.
- 4. Android Architecture의 key component는 무엇인가?
- 5. Intent에 대해 설명하라.
- 6. Android에서 SMS를 발신하기 위해서는 어떻게 해야 하는지 설명하라.
- 7. SMSManager class에 대해 설명하라.
- 8. 당신의 application에서 어떻게 Messaging application을 사용할 수 있겠는가?
- 9. Android에서 사용할 수 있는 Data storage에는 어떤 것들이 있는가?
- 10. SharedPreference에 대해 예시와 함께 설명하라.
- 11. 출처
Android application을 생성할 때 중요한 폴더 및 파일을 설명하라.
Value | Description |
---|---|
src | .java파일을 포함한다. |
gen | Compiler가 자동으로 생성하는 Resource파일인 R.java 파일을 가지고 있다. 이 파일은 수정해서는 아니된다. |
library | android.jar 파일을 포함한다. 해당 Android application에 대한 library들이다. |
assets | HTML, text, database등의 파일을 포함한다. |
bin | 빌드 후 생성되는 .apk 파일을 포함한다. |
res | Application에서 사용하는 리소스 파일들을 포함한다. |
다음 AndroidManifest.xml 파일을 설명하라.
- Package 이름(@string/app_name)을 포함한다.
- Version code가 1이고 이는 어플리케이션의 version(몇 번째 release인지)을 나타낸다.
- Version name이 1.0임을 알 수 있다.
- android.minSdkVersion이 8이고 이는 이 어플리케이션이 실행될 수 있는 Android OS의 최소 version을 나타낸다.
- MainActivity에 대한 activity 정보를 확인할 수 있다. Intent-filter를 통해 Main임을 확인할 수 있다.
|
Activity에 대해 간단히 설명하라.
Activity는 User interface를 보여준다. Android application 생성 시 하나의 activity가 생성되며, 기본 이름은 MainActivity이며 맘대로 이름을 붙일 수 있다.
기본적으로 Activity class를 상속받는다.
Android Application은 0개 이상의 Activity를 가질 수 있으며 사용자와의 interaction을 위해 사용한다.
Activity는 onCreate()로 시작하여 onDestroy()로 끝나는 Lifecycle을 가지고 있다.
|
Android Architecture의 key component는 무엇인가?
- Linux Kernel
- Libraries
- Android Framework
- Android Applications
Intent에 대해 설명하라.
Android의 기본 구성요소(Component)에는 Acivity, Service, ContentProvider, BroadcastReceiver 네 가지가 있는데 이 중 Activity, Service, BroadcastReceiver 사이에 data를 주고 받기 위해 intent를 사용한다.
다른 activity를 호출하거나 service를 시작하거나 broadcast할 수 있다.
Intent는 명시적 intent와 암시적 intent 두 가지로 나눌 수 있다.
명시적 intent는 intent를 전달할 class 정보를 포함한다.
|
암시적 intent는 동작을 원하는 값을 action값으로 하여 URI, MIME type, category 등과 함께 던지면 Android system에서 적절한 application을 찾아서 원하는 동작을 시켜준다.
적절한 application을 찾는 과정에서 다른 application 내의 intent-filter를 검색하여 매칭되는지 확인한다.
암시적 intent를 던질 때 call, sms 등과 같은 특정한 동작을 원할 때에는 자신이 그 동작을 수행할 수 있는 permission을 가지고 있어야 한다.
|
Android에서 SMS를 발신하기 위해서는 어떻게 해야 하는지 설명하라.
- “send sms” Button을 생성한다.
- AndroidManifest.xml 에 permisson을 설정한다.
- 다음과 같은 메소드를 만들어서 SMS를 발신한다.publicvoidsendmySMS(View v){SmsManager sms = SmsManager.getDefault();sms.sendTextMessage("5556", null, "Hello from careerRide", null, null);}
SMSManager class에 대해 설명하라.
SMS를 발신할 때 사용하는 class이며, 직접적으로 초기화하여 사용할 수 없고 getDefault()를 사용해야 한다.
발신하는 메소드는 sendTextMessage()인데 다음과 같은 파라미터들을 갖는다.
- destinationAddress: 수신자의 전화번호
- scAddress: Service center address (null로 설정해도 된다.)
- text: 메시지 내용
- sentIntent: 메시지가 발신되었음을 알려주는 intent.
- deliveryIntent: 메시지가 상대방에게 도착하였음을 알려주는 intent. 어플리케이션에서 delivery status option을 체크해줘야 한다.
|
당신의 application에서 어떻게 Messaging application을 사용할 수 있겠는가?
SMS 발신 permission을 얻은 후, Intent를 던지면 Default SMS Application으로 설정되어 있는 Application을 통해 SMS를 발신할 수 있다.
|
Android에서 사용할 수 있는 Data storage에는 어떤 것들이 있는가?
- SharedPreferences
- SQLite
- ContentProvider
- File Storage
- Cloud Storage
SharedPreference에 대해 예시와 함께 설명하라.
SharedPreference는 Android storage 중 가장 간단한 방법을 가진다.
Data를 XML 파일에 저장하는데 Key-Value pair로 한다. Primitive data type을 사용할 수 있다. (boolean, float, int, long, string)
XML 파일은 data/data/자신의 패키지명(com.a.b)/shared-prefs/ 디렉토리에 저장된다.
A Activity에서 저장한 내용도 B Activity에서 가져다가 사용할 수 있다.
저장
|
읽어오기
getString(value, default) 형식으로 읽어오면 되며, value가 SharedPreference에 존재하지 않을 때 “default” 값을 가져온다.
그리고 아래 코드에서는 name이나 pass 중 하나라도 못 읽어오면 “No data is found” Toast를 발생시킨다.
|