36. 모바일 서비스의 속성으로 현재보다는 미래에 가능할 것으로 예상되는 서비스의 속성은 무엇인가? (3점)
① 접근성(reachability)
② 개인화(personalization)
③ 유비쿼티(ubiquity)
④ 보안(security)
정답: 2
해설: 개인화(personalization)는 사용자의 취향과 행동 패턴에 맞춘 맞춤형 서비스를 제공하는 것을 의미한다. 현재보다 더 발전된 인공지능과 빅데이터 분석 기술의 도입으로, 미래에는 모바일 서비스가 사용자 개개인의 필요와 선호에 더욱 맞춘 개인화된 경험을 제공할 것으로 예상된다. 접근성, 유비쿼터, 보안도 중요하지만, 개인화가 특히 미래 기술 발전과 밀접한 관련이 있다.
37. 기존의 휴대폰과 비교되는 스마트폰의 특징으로 틀린 것은 무엇인가? (3점)
① 운영체제의 기능이 강화되었으며 다양한 개발 환경이 제공된다.
② 통화기능보다는 정보 서비스 위주의 기능이 풍부해졌다.
③ 공간적 제약을 극복할 수 있는 실재감(presence)을 제공한다.
④ 3rd-party 애플리케이션 설치는 제한적이다.
정답: 4
해설: 스마트폰은 3rd-party 애플리케이션 설치가 자유롭고 이를 통해 다양한 기능을 확장할 수 있다. 운영체제 기능 강화와 다양한 개발 환경 제공(1번), 정보 서비스 위주의 기능 강화(2번), 공간적 제약 극복(3번)은 모두 스마트폰의 특징이다. 반면 4번 문항은 틀린 정보로, 스마트폰의 개방적 특성을 잘못 설명하고 있다.
38. 스마트폰 시장의 활성화 요인으로 보기 어려운 것은 무엇인가? (3점)
① 세계 통신 시장의 단일화 움직임
② 통신망과 요금제 등의 기반조건의 구축
③ 아이콘을 시각으로 하는 사용자 위주의 기능
④ 응용프로그램 개발자와 소비자간의 직접적인 응용프로그램 마켓을 통한 시장 활성화
정답: 1
해설: 세계 통신 시장의 단일화 움직임은 스마트폰 시장의 활성화와 직접적인 관련이 적다. 통신망과 요금제 구축(2번), 사용자 친화적인 아이콘 기능(3번), 응용프로그램 마켓 활성화(4번)는 스마트폰 시장의 활성화 요인이다. 통신 시장의 단일화는 장기적 관점에서 영향을 미칠 수 있지만, 스마트폰 보급 초기 활성화 요인으로는 보기 어렵다.
39. 기계와 인간이 센서 등을 통해 감각을 공유함으로써 감성을 서로 교감하는 현상을 의미하는 신조어는 무엇인가? (3점)
① 디지타이징 ② 자이로스코프 ③ 디지센스 ④ 컨버전스
정답: 3
해설: 디지센스는 디지털 기술과 센서를 통해 기계와 인간이 감각 정보를 공유하고 감성을 교감하는 것을 의미한다. 디지타이징은 아날로그 정보를 디지털로 변환하는 과정이고, 자이로스코프는 기계의 회전 운동을 측정하는 장치, 컨버전스는 기술 융합을 뜻한다. 디지센스는 감각 공유와 감성 교감을 표현하는 신조어로 적합하다.
40. CPU에 의존하지 않는 바이트코드를 실행하는 환경을 제공해 주는 안드로이드 플랫폼의 가상머신을 무엇이라 하는가? (3점)
① Dalvik
② JVM
③ Linux
④ Webkit
정답: 1
해설: Dalvik은 안드로이드 운영체제에서 사용되는 가상 머신으로, CPU에 의존하지 않고 바이트코드를 실행할 수 있는 환경을 제공한다. JVM은 Java Virtual Machine으로 Java 프로그램을 실행하기 위한 가상 머신이고, Linux는 운영체제, Webkit은 웹 브라우저 엔진이다. Dalvik은 안드로이드의 독특한 가상 머신으로 최적화를 위해 설계되었다.
41. 안드로이드폰 없에도 안드로이드용 응용프로그램을 실행할 수 있는 도구는 무엇인가? (3점)
① JDK
② 안드로이드 SDK
③ Eclipse
④ DVD
정답: 2
해설: 안드로이드 SDK는 안드로이드 응용프로그램을 개발하고 실행하기 위한 도구 모음이다. JDK는 자바 개발 키트로 자바 애플리케이션 개발에 사용되고, Eclipse는 통합 개발 환경(IDE)으로 여러 언어의 개발을 지원한다. DVD는 저장 매체일 뿐 응용프로그램 실행 도구가 아니다. 안드로이드 SDK는 안드로이드 에뮬레이터를 포함하고 있어 실제 기기 없이도 앱을 실행하고 테스트할 수 있다.
42. 액티비티의 생명 주기 중 하나로 다른 액티비티에 의해 완전히 가려진 상태이며 사용자의 눈에 보이지는 않지만 모든 정보를 다 유지하고 있는 상태는 무엇인가? (3점)
① 실행 상태
② 일시 정지 상태
③ 종료 상태
④ 정지 상태
정답: 4
해설: 정지 상태는 액티비티가 완전히 다른 액티비티에 의해 가려진 상태로, 사용자에게 보이지 않지만 모든 정보를 유지하고 있다. 실행 상태는 액티비티가 사용자와 상호작용하는 상태이며, 일시 정지 상태는 일부 보이지 않거나 반응하지 않는 상태이다. 종료 상태는 액티비티가 더 이상 사용되지 않고 소멸된 상태이다. 따라서 정지 상태가 맞다.
43. 객체들의 레이아웃을 정의한 XML화일이 저장되는 폴더는 무엇인가? (3점)
① gen\
② res\layout\
③ res\values\
④ res\drawable\
정답: 2
해설: 안드로이드 프로젝트 구조에서 레이아웃을 정의하는 XML 파일은 res\layout\ 폴더에 저장된다. gen\ 폴더는 자동으로 생성된 파일을 포함하고, res\values\ 폴더는 문자열, 색상 등의 리소스를 정의하며, res\drawable\ 폴더는 이미지 파일을 포함한다. 따라서 레이아웃을 정의한 XML 파일은 res\layout\에 위치한다.
44. 사용자가 선택하여 명령을 내릴 수 있는 위젯이며 사각 모양을 하고 있으며 표면에 명령의 의미를 설명하는 문자열을 표시할 수 있는 것은 무엇인가? (3점)
① LinearLayout ② ImageView
③ EditText ④ Button
정답: 4
해설: Button은 사용자가 선택하여 명령을 실행할 수 있는 위젯으로, 사각형 모양이며 텍스트를 통해 명령의 의미를 설명할 수 있다. LinearLayout은 레이아웃 관리 위젯이고, ImageView는 이미지를 표시하는 위젯, EditText는 사용자가 텍스트를 입력할 수 있는 위젯이다. 따라서 사용자가 선택하여 명령을 실행할 수 있는 것은 Button이다.
45. ImageView의 여러 속성 중에서 이미지의 원래 크기와 다르게 출력할 때 적용될 이미지의 확대, 축소 알고리즘을 지정하는 것은 무엇인가? (2점)
① scaleType ② cropToPadding
③ maxHeight ④ adjustViewBounds
정답: 1
해설: scaleType 속성은 ImageView에서 이미지를 원래 크기와 다르게 출력할 때 이미지의 확대, 축소 알고리즘을 지정하는 데 사용된다. cropToPadding은 이미지를 패딩에 맞춰 자르는 옵션이고, maxHeight는 최대 높이를 지정하며, adjustViewBounds는 이미지의 비율을 유지하며 뷰의 크기에 맞추는 옵션이다. 따라서 이미지의 크기 변환 알고리즘을 지정하는 속성은 scaleType이다.
46. gravity 속성에 대한 설명으로 틀린 것은? (2점)
① View의 안쪽에 배치되는 내용물에 대한 View에서의 정렬 방식을 지정한다.
② 수평/수직 방향에 대해 각각 정렬 방식을 지정할 수 있으며, ‘|’ 연산자를 이용해 두 개의 속성을 묶어서 지정할 수 있다.
③ 차일드 뷰를 일렬로 배치하는 방법을 지정하며 수평/수직의 두 가지가 있다.
④ gravity 속성의 디폴트는 좌상단으로 정의되어 있다.
정답: 3
해설: gravity 속성은 View 내부의 내용물이나 자식 뷰의 정렬 방식을 지정하는 데 사용되며, 수평 및 수직 방향을 각각 설정할 수 있다. 이는 ‘|’ 연산자를 사용하여 두 개의 속성을 함께 지정할 수 있다. 1번과 2번 설명은 맞다. 그러나 3번은 잘못된 설명이다. gravity 속성은 자식 뷰를 일렬로 배치하는 것이 아니라, 내용물이나 자식 뷰의 정렬 위치를 지정하는 것이다.
47. 부모 레이아웃의 남은 영역을 얼마나 차지할 것인가를 결정하는 비율값으로 중요도가 0이면 자신의 고유한 크기만큼만 차지하고, 중요도가 1 이상이면 형제 뷰와의 비율에 따라 부모의 영역을 균등하게 배분하기 위해 사용되는 것은? (2점)
① layout_weight ② baselineAligned
③ layout_gravity ④ RelativeLayout
정답: 1
해설: layout_weight 속성은 부모 레이아웃의 남은 공간을 차지할 비율을 결정하는 데 사용된다. 중요도가 0이면 뷰는 고유한 크기만큼만 차지하고, 중요도가 1 이상이면 형제 뷰 간의 비율에 따라 남은 공간을 균등하게 나눈다. baselineAligned는 자식 뷰의 베이스라인을 맞추는 속성이고, layout_gravity는 뷰의 정렬을 지정하며, RelativeLayout은 상대적인 위치 관계를 정의하는 레이아웃이다. 따라서 정답은 layout_weight이다.
48. TableLayout에 대한 설명으로 틀린 것은? (2점)
① 폭의 조정을 위해 shrinkColumns/stretchColumns 속성을 이용하며, 두 속성을 동시에 모두 지정할 수는 없다.
② 테이블은 임의 개수의 TableRow 객체로 구성되며 TableRow 객체 하나가 곧 행이 된다.
③ 여러 개의 행의 한 테이블에 공존해야 하므로 TableRow 객체의 높이는 항상 wrap_content로 해야 한다.
④ 차일드 뷰의 높이는 넓이는 디폴트로 wrap_content로 되어 있지만 원한다면 셀만을 가득 채울 수 있다.
정답: 1
해설: TableLayout에서 shrinkColumns와 stretchColumns 속성은 열의 폭을 조정하는 데 사용되며, 두 속성을 동시에 지정할 수 있다. 이는 각각 특정 열을 줄이거나 늘리는 기능을 제공한다. 반면, TableRow 객체는 테이블의 행을 구성하며, 여러 행이 하나의 TableLayout에 존재할 수 있다. 각 TableRow의 높이는 기본적으로 wrap_content로 설정되지만 필요에 따라 변경할 수 있으며, 차일드 뷰의 크기도 기본적으로 wrap_content로 설정되어 있다. 따라서 1번 문항의 설명이 틀리다.
49. 그리기에 대한 속성정보를 가지는 객체이며 모든 그리기 함수에게 인수로 전달되는 것은? (2점)
① Paint ② Circle 객체
③ AntiAlias ④ Brush 객체
정답: 1
해설: Paint 객체는 그리기 속성을 정의하고 모든 그리기 함수에 인수로 전달되어 색상, 스타일, 폰트 등을 설정하는 데 사용된다. Circle 객체와 Brush 객체는 그리기 속성 객체가 아니며, AntiAlias는 페인트 객체의 속성 중 하나이다. 따라서 그리기 함수에 사용되는 객체는 Paint이다.
50. 안드로이드 운영체제가 시스템 차원에서 제공하는 작은 팝업 대화상자로서 알림 사항을 전달하기만 할 뿐 포커스를 받을 수 없기 때문에 사용자의 작업을 방해하지 않는 것은? (2점)
① Canvas ② DrawText
③ Output ④ Toast
정답: 4
해설: Toast는 짧은 시간 동안 화면에 나타나 사용자에게 메시지를 전달하고 자동으로 사라지는 작은 팝업 대화상자이다. 포커스를 받지 않으므로 사용자 작업을 방해하지 않는다. Canvas는 그리기 용도의 객체이고, DrawText는 텍스트를 그리기 위한 메소드, Output은 일반적인 출력 개념이다. 따라서 Toast가 맞다.
51. 안드로이드 플랫폼에서 이벤트를 처리하는 다양한 방법 중에 속하지 않는 것은? (2점)
① 콜백 메소드의 재정의 ② 함수를 이용한 사건 처리
③ 리스너 인터페이스의 구현 ④ 뷰를 통한 리스너의 구현
정답: 2
해설: 안드로이드에서는 이벤트 처리를 위해 콜백 메소드 재정의(1번), 리스너 인터페이스 구현(3번), 뷰를 통한 리스너 구현(4번) 등의 방법을 사용한다. 함수를 이용한 사건 처리(2번)는 일반적인 이벤트 처리 방법에 속하지 않는다. 따라서 2번 문항이 맞지 않다.
52. 액티비티가 생성될 때마다 호출되며 액티비티안에 뷰를 배치하는 JAVA 명령은 무엇인가? (2점)
① setContentView ② LayoutView
③ main.xml ④ mHandler
정답: 1
해설: setContentView는 액티비티가 생성될 때 호출되며, XML 레이아웃 파일을 액티비티에 배치하는 역할을 한다. LayoutView는 존재하지 않는 클래스이고, main.xml은 레이아웃 파일 이름일 수 있으며, mHandler는 메시지 처리기이다. 따라서 정답은 setContentView이다.
53. 다음 중 대화상자에 대한 설명으로 틀린 것은 무엇인가? (2점)
① 잠시 나타났다가 사라지는 Toast와 달리 사용자의 반응을 받아들일 수 있다.
② 문자열 메시지만뿐만 아니라 타이틀 바나 아이콘도 출력할 수 있다.
③ AlertDialog create()에 의해 생성되며 생성과 동시에 화면에 나타난다.
④ 직접적으로 생성할 수 없으며 내부 클래스인 Builder를 통해 생성해야 한다.
정답: 3
해설: AlertDialog는 Builder 패턴을 통해 생성되며, create() 메소드는 AlertDialog 객체를 생성할 뿐 자동으로 화면에 나타나지 않는다. 사용자의 반응을 받아들일 수 있고, 타이틀 바나 아이콘도 출력할 수 있으며, 직접적으로 생성할 수 없고 Builder를 통해 생성해야 한다. 따라서 3번 문항이 틀린 설명이다.
54. 다음 중 대화상자에 버튼을 배치할 경우, 버튼에 대한 속성이 아닌 것은 무엇인가? (2점)
① 확인(Confirm) ② 긍정(Positive)
③ 중립(Neutral) ④ 부정(Negative)
정답: 1
해설: 대화상자(Dialog)에서 버튼의 속성으로는 긍정(Positive), 중립(Neutral), 부정(Negative)이 있다. 확인(Confirm)은 일반적인 버튼의 이름이나 속성이 아니다. 따라서 1번 문항이 버튼 속성이 아닌 것으로 맞다.
55. 프로젝트를 다음과 같이 처음으로 생성하여 자동으로 만들어진 파일들을 실행시켰을 경우 출력 결과로 옳은 것은? (4점)
Application name : 'Helloworld'
package name : 'kr.Helloworld'
Create Activity : 'HelloWorldActivity'
① Helloworld
② HelloWorldActivity
③ Hello World, HelloWorldActivity!
④ kr.Helloworld, HelloWorldActivity!
정답:
해설: 안드로이드 프로젝트를 생성할 때, 애플리케이션 이름과 메인 액티비티의 이름을 기반으로 기본적인 출력 결과가 결정된다. 'Application name'은 애플리케이션의 이름을 의미하며, 'Create Activity'는 생성된 메인 액티비티의 이름을 의미한다. 기본적으로 안드로이드 스튜디오에서 새로운 프로젝트를 생성하면, 메인 액티비티의 onCreate 메소드에서 setContentView를 통해 기본 레이아웃이 설정되고, 이 레이아웃은 일반적으로 애플리케이션 이름과 액티비티 이름을 화면에 표시한다. 따라서 'Hello World, HelloWorldActivity!'가 출력된다. 나머지 옵션은 애플리케이션 이름이나 액티비티 이름만을 단독으로 출력하거나, 패키지 이름을 포함하여 잘못된 출력 결과를 제시하고 있다.
56. orientation의 속성을 "vertical"에서 "horizontal"로 변경하였을 경우의 결과 화면으로 옳은 것은? (4점)
정답: 1
해설: LinearLayout의 orientation 속성을 "vertical"에서 "horizontal"로 변경하면, 내부에 배치된 뷰들이 수직에서 수평으로 정렬된다. 기존의 vertical 설정에서는 각 뷰가 위에서 아래로 배치되지만, horizontal 설정으로 변경하면 왼쪽에서 오른쪽으로 배치된다. 따라서 1번이 옳은 결과 화면이다. 2번과 3번은 잘못된 배치 순서를 나타내고 있으며, 4번은 의도와 다르게 텍스트가 변형되어 표시된 경우로 부적절하다.
57. 다음과 같이 gravity의 속성을 지정하였을 경우 출력 결과로 옳은 것은? (4점)
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="정렬 테스트"
android:textSize="30px"
android:gravity="center"
/>
정답: 4
해설: gravity 속성의 center는 center_horizontal | center_vertical과 같다. 실제로 그렇게 정의되어 있음을 알 수 있다.
58. 다음 코드의 실행 결과로 옳은 것은? (4점)
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<TextView android:text="한국"
android:textSize="15pt"
android:padding="10px" />
<TextView android:text="미국"
android:textSize="15pt"
android:padding="10px" />
<TextView android:text="일본"
android:textSize="15pt"
android:padding="10px" />
</TableRow>
<TableRow>
<TextView android:text="99"
android:textSize="15pt"
android:padding="10px" />
<TextView android:text="55"
android:textSize="15pt"
android:padding="10px" />
<TextView android:text="11"
android:textSize="15pt"
android:padding="10px" />
</TableRow>
</TableLayout>
정답: 3
해설: TableLayout은 표 형식으로 뷰를 배치하는 레이아웃이다. 각 TableRow는 행을 나타내며, 그 안의 TextView는 열을 나타낸다. 첫 번째 TableRow에는 "한국", "미국", "일본"이 순서대로 배치되고, 두 번째 TableRow에는 "99", "55", "11"이 순서대로 배치된다. 따라서 전체적으로 보면 3번 그림처럼 "한국 미국 일본"과 "99 55 11"이 각각의 행에 맞춰 배치된다.
59. 다음 코드의 실행 결과로 옳은 것은? (단, 보기의 점선은 하얀 색을 표현하기 위해 나타난 것임) (4점)
public class CustomView extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView vw = new MyView(this);
setContentView(vw);
}
protected class MyView extends View {
public MyView(Context context) {
super(context);
}
public void onDraw(Canvas canvas) {
Paint Pnt = new Paint();
Pnt.setColor(Color.BLACK);
canvas.drawColor(Color.WHITE);
canvas.drawCircle(100, 100, 80, Pnt);
}
}
}
정답:
해설: 코드에서 CustomView 클래스는 Activity를 상속하며, onCreate 메소드에서 MyView라는 커스텀 뷰를 생성하여 setContentView로 설정한다. MyView 클래스는 View를 상속하며, onDraw 메소드에서 캔버스에 그리기 작업을 수행한다. onDraw 메소드에서 Paint 객체를 생성하고 색상을 검정(Black)으로 설정한 후, 캔버스의 배경을 흰색(White)으로 설정하고, 좌표 (100, 100)를 중심으로 반지름 80인 원을 그린다. 따라서 정답은 검정 원이 흰색 배경에 그려진 2번이 된다.
60. 통지(Notification)에 대한 설명으로 틀린 것은 무엇인가? (3점)
① 사용자가 확인하기 전에는 아이콘이 계속 표시된다.
② 소리나 진동, 불빛 같은 좀 더 적극적인 방법으로 사용자에게 신호를 보낼 수 있다.
③ 사용자의 선택을 통해 통지에 대한 상세한 정보를 출력되게 할 수 있다.
④ 일정 시간이 지나면 자동으로 사라진다.
정답: 4
해설: 안드로이드의 통지(Notification)는 사용자가 확인하거나 수동으로 지우기 전까지는 사라지지 않는 것이 기본 동작이다. 통지는 알림 바에 아이콘으로 표시되고, 소리나 진동, 불빛 등을 통해 사용자에게 신호를 보낼 수 있다. 또한, 사용자가 통지를 선택하면 상세한 정보를 출력할 수 있다. 일정 시간이 지나면 자동으로 사라지는 것은 토스트(Toast) 메시지의 특성이다. 따라서 4번이 틀린 설명이다.
'방통대' 카테고리의 다른 글
방통대 모바일 앱 프로그래밍 기말시험 2013년도 1학기 문제 및 풀이 다운로드 (0) | 2024.06.01 |
---|---|
방송대 모바일프로그래밍 2012학년도 2학기 기말시험 기출문제 풀이 및 다운로드 (0) | 2024.06.01 |
방통대 기말고사 대비 이산수학 연습문제 빠짐없이 모음 및 완벽 해설 (돌발퀴즈) (0) | 2024.05.29 |
방통대 인공지능 2017-2 기출문제 및 풀이 다운로드 (0) | 2024.05.21 |
방통대 인공지능 2016-2 기말시험 기출문제 문제 풀이 및 다운로드 (1) | 2024.05.20 |