Notice
Recent Posts
Recent Comments
Link
관리 메뉴

브래의 슬기로운 코딩 생활

안드로이드 프로그래밍 중간고사 예상 문제 본문

3-1/안드로이드 프로그래밍

안드로이드 프로그래밍 중간고사 예상 문제

김브래 2024. 4. 17. 00:06

1. 안드로이드 앱 기초 질문

 


1.1 Android Studio에서 인텔 CPU용 에뮬레이터(AVD) 가속기의 이름은 무엇인가

- HAXM

1.2 수업 때 사용하는 AVD의 Phone 이름과 API Level, Target Version을 쓰시오.

- Pixel 2, Level 34, ver 14.0


1.3 앱의 전체적인 layout을 디자인 하기 위한 부분으로 XML 스타일로 코딩하는 파일의 이름은 무엇인가?

- activity_main.xml


1.4 1.3에서 만든 디자인에 기능을 넣기 위하여 코딩하는 java파일의 파일 이름은 무엇인가?

- MainActivity.java


1.5 기본적인 layout 파일의 레이아웃의 종류는 무엇이고 특징은 무엇인가?

리니어 레이아웃 - 왼쪽 위부터 아래쪽 또는 오른쪽으로 차례로 배치

렐러티브 레이아웃 - 위젯 자신이 속한 레이아웃의 상하좌우 위치를 지정하여 배치

테이블 레이아웃 - 위젯을 행과 열의 개수를 지정한 테이블 형태로 배열

그리드 레이아웃 - 테이블 레이아웃과 비슷하지만, 행 또는 열을 확장하여 다양하게 배치

프레임 레이아웃 - 위젯들을 왼쪽 위에 겹쳐서 배치하여 중복해서 보이는 효과를 냄


1.6 layout_width와 layout_height 속성의 값에서 match_parent, wrap_content의 차이를 쓰시오.

match_parent: 위젯 자신이 속한 부모 뷰에 맞춤

wrap_content: 위젯 자신의 크기에 맞춤


1.7 gravity와 layout_gravity의 차이에 대해서 간략히 설명하시오.

gravity - 레이아웃 안에 위젯을 어디에 배치할 것인지를 결정

layout_gravity - 자신의 위치를 부모의 어디쯤 위치시킬지를 결정


1.8 버튼 위젯을 xml에서 만든 후 id를 btn으로 하였다. java에서 기능을 연결시켜 주기 위한 코딩을 작성하시오. (변수이름 button1)

- button1 = (Button) findViewById(R.id.btn);


1.9 시간 및 날짜와 관련된 위젯을 모두 열거하라.

- 크로노미터(Chronometer)

- 타임피커

- 데이트피커

- 캘린더뷰


1.10 메뉴 중 ( 1 )메뉴는 키패드의 MENU 버튼을 누르며 화면 하단에 나오고, ( 2 ) 메뉴는 위젯을 롱클릭하면 나온다.

1: 옵션

2: 컨텍스트

 

1.11 내장 메모리에 파일을 처리하는 Context 클래스의 메소드 2개는? 또, 내장 메모리에 저장 위치는?

FileOutputStream(), FileInputStream()

내장 메모리의 저장 위치 : /data/data/패키지명/files


1.12 SD 카드에 파일을 읽거나 쓰기 위해서 AndroidManifest.xml에 추가할 내용을 작성하시오.

- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


1.13 앱을 실행하였더니 메뉴가 보이지 않았다. 메뉴를 보이게 하기 위해서 Manifest에서 어디를 수정해야 하는지 쓰시오

- android:theme를 수정한다.

 

2. 다음 버튼 앱을 만들 때 xml 속성을 작성하시오.

<Button android:layout_marginleft="60dp" />

<Button android:layout_marginTop="40dp" />

 

3. 다음 앱에서 사용한 위젯을 나열하시오.

 

EditText, Button, Button, RadioButton, RadioButton, ImageView, Toast, Menu

 

4. 다음은 테이블 레이아웃을 이용한 계산기 앱이다.

(1) 다음 그림 처럼 숫자 버튼을 5개씩 배치하고자고 아래에 더하기, 빼기 등의 버튼을 배치하고자 할 때 TableRow를 이용한 코드를 간략하게 쓰시오.

 

<TableRow>

<EditText .../> 

</TableRow>

 

<TableRow>

<EditText .../> 

</TableRow>

 

<TableRow>

<Button .../> 

<Button .../>

<Button .../>

<Button .../>

<Button .../>

</TableRow>

 

<TableRow>

<Button .../> 

<Button .../>

<Button .../>

<Button .../>

<Button .../>

</TableRow>

 

<TableRow>

<Button .../> 

</TableRow>

 

<TableRow>

<Button .../> 

</TableRow>

 

<TableRow>

<Button .../> 

</TableRow>

 

<TableRow>

<Button .../> 

</TableRow>

 

(2) 더하기를 터치했을 때 수행하는 과정을 코딩하는 중이다. 아래 부분을 작성하시오

edit1.getText().toString();

edit2.getText().toString();

Integer.parseInt(num1) + Integer.parseInt(num2)

 

5. 웹 브라우저 만드는 과정 중 웹 페이지가 열리지 않았다. 이 이유와 해결하기 위한 코드를 작성하시오.

이유 : 프로젝트에 인터넷을 사용할 수 있는 퍼미션을 주지 않아서

AndroidManifest.xml을 열고 <application 행 위에

<uses-permission android:name="android.permission.INTERNET" /> 추가

 

6. 다음은 옵션 메뉴를 만들기 위한 앱니다. onCreateOptionsMenu안에 메뉴만을 위한 xml(menu1.xml)을 연결하기 위한 코딩을 작성하시오.

MenuInflater mInflater = getMenuInflater();

mInflater.inflate(R.menu.menu1, menu);

return true;