ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [android studio를 활용한 안드로이드 프로그래밍] 연습문제
    TIL-CS 2022. 10. 27. 13:00
    728x90

    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

    댓글

안녕하세요? 반가워요. 광고 눌러주세요?