본문 바로가기

반응형

대학교 과제/모바일프로그래밍 [ 2 - 2 ]

(8)
[모바일 프로그래밍 과제] - 9주차 ( Paint 메소드, ArrayList) 1.과제 안내문, 예시 출력화면 C++을 공부할 때 Vector와 같은 STL 자료구조에 대해 공부한적이 있었다. 자바에서는 가변저항을 사용한 적은 없지만 이렇게 공부한 덕분에 조금 쉽게 이해할 수 있었다. 아십게도 자바의 가변저항에 대해서는 자세하게 설명하지 않을 것이다. 이 과제는 Paint() 클래스를 다루는 과제이기 때문이다. 다음은 문제 풀이이다. 2. 문제풀이 - ArrayList 그래도 ArrayList에 대한 기본적인 설명은 하고자 한다. ArrayList는 다음과 같이 선언할 수 있다. ArrayList 리스트이름 = new ArrayList(); ArrayList의 가장 좋은 점은 가변리스트 즉, 초반에 크기를 정하지 않아도 되는 리스트라는 것이다. 백준을 많이 풀어보신 분은 알겠지만,..
[모바일 프로그래밍 과제] - 8주차 (직접풀어보기 8 - 2) 1. 과제 안내문, 예시 출력화면 과제 #8 직접 풀어보기 8-2 교재 내용을 확인하고 해결해서 제출합니다. 단, 상단의 그림 번호는 그림이 3개라면 1/3 ~ 3/3으로 표시되도록 합니다(0이 아니라 1에서 시작해야 하니 주의~) 제출방법: xml 및 자바 파일, 실행 화면 캡쳐 3장 이상을 압축하여 zip 형식으로 제출합니다. 커스텀뷰 파일을 꼭 포함합니다. 중간고사 이후 블로그의 업데이트가 많이 늦어지게 되었다. 밀린 글들이 정말 많다... 과제 세개를 동시에 올리니 체력의 한계가 느껴지지만, 방금 과제 하나가 더 올라왔다... 웹프로그래밍에 대한 글도 최대한 빨리 올릴 예정이다. 2. 문제풀이 이번 과제는 SD카드에 있는 데이터를 다루는 과제이다. 때문에 커스텀과 같은 부분은 다루지 않겠다. (저..
[모바일 프로그래밍 과제] - 7주차 (직접풀어보기 7 - 1) 1. 과제 안내문, 예시 출력화면 모든 단원들이 그렇겠지만, 이번 단원에서도 새로운 기능을 배웠다. 조금 다른 점이 있다면 onCreate() 매소드 안에서만 리스너를 구현할 수 있는 기존의 위젯들과는 다르게, 이번에 배운 menu는 onCreate() 매소드 밖에서 해당 매소드를 구현해야 한다는 것이다. XML 파일 또한 따로 제작해야 하는데, 자세한 것은 문제풀이 과정에서 설명할 것이다. 2. 문제풀이 menu안에 표시될 항목들은 XML 파일을 따로 제작해야한다. 파일이 있어야할 경로는 res파일안에 menu파일에 생성면 된다. 만약 res 파일 안에 menu파일이 존제하지 않는다면 오른쪽 res파일에 마우스를 위치한 채 오른쪽 마우스를 클릭 후, New -> Android resource Direc..
[모바일 프로그래밍 과제] - 6주차 (탭호스트) 1. 과제 안내문, 예시 출력화면 다음과 같은 안드로이드 애플리케이션을 완성하라. 상단에 "색상"과 "회전"이라는 2개의 탭이 표시된다. "색상" 탭을 누르면 green, blue, red라는 3개의 라디오버튼이 상단에 나타나고 각 버튼을 누를 때마다 탭화면의 색상이 변경된다. 탭화면 가운데에 "색상 탭의 내용"이라는 텍스트가 큰 글씨로 표시된다. "회전" 탭을 누르면 상단에 "Left"와 "Right"라는 버튼이 나타나고 탭화면 중앙에 "회전 탭의 내용"이라는 큰 글씨의 텍스트가 표시된다. Left 버튼을 누를 때마다 텍스트가 시계 반대 방향으로 10도 회전하고, Right 버튼을 누를 때마다 텍스트가 시계 방향으로 10도 회전한다. 가장 오류가 많았던 과제 중에 하나이다. 뷰 컨테이너 자체가 정해진 ..
[모바일 프로그래밍 과제] - 5주차 (직접풀어보기 6 - 1) 1. 과제 안내문, 예시 출력화면 과제 #5 직접 풀어보기 6-1 (자세한 사항은 교재를 참고할 것) 실습 6-1을 다음과 같이 수정하라. 1) 캘린더뷰 대신 데이트피커를 사용하여 날짜를 설정한다. 2) 과 버튼을 제거한다. 대신 기능은 크로노미터를 클릭하면 동작하게 하고, 기능은 아래쪽 연도를 롱클릭하면 동작하게 한다. 3) 처음에는 라디오버튼, 데이트피커, 타임피커가 안 보이도록 설정하고, 크로노미터를 클릭하면 라디오버튼이 나타난다. 라디오버튼을 클릭하면 피커가 표시된다. 아래쪽 연도를 롱클릭하면 라디오버튼, 데이트피커, 타임피커가 사라진다. 구현방법 참고: - 버튼에서 했던 작업은 크로노미터의 리스너를 만들어 거기로 이동함 - 버튼의 작업은 tvYear에 OnLongClickListener를 작성하..
[모바일 프로그래밍 과제] - 4주차 (직접풀어보기 5 - 3) 1. 과제 안내문, 예시 출력화면 다음 화면을 xml 파일 없이 Java 코드만 이용하여 완성하라. 에디트텍스트, 버튼 및 텍스트뷰 각각 1개로 화면이 구성되며, 버튼을 클릭하면 에디트텍스트에 입력된 문자열이 하단의 텍스트뷰에 나타나게 한다. 이 과제에 특별한 점은 Java코드만으로 객체들을 구성해야 한다. 그 전에 Java에서 Paint같은 메소드를 사용하거나 컴토넌트들을 구성한 경험이 있어 그렇게 어렵게 느껴지지는 않았다. 다음은 코드구성이다. 2. 코드 구성 코드를 구성하는 경우는 그렇게 어렵지 않았다. 배치같은 경우도 Linearlayout 안에 순서대로 객체들을 넣어주기만 하면 되었고, 리스너같은 경우도 버튼을 눌렀을 때 EditText에서 값을 받아 TextView의 텍스트로 지정해주기만 하면..
[모바일 프로그래밍 과제] - 3주차 (연습문제 9, setRotation()) 1.과제 안내문, 예시 출력화면 "회전하기" 버튼을 누르면 버튼을 한 번 누를 때마다 하단의 사진이 10도씩 시계방향으로 회전하도록 프로젝트를 구성하라. 하단의 사진은 자신의 셀카(selfie)를 찍어서 적당한 크기로 편집하여 사용한다.(아래 예에서는 300x186 크기의 그림 파일을 사용했다.) 자바과목을 들었을 때는 (같은교수님 이셨다.) 그날 배운 문법만으로 해결할 수 있는 과제를 내주셨는데, 이번 수업은 스스로 구글링을 해봐야 문제를 해결할 수 있다. ImageView를 화면 중앙에 맞추는 법이라던가, 회전시키는 방법들이 이에 해당한다. 전자는 깔끔하지 못하게 margin값을 주는 것으로 해결하였고 후자는 serRotation() 메소드를 활용하였다. 2. 코드 구성 이번과제에서 위젯들을 구성하는..
[안드로이드 프로그래밍 과제] - 2주차 (직접 풀어보기 4-2) 1. 과제 안내문, 예시 출력화면 다음과 같은 화면을 xml로 코딩하라. 버튼, 텍스트뷰, 에디트텍스트, 버튼을 차례로 지정하고 앞에서 배운 다양한 속성을 사용하여 다음 화면과 최대한 동일하게 나오도록 하라. 안드로이드 프로그래밍 강의의 첫 번째 과제이다. 안드로이드 프로그래밍을 처음 배울 때는 위와 같은 위젯의 기초를 배운다. 마진, 패딩과 같은 위젯의 속성도 배우는데, 화면을 배치하는데 있어서 매우 중요한 개념이니 확실하게 알아두어야 한다. 위의 과제는 다양한 위젯들의 속성을 정의하고 배치하는 것을 연습하기 위한 과제라고 생각된다. 다음은 풀이 과정이다. 2. 코드 구성 위의 위젯들은 총 4개가 있다. 버튼1, 텍스트 뷰, 에디트 텍스트, 버튼2 이다. 각각의 위젯을 구성하는 코드를 차례로 게시하겠다..