브래의 슬기로운 코딩 생활
안드로이드 프로그래밍 기말고사 정리 본문
- 그래픽과 이미지 -
캔버스와 페인트
좌표를 읽어오는 순서
1. ACTION_DOWN
2. ACTION_MOVE
3. ACTION_UP
이미지를 화면 중앙에 출력하는 간단 예제
Bitmap picture = BitmapFactory.decodeResource(getResource(), R.drawable.jeju14);
- 액티비티와 인텐트 -
액티비티(Activity)
▪ 화면을 구성하는 가장 기본적인 컴포넌트
서비스(Service)
▪ 액티비티와 상관없이 백그라운드에서 동작하는 컴포넌트
브로드캐스트 리시버(Broadcast Receiver)
▪ 문자 메시지 도착, 배터리 방전, SD 카드 탈부착, 네트워크 환경 변화 등이 발생하면
전체 응용프로그램이 들을 수 있도록 방송 신호 보냄
콘텐트 프로바이더(Content Provider)
▪ 응용프로그램 사이에 데이터를 상호 공유하기 위한 컴포넌트
▪ 콘텐트 프로바이더의 정보를 제공하는 방법으로는 URI(Uniform Resource Identifier)가 있음
액티비티의 개수와 자바 파일의 개수는 같다.
인텐트는 액티비티를 연결
인텐트(Intent)
▪ 안드로이드 4대 컴포넌트가 상호 간에 데이터를 주고 받기 위한 메시지 객체
▪ 명시적 인텐트와 암시적 인텐트로 구분
명시적 인텐트 : 다른 액티비티의 이름을 명확히 지정할 때 사용하는 방법
암시적 인텐트 : 약속된 액션을 지정하여 안드로이드에서 제공하는 기존 응용 프로그램을 실행하는 것
명시적 인텐트와 데이터의 전달
새로운 액티비티 추가
AndroidManifest.xml 파일에 새로운 액티비티 등
양방향 액티비티와 데이터의 전달
put을 하고 get으로 받는다.
Intent intent = new Intent(Intent.Action_DIAL, uri);
Intent intent = new Intent(Intent.Action_VIEW, uri);
Intent intent = new Intent(Intent.Action_WEB_SEARCH);
Intent intent = new Intent(MediaStore.Action_IMAGE_CAPTURE);
액티비티 생명주기
데이터 저장과 관리
데이터베이스 관련 용어
▪ 데이터 : 하나하나의 단편적인 정보를 뜻함
▪ 테이블 : 회원 데이터가 표 형태로 표현된 것
▪ 데이터베이스(DB) : 테이블이 저장되는 장소로 주로 원통 모양으로 표현
• 각 데이터베이스는 서로 다른 고유한 이름이 있어야 함
▪ DBMS : 데이터베이스를 관리하는 시스템 또는 소프트웨어를 말함
▪ 열(칼럼 또는 필드) : 각 테이블은 1개 이상의 열로 구성됨
▪ 열 이름 : 각 열을 구분하는 이름, 열 이름은 각 테이블 안에서는 중복되지 않아야 함
▪ 데이터 형식 : 열의 데이터 형식을 뜻함
• 테이블을 생성할 때 열 이름과 함께 지정해야 함
▪ 행(로우) : 실제 데이터
▪ SQL : 사용자와 DBMS가 소통하기 위한 언어
데이터베이스 생성 전 작업
▪ 명령 프롬프트를 실행한 후 adb.exe가 있는 폴더로 이동
▪ cd C:\Users\[사용자이름]\AppData\Local\Android\Sdk\platform-tools
▪ 명령 프롬프트에서 다음 명령을 차례로 수행하면 SQLite에 접속할 준비가 된 것
adb root
adb shell
cd /data/data/com.example.mydatabase
ls -l
mkdir databases
cd databases
pwd
테이블 생성
테이블을 생성하는 SQL문 형식
데이터 입력
행 데이터를 입력하는 SQL문 형식
INSERT INTO userTable VALUES('BTS','BangTan','BTS@gmail.com', 2013);
INSERT INTO userTable VALUES('Bong','Bong JunHo','Bong@gmail.com', 1969);
INSERT INTO userTable VALUES('Son','Son HeungMin ','son@gmail.com', 1992);
INSERT INTO userTable VALUES('Wang','Wang SooHyun','king@gmail.com', 2024);
데이터 조회 · 활용
데이터를 조회 · 활용하는 SQL문 형식
SELECT * FROM userTable;
SELECT id, birthYear FROM userTable WHERE birthYear <=1990;
SELECT * FROM userTable WHERE id='BTS';
myDBHelper 클래스의 onCreate( )와 onUpgrade( ) 메소드 코딩
• onCreate( ) 메소드 : 테이블을 생성하는 기능을 코딩
• onUpgrade( ) 메소드 : 테이블을 삭제한 후 다시 생성
<입력>을 클릭하면 에디트텍스트의 값이 입력되는 리스너 코딩
<조회>를 클릭할 때, 테이블에 입력된 내용이 모두 아래쪽 에디트텍스트에 출력되는 리스너 코딩
프로젝트 실행 및 결과 확인
▪ (1) 프로젝트를 실행한 후 데이터를 입력하고 조회
▪ (2) 명령 프롬프트에서 확인
adb root
adb shell
# cd /data/data/com.example.mydatabase
# cd databases
# sqlite3 groupDB
> .header on
> .mode column
> SELECT * FROM groupTBL;
- 사진과 오디오 –
리스트뷰 만들기
라디오버튼 : simple_list_item_single_choice로 바꿈
체크박스 : simple_list_item_multiple_choice로 둠
오디오
- 멀티미디어와 지도 –
프로그레스바와 시크바
▪ 프로그레스바 : 작업의 진행 상태를 확인할 때 많이 활용
▪ 시크바 : 음악이나 동영상 재생의 위치를 지정할 때 많이 활용
스레드(Thread)
▪ 동시에 여러 작업을 수행하기 위해 사용되는 개념
▪ 멀티스레드(Multi-Thread), 혹은 경량 프로세스라고도 함
→ 함수는 하나의 작업이 끝나야 다음 작업이 진행되지만, 스레드는 하나의 작업이 끝나기 전에 다른 작업을 동시에 진행시킬 수 있음
UI(User Interface) 스레드
▪ 화면의 위젯을 변경할 때 사용
▪ 일반적인 스레드는 스레드 안에서 필요한 내용을 계산하는 것만 가능하며, 화면의 다른 위젯을 변경할 수 없음
스레드보다 runOnUiThread가 더 안쪽이다.
구글의 API 키 얻기
SHA1 코드 필요, Google API 등록 필요
구글 지도의 응용
FragmetManager, manifest에 다 적어줘야 함
'3-1 > 안드로이드 프로그래밍' 카테고리의 다른 글
안드로이드 프로그래밍 기말고사 예상문제 (0) | 2024.06.10 |
---|---|
안드로이드 프로그래밍 중간고사 예상 문제 (0) | 2024.04.17 |
안드로이드 프로그래밍 6주차 정리 - 메뉴와 대화상자 (0) | 2024.04.09 |
안드로이드 프로그래밍 5주차 정리 - 고급위젯 (0) | 2024.04.02 |
안드로이드 프로그래밍 4주차 정리 - 레이아웃 (0) | 2024.03.26 |