By Youngsup Kim, [email protected], Handong Global University
- View them in github website automatically. and/or
- Install
markdown preview plus
extension. - Check the option
Allow access to file URLs
inchrome://extensions -> markdown preview plus
listing. (크롬에서chrome://extensions
접속 한 후,markdown preview plus
세부정보
에서 "파일 URL에 대한 액세스 허용"을 체크하십시오) - Open local or remote .md file in Chrome.
- Enjoy nicely formatted HTML!
“스마트 앱 제작” 과목을 소개합니다.
앱은 이제 우리가 하루에도 수없이 다루어야 할 물건 중에 하나가 되었습니다. 누르기도 하고, 말하기도 하고, 보기도 하고, 찾기도 하고 제거해버리기도 하는 물건이 되어 버렸습니다. 이 작은 앱으로 유니콘(매출1조원, 10억불)기업들이 매년 수없이 만들어집니다. 우리도 이제부터 바로 그 거대한 산업에 발을 담그고 손 때를 묻혀 보려는 것입니다. 지금까지 배운 것을 앱으로 제작하여 로봇을 활용하는 앱을 제작해 보려는 것입니다. 이를 성취하기 위해 다양한 방법이 있겠지만, 우리는 세상에서 가장 널리 알려지고 가장 많이 사용하는 안드로이드 앱 제작에 집중하려고 합니다. 이것을 할 수 있으면, 다른 플랫폼에서 개발하는 것은 어렵지 않게 접근할 수 있을 것입니다. 안드로이드는 구글에서 만든 스마트폰용 운영체제(OS, Operating System)입니다. 테블릿이나 스마트폰과 같은 단말기를 운영할 뿐만 아니라 다양한 앱을 만들어 설치하여 실행할 수 있는 플랫폼입니다. 안드로이드를 단말기(스마트폰, 태블릿)에 설치하고 배포하는 것은 단말기 제작자들 즉 이동통신사와 태블릿 제조사입니다. 전 세계에서 통용되고 있는 단말기의 75~80%정도가 안드로이드를 사용하고 있습니다. 특히 안드로이드가 단말기 시장 점유율을 높일 수 있었던 주요 원인 중에 하나는 오픈 소스라는 점입니다. 따라서 앱 개발을 처음 접하는 개발자 입장에서는 우선 안드로이드로부터 시작하는 것이 합리적입니다. (전산전자공학부 김영섭 교수)
- 학습목표 (Course Objective)
- 안드로이드 및 안드로이드 스튜디오 소개
- 안드로이드 구성 요소 익히기
- 오프 소스 앱 개발과 응용 역량
- 강의 개요(Course Description)
본 과정은 어렵고 복잡한 스마트 앱 제작을 수강생들이 접근 가능하도록 도와주는 것을 목표로 합니다. 본 과정을 통해, 스마트 앱 제작 과정을 살펴보고, 이를 통해서 우리에게 가정 필요한 논리적이고 과학적 지식을 바탕으로 지구적 문제를 찾고 해결하는 프로젝트를 경험해 볼 것입니다. 그렇게 함으로 본 과정에서 공부한 것을 바탕으로 HuStar에서 최종 목표로 하는 자율 로봇에도 인공지능을 적용할 수 있는 문제해결 역량을 키우는 것이 목적입니다. 안드로이드 앱 개발에 필요한 기본 환경(안스: 안드로이드 스튜디오)를 구축하여 간단한 Hello World 앱을 만들어 확장해보는 것으로 시작합니다. 안드로이드를 이해하는데 필요한 기본적인 구조와 이해하고, 이러한 일련의 과정을 통하여 필수적으로 거쳐야 할 가장 대표적인 것은 화면 구성의 레이아웃과 위젯 등등을 익히게 됩니다. 화면 없이, 즉 화면 뒤(Background)에서 앱을 실행하는 서비스와 앱 간에 또는 구성 요소 간에 메시지를 주고 받을 수 있는 수신자도 기본으로 배울 것입니다. 마지막으로 자신 만의 꿈을 담을 수 있는 앱을 하나 만들어 보거나 오픈 소스로 이미 개발되어 있는 앱을 자기의 앱으로 만들고 응용할 수 있는 능력을 보이는 것입니다.
- 강의 교재 (Textbook and references)
- 안드로이드 앱 프로그래밍 (장재곤 저자, 이지스퍼블리싱)
- 강의 일정과 계획 (Agenda)
- 1차시 안스 개발환경 구축
- 안드로이드 이해하기
- 안스(Android Studio)와 Java SDE 설치
- 안드로이드 첫 앱 만들기(Hello World)
- 여러 개 버튼 추가하기
- 단말 연결과 설정
- 2차시 - View and Layouts
- 뷰와 뷰의 크기 속성 이해하기
- 레이아웃 기초와 대표적 레이아웃 익히기
- 제약,프레임 레이아웃, 뷰 전환
- 스크롤 뷰 사용하기
- 3차시 - Widgets and Drawable
- 기본 위젯 드로어불 소개
- 드로어블 만들기
- 이벤트 처리하기
- 프로그래스 바 사용하기
- 4차시 - 여러 화면 전환하기
- 레이아웃 인플레이션 이해하기
- 여러 화면 만들기, 전환하기
- 인텐트 살펴보기
- 플래그와 부가 데이터
- 5차시 - 프래그먼트 이해하기
- 프래그먼트로 화면 만들기
- 액션바 사용하기
- 상단 탭과 하단 탭 만들기
- 6차시 선택 위젯(Widget) 만들기
- NinePatch이미지
- 새로운 뷰 만들기
- Recycling View 만들기
- 7차시 - 서비스와 수신자 이해하기
- 브로드캐스트 수신자
- 위험 권한 부여하기
- 리소스와 매니페스트, 그래들의 이해
- 8차시 - Location Services
- Location Services
- GPS로 나의 위치 확인하기
- 나의 위치의 지도 보여 주기
- 9차시 - Presentation
- 오픈 소스 앱 프로젝트
- (10차시) // not scheduled in this term
Thread, Handler and Networking
- 쓰레드와 핸들러 이해하기
- 쓰레드로 메시지 전송하기
- 네트워킹과 소켓 사용하기
- JSON 데이터 다루기
Happy Coding!
God is good all the time~
[email protected] (a debtor)<><