본문 바로가기

학교 수업/모바일컴퓨팅

모바일 컴퓨팅 중간고사 정리

단축키

더보기

자동완성

기본 완성 Ctrl + Space
스마트 완성 Ctrl + Shift + Space
명령문 완성 Ctrl + Shft + Enter

 

탐색

오버라이드 클래스 보기 Ctrl + O
최근 엑세스 파일 보기 Ctrl + E
현재 파일의 구조 보기 Ctrl + F12
특정 클래스 탐색 Ctrl + N
특정 파일이나 폴더 탐색 Ctrl + Shift + N
이름별로 메서드나 필드를 탐색 Ctrl + Shift + Alt + N
현재 커서 위치에서 모든 코드 조각을 찾기 Alt + F7 ( 실행 안됨..)

안드로이드 스튜디오 문제 해결

더보기

1. 파일 수정사항 등이 반영이 안되는 경우

  • 재 빌드(망치모양)
  • 파일 변경 사항 반영 후 재빌드(File메뉴 - Sync Project with Gradle Files)

2. Build 오류

  • Build메뉴 - Clean Project
  • Build 메뉴 - Rebuild Project

3. 실행 오류

  • 코드 고쳐서 다시 ㄱㄱ

4. Cannot resolve symbol R(리소스를 찾을 수 있는 주소값들을 자동생성하여 가지고 있는 파일(R)의 오류가 있을 경우)

  • Invalidate Caches.. 클릭 후 Invalidate and Restart

안드로이드 버전의 변천사

더보기

 

버전 코드명 비고
1.0 알파 최초 발표
1.1 베타 기존 문제 수정, API 변경, 통화 기능 수정
1.5 컵케이크 동영상 녹화, 소프트 키보드 지원, 블루투스 지원, 애니메이션 효과
1.6 도넛 안드로이드 마켓 개선, WVGA 해상도 지원,
갤러리 인터페이스, 다중 선택/삭제 지원
2.1 이클레어 하드웨어 최적화, 많은 해상도 지원, 구글 맵 향상,
가상키보드 개선, 블루투스 2.1 지원
2.2 프로요 전반적인 성능 개선, USB 데터링 지원, 업데이트 기능 지원, 플래시 10.1 지원
2.3 진저브레드 UI 성능 개선, 향상된 응용 프로그램 관리, 인터넷 전화, 다양한 센서 지원
3.0, 3.1, 3.2 허니콤 태블릿 PC에 최적화
4.0, 4.0.3 아이스크림 샌드위치 진저브레드와 허니콤을 통합, 스마트폰과 태블릿을 함께 지원
4.1, 4.2, 4.3 젤리빈 아이스크림 샌드위치 기반 위에서 더 빠르고 부드러워진 화면,
다양한 액세서리 지원
※ 안드로이드 스튜디오에는 젤리빈부터 지원
4.4, 4.4w 킷캣 메모리 관리 강화, GPU 가속화, UI변경,
4.4w는 웨어러블 확장 지원
5.0, 5.1 롤리팝 64bit 지원, 매터리얼 디자인, 잠금 중에 알림 영역 표시 등
6.0 마시멜로 앱 권한 설정, 지문인식 등
7.0, 7.1 누가 가상현실 지원, 3D 게임 최적화, 멀티태스킹 강화, 화면 해상도 조절 등
8.0, 8.1 오레오 PIP, 알림기능, JAVA 8 지원, 자동완성, 어댑티브 아이콘, 배터리 등
9.0 파이 실내 위치 추척, 향상된 알림, 채널 설정,
멀티카메라, 고정 모드, 인공지능 확장 등

안드로이드의 특징

더보기

핵심 커널은 리눅스로 구성

개발언어로 Java 사용

안드로이드 SDK에서 많은 라이브러리 지원

오픈소스 지향

지속적인 업그레이드 제공

응용프로그램(Application)

더보기

스마트폰에서 사용할 수 있는 일반적인 응용프로그램으로 Java로 제작

응용프로그램 프레임워크(Application Framework)

더보기

안드로이드 API가 존재하는 곳

※ 안드로이드 하드웨어에 접근할 때 API 사용

안드로이드 런타임

더보기

자바 코어와 달빅 가상머신 또는 아크 런타임으로 구성

라이브러리

더보기

시스템 라이브러리는 시스템 접근 때문에 C로 작성

리눅스 커널

더보기

하드웨어 운영과 같은 저수준의 관리 기능이 들어 있음

메모리 관리, 디바이스 드라이버, 보안 등에 사용


프로젝트 구조

더보기
  • app
    • manifests
      • AndroidManifest.xml - 어플리케이션의 기본 정보 저장
    • java
      • 자바 소스 코드가 존재하는 폴더
    • res - 코드가 아닌 모든 리소스를 포함하는 폴더
      • drawable - 이미지와 레이아웃, 애니메이션 효과 등의 처리를 할 때 필요한 리소스를 모아둔 폴더
      • layout - 화면의 레이아웃을 모아둔 폴더
      • menu - 메뉴 구성 파일을 저장한 폴더
      • mipmap - 응용프로그램의 아이콘을 저장한 폴더
      • values - 문자열, 색상, 배열, 크기, 스타일 등 여러 가지 값을 정의
        • colors.xml - 자주 사용하는 색들을 미리 지정
        • strings.xml - 텍스트 리소스 관리
  • Gradle Script

사용자 인터페이스

더보기

메뉴, 툴바, 탐색 메뉴(=네비게이션 바), 편집기 창(=Working 영역), 도구 창 모음, 도구 창(Project 영역), 상태표시줄

버전 제어

더보기

VCS 메뉴에서 Enable Version Control Integration 클릭 후, 원하는 버전 제어 시스템 선택하여 OK버튼을 누른다.

Gradle 빌드 시스템

더보기

빌드 변형, 다중 APK 지원, 리소스 축소, 종속 항목 관리(build.gradle)

디버그 및 프로파일링 도구

더보기

인라인 디버깅, 성능 프로파일러, 힙 덤프, 메모리 프로파일러, 데이터 파일 액세스


레이아웃 파일 구성

더보기

Pallete, Component Tree, Show Design, Attributes

엑티비티 파일(자바 파일)

더보기

생성

  • Generate a Layout file을 체크하면 자동으로 Layout file을 생성한다.

삭제

  • Delete

오토 임포트 설정

  1. File - Settings - Editor - General - Auto import
  2. Insert imports on paste: Always로 설정
  3. Add unambiguous imports on the fly, Optimize imports on the fly 체크박스 체크

동적 레이아웃

더보기

자바 소스 코드에서 레이아웃 요소들을 코드로 작성하는 것. (setContentView)

AndroidManifest.xml


레이아웃 스크립트

더보기

텍스트 출력 - TextView

텍스트 입력 - EditText

버튼 - Button

ID연결 - Java 스크립트에서..

더보기
View button1 = findViewById(R.id.button1);
//findViewById는 View 형식으로 반환된다.

Button button2 = (Button)findViewById(R.id.button2);
//따라서 View형식을 명시적 형 변환으로 원하는 형식으로 바꿔준다.

findViewById(R.id.button3).setOnClickListener(new View.OnClickListener(){
	@Override
    public void onClick(View view){
    	startActivity(new Intent(MainActivity.this, SubActivity.class));
        //씬 변경(SubActivity 클래스 호출)
        //manifest에서 <activity android:name=".SubActivity"/> 추가
    }
});
//버튼에 기능 달아주기