[Android/Flutter 교육] 13일차

MSU·2024년 1월 12일

Android-Flutter

목록 보기
13/85
post-thumbnail

학생 관리 프로그램 이어서 진행

파일 입출력은 dao에서

객체 직렬화 Serializable
객체를 외부에 보낼수 있도록 바꿔주는것
Serializable 인터페이스를 구현해줘야 함

FileOutputStream으로 파일을 생성하고 스트림과 연결해줌
ObjectOutputStream에 FOS를 매개변수로 전달해주고 OOS와 연결해줌
전달할 객체를 OOS에서 바꿔주면 FOS를 통해 파일에 써줌
데이터 쓰기가 완료되면 생성된 객체 OOS와 FOS 는 닫아주기
여기서 OOS는 필터스트림, FOS는 기본스트림이 됨

만약 데이터 처리를 1기가씩 할 수 있는데 전달할 데이터가 10기가와 같은 경우
OOS는 기본적으로 한번처리 후 프로그램이 종료되지만, 일련의 과정을 전부 처리하도록 flush()를 해줘야 함

파일에서 데이터를 읽어올 기본 스트림FileInputStream을 생성한다.
읽어온 데이터를 객체로 복원하는 필터 스트림ObjectInputStream을 생성한다.
readObject 메서드로 파일을 읽는데 readObject는 Any타입으로 반환해주는 관계로 ArrayList<StudentModel> 타입으로 형변환해준다.
읽기가 완료되면 생성된 객체 OIS와 FIS는 닫아주기

exitProcess() 함수
Status code 0 = 정상 종료
Status code ~

동물 관리 프로그램 실습

학생관리프로그램 끝나고 동물 관리 프로그램 실습

프로그램을 실행하면 다음과 같이 메뉴가 나타난다.
[메인메뉴]
1. 동물 정보 입력
2. 동물 이름 검색
3. 동물 타입 검색
4. 모든 동물의 정보 출력
5. 동물 삭제
6. 프로그램 종료

메뉴 1번을 선택하면
[동물 정보 입력]
입력된 동물의 수 : 0000마리
동물 종류 (1.사자, 2.호랑이, 3.코끼리) : 3가지 중 하나 입력
동물의 이름 :
동물의 나이 :
이 이후의 입력은 동물의 종류에 따라 달라진다.
(사자) 털의 개수 :
(호랑이) 줄무늬 개수 :
(코끼리) 코의 길이 :

동물 하나의 입력이 끝나면 메인 메뉴를 보여준다.

메뉴 2번을 선택하면
[동물 이름 검색]
검색할 동물의 이름을 입력해주세요 :

동물 종류 : 호랑이
동물 이름 : 0000
동물 나이 : 0000
털의 개수 : 0000

동물 종류 : 사자
동물 이름 : 0000
동물 나이 : 0000
줄무늬 개수 : 0000

동물 종류 : 코끼리
동물 이름 : 0000
동물 나이 : 0000
코의 길이 : 0000

출력을 완료하면 메인 메뉴를 보여준다

메뉴 3번을 선택하면
[동물 타입 검색]
다음 중 동물의 타입을 선택해주세요
1. 호랑이
2. 사자
3. 코끼리
동물 타입 선택 : 1

선택한 타입의 모든 동물의 정보를 출력

동물 종류 : 호랑이
동물 이름 : 0000
동물 나이 : 0000
털의 개수 : 0000

동물 종류 : 호랑이
동물 이름 : 0000
동물 나이 : 0000
털의 개수 : 0000

동물 종류 : 호랑이
동물 이름 : 0000
동물 나이 : 0000
털의 개수 : 0000

출력을 완료하면 메인 메뉴를 보여준다

메뉴 4번을 선택하면
[모든 동물의 정보 출력]

전체 동물의 수 : 000마리
호랑이 : 000마리
사자 : 000마리
코끼리 : 000마리

동물 종류 : 호랑이
동물 이름 : 0000
동물 나이 : 0000
털의 개수 : 0000

동물 종류 : 사자
동물 이름 : 0000
동물 나이 : 0000
줄무늬 개수 : 0000

동물 종류 : 코끼리
동물 이름 : 0000
동물 나이 : 0000
코의 길이 : 0000

출력을 완료하면 메인 메뉴를 보여준다

메뉴 5번을 선택하면
[동물 삭제]

모든 동물들의 종류와 이름을 출력한다.

1번 동물
동물 종류 : 호랑이
이름 : 호랑이씨

2번 동물
동물 종류 : 사자
이름 : 사자씨

3번 동물
동물 종류 : 코끼리
이름 : 코끼리씨

삭제할 동물의 번호를 입력해주세요 : 1
동물의 정보가 삭제되었습니다.

메인 메뉴를 보여준다

메뉴 6번을 선택하면
프로그램이 종료되었습니다를 출력하고
프로그램을 종료한다.

데이터 처리 메서드는 화면 출력 사이에 전처리 메서드와 후처리 메서드를 만들기?

profile
안드로이드공부

0개의 댓글