-
[android studio를 활용한 안드로이드 프로그래밍] 연습문제TIL-CS 2022. 10. 27. 13:00728x90
4장
1. 레이아웃의 종류에는...
- LinearLayout
- TableLayout
- RelativeLayout
- FrameLayout
- GridLayout
2. layout_width, layout_height 속성 값으로 match_parent를 사용하려면 안드로이드 몇버전 이상?
안드로이드 2.2
FILL_PARENT (renamed MATCH_PARENT in API Level 8 and higher)
3. 텍스트뷰의 XML 속성 및 각 속성과 관련된 메소드를 표
p.171 표 4-1 참고
이하 생략
5장
1. 레이아웃의 5가지 종류에 대해 간략히 설명하시오
- 리니어 왼쪽 위부터 아래쪽 또는 오른쪽으로 차례로 배치
- 렐러티브 상하좌우 위치 상대적
- 테이블 행과 열 지정, 테이블 형태
- 그리드 행 또는 열 확장 가능
- 프레임 겹치기
2. gravity 속성과 layout_gravity 속성의 차이
- gravity 자신에게 포함된 자식의 위치
- layout_gravity 자신의 위치를 부모의 어디에 위치
3. 렐러티브레이아웃에서 이젯의 배치를 위해 설정할 수 있는 XML 속성
- layout_alignParentLeft
- layout_centerHorizontal
- layout_alignParentRight
- layout_alignParentTop
- layout_centerVertical
- layout_alignParentBottom
- layout_centerInParent
4. 오른쪽 화면을 XML 파일로... 중복 리니어레이아웃
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#FFFFFF" android:gravity="center"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#FFFFFF" android:gravity="center"> </LinearLayout> ... </LinearLayout>
- vertical: 세로
- horizontal: 가로
- 알잘딱하게 배치
- 이하 생략
6장
1. 시간 및 날짜와 관련된 위젯
- 아날로그 시계, 디지털 시계
- AnalogClock
- DigitalClock
- 크로노미터
- Chronometer
- 시간 측정, 타이머
- 타임 피커, 데이트 피커, 캘린더 뷰
- TimePicker (시간)
- DatePicker (날짜)
- CalendarView (날짜)
2. 크로노미터의 초기화, 시작, 중지
- reset()
- start()
- stop()
3. 진행 상태를 표시하는 위젯 3가지 차이점
- 프로그레스바
- ProgressBar
- 상태 바 또는 원형
- 바: 진행 정도 알 수 있음
- 원형: 진행중인지만 알 수 있음
- 시크바
- 사용자 임의 조절
- 동영상 재생 바 등
- 레이팅바
- 별 모양
4. 위젯이 많아서 화면에 넘칠 때...
- 스크롤 뷰
- ScrollView
- 세로 스크롤
- 수평 스크롤 뷰
- HorizontalScrollView
- 가로 스크롤
5. 슬라이딩 드로어 XML
<SlidingDrawer android:content="@+id/mycontet" android:handle="@+id/myhandle"> <Button android:id="@+id/handle" android:text="서랍 손잡이" /> <LinearLayout android:id="content"> <TextView android:text="서랍 안입니다." /> </LinearLayout> </SlidingDrawer>
6. 슬라이딩 드로어 안에 슬라이딩 드로어
7. 액션바
- 탭 위젯, 프레임레이아웃 활용
7장
1. 메뉴
- 옵션 메뉴
- option menu
- 버튼 클릭하면 화면에 나옴
- 컨택스트 메뉴
- context menu
- 위젯 롱클릭
2. 항목 1, 항목 2 XML
<menu> <item android:id="@+id/item1" android:title="항목 1 제목" /> <item android:id="@+id/item2" android:title="항목 2 제목" /> </menu>
3. 2번 코드에 대응하는 java 코딩
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item1: 코드; return true; case R.id.item2: 코드; ㄱ } }
4. 프로젝트 자바로만 작성
8장
1. Context 클래스의 메소드 2개와 내장메모리의 저장위치
- openFileInput()
- 파일 읽기
- /data/data/패키지명/files/에서 불러옴
- openFileOutput()
- 파일 쓰기
- /data/data/패키지명/files/에 파일 씀
2. 예제 풀기
// Calendar cal = Calendar.getInstance(); // int cYear = cal.get(Calendar.YEAR); int cYear = Calendar.getInstance().get(Calendar.YEAR); // int cMonth = cal.get(Calendar.MONTH); int cMonth = Calendar.getInstance().get(Calendar.MONTH); // int cDay = cal.get(Calendar.DAY_OF_MONTH); int cDay = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
3. 다음은 /res/raw 폴더의 mytext.txt 파일을 읽는 Java 코드이다.
InputStream inputS = getResources().openRawResource(R.raw.파일이름); byte[] txt = new byte[inputS.available()]; inputS.read(txt);
4. SD카드에 파일을 읽거나 쓰기 위해 AndroidMenifest.xml에 추가할 내용
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:requestLegacyExternalStorage="true" ... />
5. 이하 생략
9장
1. 캔버스: 도화지 패인트: 붓 또는 물감
2. 각각을 설명하는 클래스와 메소드
- 색
- Paint.setColor()
- 선 두께
- Paint.setStrokeWidth()
- 도형의 내부 채우기
- Paint.setStyle(Paint.Style.FILL)
- Paint.setStyle(Paint.Style.STROKE)
- 원
- canvas.drawCircle()
- 연속된 점
- 글자 크기
- 여러개의 점
- 글자의 정렬 방법
3, 4. 빈칸 채우기
- 리소스의 이미지
- BitmapFactory.decodeResource()
- SD카드의 이미지
- BitmapFactory.decodeFile()
- 이미지 출력
- canvas.drawBitmap()
- 비트맵 자원 해제
- picture.recycle()
- 블러링
- BlurMaskFilter()
- 엠보싱
- EmbossMaskFilter()
- 색상, 밝기
- ColorMatrix
- ColorMatrixColorFilter
- 회색조
- ColorMatrix.setSaturation()
10장
1. 안드로이드의 4대 컴포넌트
- 액티비티
- 화면 구성
- 서비스
- 백그라운드
- 브로드캐스트 리시버
- 콘텐트 프로바이더
- 프로그램 사이에 데이터 공유
2. 명시적 인텐트에서 데이터 전달
- 인텐트에 데이터 넣음
- getApplicationContext()
- 인텐트를 서브 액티비티에 넘김
- startActivity(intent)
- 서브액티비티 접근
- getStringExtra()
- getIntExtra()
- getBooleanExtra()
3. 양방행 액티비티
- 매인 액티비티 → 서브 액티비티
- startActivityForResult()
- 서브 액티비티 → 매인 액티비티
- getExtra()
728x90'TIL-CS' 카테고리의 다른 글
[리눅스민트][우분투] 루트 계정 비밀번호 초기화 - 관리자 계정 비밀번호 잃어버렸을 때 해결법 (0) 2023.03.16 마우스 우클릭 검색 확장프로그램 : Context Menu Search 옵션 추천 (0) 2022.11.06 마크다운 에디터 고르기 대작전 (Obsidian, Joplin, MartText) : 마크다운 편집기 추천 (0) 2022.10.21 영상 배속 빠르게 하는 법 : 온라인 강의, 안전 교육등에서 활용하지 말 것. (0) 2022.10.07 [VSCode][GitHub] VSCode Git Commit 무한로딩 해결법 (0) 2022.09.14 - LinearLayout