Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Park-Wonbin/poapper-android-tutorial

Open more actions menu

Repository files navigation

Android Tutorial

POSTECH 개발 동아리 'PoApper'에서 진행하는 Android 강의용 repository 입니다.

Prerequisite

Getting Started

기본적인 Kotlin 문법 익히기 : https://thdev.tech/kotlin/2016/08/02/Basic-Kotlin-01

  • valvar의 차이점을 안다!
  • ?!의 사용을 구분할 수 있다!
  • 함수 생성반복문을 사용할 수 있다!

Android Studio에서 Git 사용하기 : https://ywook.tistory.com/4

Download

원하는 폴더에 다음 명령어를 칩니다.

git clone https://github.com/Park-Wonbin/PoApper_Android_Tutorial.git
cd PoApper_Android_Tutorial

Week1

학습할 내용

  • Layout(Linear, Frame)
    • LinearLayoutFrameLayout을 자유롭게 다룰 수 있다!
    • margin, padding 등 다양한 속성들을 이해하고 있다!
  • EditText, TextView
    • width, gravity, size 등 다양한 속성들을 이해하고 있다!
    • Button, ImageView 등 다른 Element들을 사용할 수 있다!
    • Activity에서 코드를 통해 텍스트를 읽어와서 표시할 수 있다!
    • LayoutActivity의 상호작용을 이해한다! (ex. onClickListener)
  • CardView - 첫번째 Material Design 요소 알아보기
    • 라이브러리를 적용하고 xml을 이용하여 디자인을 잘할 수 있다!
  • Intent
    • 화면(Activity)전환, 전화걸기, 값 이동 등 intent 사용법을 잘 알고있다!
  • Toast
    • Toast를 이용하여 간단한 메세지를 출력할 수 있다!

이번주 과제

  • 화면(Layout)이 총 세 개 필요합니다.
    • 로그인
    • 회원 가입
    • 메인 화면
  • 로그인 화면
    • 아이디, 비밀번호 입력칸과 로그인, 회원 가입 버튼이 필요합니다.
    • 로그인이 성공하면 메인화면으로 이동합니다. 기존의 화면은 없앱니다.
    • 로그인이 실패하면 경고 메시지를 띄웁니다.
    • 로그인은 hard-code 된 아이디와 비밀번호로 진행합니다.
    • 회원 가입 버튼을 누르면 회원 가입 화면으로 넘어갑니다.
  • 회원 가입
    • 아이디, 비밀번호 입력칸과 가입 버튼이 필요합니다.
    • 가입 버튼을 누르면, 서버에 회원 가입 요청을 보냅니다.(아직 네트워크 통신은 안하셔도 됩니다! 비밀번호 확인만 구현해주세요.)
      • 만약 회원 가입이 성공하면, 메시지와 함께 로그인 화면으로 돌아옵니다.
      • 실패하면 경고 메시지를 띄웁니다.
  • 메인 화면
    • 로그인에 성공한 아이디와 비밀번호를 보여주는 TextView가 필요합니다.

Week2

학습할 내용

  • SharedPreferences
    • SharedPreferences가 무엇인지 안다!
    • getString, edit, commit, clear 등을 사용할 수 있다!
  • Activity Life Cycle
    • 안드로이드의 기본적인 Life Cycle을 이해하고 이용하는 방법을 안다!
  • Color, String, etc... Values
    • Color, String 등의 Values 값들을 미리 설정해둘 수 있다!
  • Image Asset
    • Image Asset 사용법을 안다!
    • 액션 아이콘을 추가하거나 앱 아이콘을 변경할 수 있다!
  • Floating Action Button - 두번째 Material Design 요소 알아보기
    • FAB를 구현할 수 있다!
    • 기본적인 애니메이션을 적용할 수 있다!

이번주 과제

  • 이전에 과제에 이어서 추가하시면 됩니다.
  • 로그인 화면
    • 자동 로그인 기능을 구현해야 됩니다.
    • checkBox를 검색하고 사용해보세요.
    • 자동 로그인을 설정한 상태로 로그인이 완료되면 아이디를 SharedPreferences에 기록해둡니다.
  • 메인 화면
    • FAB를 구현해야 합니다.
    • 더보기 FAB를 눌렀을 때 검색, 글쓰기 등의 버튼이 등장해야 됩니다.
  • 디자인
    • 앱 아이콘을 자신이 원하는 로고 또는 이미지로 수정하세요.
    • 앱의 메인 색상을 고르고 변경하세요.

Week3

학습할 내용

  • RecyclerView
    • RecyclerView를 이해하고 구현할 수 있다!
    • data class를 생성할 수 있다!
    • Adapter를 구현할 수 있다!
    • 참고 자료 1
    • 참고 자료 2
  • SwipeRefreshLayout - 세번째 Material Design 요소 알아보기
    • 당겨서 새로고침 기능을 구현할 수 있다!
  • ScrollView
    • ScrollView를 이용하여 더 많은 내용을 표시할 수 있다!

이번주 과제

  • 이전에 과제에 이어서 추가하시면 됩니다.
  • 메인 화면
    • RecyclerView를 이용하여 게시판 목록을 볼 수 있도록 만드셔야 합니다.
    • 글의 제목, 작성 시간 등의 정보를 표시하여야 합니다.
      • 글에 대한 정보를 담을 data class를 생성하세요.
    • 글을 누르면 자세히 보기 화면으로 넘어갑니다.
    • 테스트 데이터를 hard-code 하여 사용하세요.
    • 당겨서 새로고침을 구현하세요.
      • 새로고침시 새로운 아이템을 하나 추가합니다.
  • 자세히 보기 화면
    • 메인화면에서 누른 글의 세부 정보를 받아와 보여줍니다.
    • 글의 제목, 작성자, 작성 시간, 내용 등을 표시합니다.
    • 글이 길 경우 스크롤하여 읽을 수 있도록 하여야 합니다.

Week4

학습할 내용

  • Toolbar - 네번째 Material Design 요소 알아보기
    • ActionbarToolbar의 차이를 안다!
    • Actionbar를 지우고 Toolbar를 구현 할 수 있다!
    • Toolbar에 메뉴를 넣을 수 있다!
  • Navigation Drawer - 다섯번째 Material Design 요소 알아보기
    • Navigation Drawer가 무엇인지 알고 구현할 수 있다!
    • menu resource를 잘 다룰 수 있다!
  • Better Design - Material Design 더 알아보기

이번주 과제

  • 이전에 과제에 이어서 추가하시면 됩니다.
  • 메인화면
    • Toolbar, NavigationView 등 다양한 머티리얼 디자인 요소를 이용하여 자유롭게 꾸며보세요.

Week5

학습할 내용

  • AsyncTask
    • 안드로이드에서 비동기 처리를 하는 방법!
    • 시간상 이번학기에는 못 다룰 것 같아요...ㅜㅜ
    • 네트워크 통신이나 오래걸리는 작업들을 비동기로 처리할 때 주로 사용합니다.
    • 우리는 이번 네트워크 통신부분(웹에서 정보를 파싱)에서 직접 구현하지 않고 오픈소스를 사용할거라 굳이 이걸 쓰지 않을 거예요!
    • 그래도 한번쯤은 혼자 검색해서 직접 공부해보면 좋을것 같아요!
    • 추가로 Thread & Handler도 같이 알고 있으면 좋아요!
  • Using OpenSource(Retrofit, Glide)
    • Retorfit을 사용하여 웹 API를 자유롭게 이용할 수 있다!
    • Glide를 통해 웹에 있는 이미지를 쉽게 받아올 수 있다!
    • Github에서 오픈소스 라이브러리를 검색하고 사용하는 방법을 안다!

이번주 과제

  • 이전에 과제에 이어서 추가하시면 됩니다.
  • 메인화면
    • Retorfit과 Glide를 이용하여 웹에서 데이터를 파싱합니다.
    • 파싱된 데이터를 이전에 만든 RecyclerView를 이용하여 보여주세요.
    • 실습용 baseURL https://rss-search-api.herokuapp.com/
    • 실습용 API api/v1/channel/items/count/{count}?id=1

Curriculum

해야할 것

  • 레이아웃(프론트엔드) 디자인하기! - 로그인 / 회원가입 구현
  • 네트워크(벡엔드) 처리하기! - 글 목록 / 정렬 / 검색 구현
  • GitHub 사용하기! - 완성된 앱을 깃에 올리고 링크 제출

최종 과제물 제출 - 다음학기 개강 전까지!

  • 매주 과제를 충실히 끝냈다면 그럴듯한 하나의 안드로이드 앱이 완성되어 있을 거예요!
  • 완성된 앱을 본인의 깃에 올리고 링크를 카톡방으로 공유해주세요!
  • 그동안 수고하셨습니다 :)

참고 사이트

2019학년도 가을학기 안드로이드 세미나 담당자: 박원빈(wonbin9413@postech.ac.kr)

About

POSTECH 개발 동아리 'PoApper'에서 진행하는 Android 강의용 repository 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.