레이블이 모바일 프로그래밍인 게시물을 표시합니다. 모든 게시물 표시
레이블이 모바일 프로그래밍인 게시물을 표시합니다. 모든 게시물 표시

2015년 12월 6일 일요일

모바일 프로그래밍 12월 7일, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더

안드로이드 4대 컴포넌트에서 Activity를 제외한 나머지

  • 서비스
  • 브로드캐스트 리시버
  • 컨텐트 프로바이더

서비스는 2종류가 있는데, 교재와 수업에서는 started service만 다룸
서비스에 대해 참고: http://ccdev.tistory.com/21


2015년 11월 27일 금요일

모바일 프로그래밍(이론:11월 30일, 실습: 12월 3일): SQLite

SQLite - SQL 데이터베이스 엔진 라이브러리로 서버 접속하지 않고 파일을 이용함

안드로이드에서 SQLite를 사용하기 위한 필수 클래스

  • SQLiteOpenHelper
  • SQLiteDatabase
  • Cursor
실습: 직접 풀어보기 12-1

* 참고: DB Browser for SQLite http://sqlitebrowser.org/

2015년 11월 26일 목요일

시험, 자율 실습 공지.

모바일 프로그래밍 A반:
  • 10일 실습 시간에 기말 시험 실시(장소는 추후 공지)
  • 14일 이론 수업은 휴강


임베디드 A반:

  • 10일 실습 시간에 기말 시험 실시(장소는 추후 공지)
  • 14일 이론 수업은 휴강


모바일 프로그래밍 N반:

  • 3일 실습은 자율 실습(출석 체크 안함)
  • 10일 실습은 3일 실습과 그 동안 못 한 실습 수행
  • 14일 이론 시간에 기말 시험 실시(장소는 이론 강의실 402호)


임베디드 N반:

  • 3일 실습은 자율 실습(실습 자료만 제공하고 출석 체크 안함)
  • 10일 실습은 3일 실습과 그 동안 못 한 실습 수행
  • 14일 이론 시간에 기말 시험 실시(장소는 이론 강의실 402호)


2015년 11월 23일 월요일

모바일 프로그래밍 과제 제출 방법(보고서 + 소스코드는 github에)

모바일 프로그래밍 과제는 소스 코드를 github에 올리고, 보고서를 종합정보시스템에 제출하세요.
보고서에는 아래 내용을 포함하도록 하고 반드시 pdf로 만드세요.

  1. git clone https url (예: https://github.com/jyheo/MyApplication.git)
  2. 과제 요구사항 마다 해당 코드 내용, 위치와 설명(소스 주석도 포함)
    예)
    요구사항: 일기 파일이름은 년__.txt로 한다.설명: 연,월,일을 받아서 파일 이름을 조합하여 리턴하는 함수
    해당 소스코드: MainActivity.java 100번째 라인
    String makeDiaryFileName(int Year, int Month, int Day) {
        String filename = Year + Month + Day; // 이 코드는 동작하지 않음
    }
  3. 과제와 관련된 기타 내용


2015년 11월 22일 일요일

모바일 프로그래밍 (이론:11월 23일, 실습:11월 26일) - Adapter View

어댑터 뷰(Adapter View)

  • 목록으로 되어 있는 어댑터(adpater)를 여러 형태(스피너, 리스트, 그리드)의 어댑터 뷰에 연결하여 보여주는 방법.
  • 어댑터가 어댑터 뷰에서 보여줄 각 항목의 View를 결정함.
  • 어댑터는 ArrayAdapter<>를 사용하거나 BaseAdapter를 상속하여 커스텀 어댑터를 만들어 사용함.
  • 어댑터 뷰에는 ListView, GridView, Spinner 등이 있음.
간단한 어댑터 뷰 예제

실습
실습 11-1의 GridView에서 영화 포스터 그림과 제목이 모두 보이도록 만든다. 
힌트: getLayoutInflater().inflate(R.layout.adapter, null);


2015년 11월 15일 일요일

모바일 프로그래밍 (이론: 11월 16일, 실습: 11월 19일) - 액티비티와 인텐트

이론:

  • 안드로이드 4 컴포넌트
    • 액티비티(Activity)
    • 서비스(Service)
    • 브로드캐스트 리시버(Broadcast Receiver)
    • 컨텐트 프로파이더(Content Provider)
  • Intent를 이용하여 다른 액티비티 실행
    • startActivity()
  • Intent를 이용하여 액티비티 간에 데이터 전달
    • Intent의 putExtra(), getExtra()
    • startActivityForResult(), setResult(), onActivityResult()
  • Implicit Intent(묵시적 인텐트)
  • 액티비티 생명주기(lifecycle)

실습: 직접 풀어보기 10-3


참고: 액티비티의 생명주기(lifecycle)에 대한 블로그
- http://androidhuman.tistory.com/246

2015년 11월 6일 금요일

모바일 프로그래밍 (이론: 11월 9일, 실습: 11월 12일) - 파일 처리.

파일 저장 가능 위치

  • 내부 저장소 - 응용 별 파일 저장 (자신만 접근하는 저장 위치)
  • 공용 저장소 - 외부 저장소라고 불리지만, 실제로 내부에 있는 경우가 대부분, 별도의 외장 SD카드는 안드로이드에서 공식적으로 지원하지 않음
    • Environment.getExternalStorageDirectory()
    • Environment.getExternalStoragePublicDirectory(String type)
      • type의 한 예로 Environment.DIRECTORY_PICTURES
  • 리소스 포함 raw 파일 - 앱 패키지에 포함된 리소스 내에 존재하는 raw파일


안드로이드에서 파일을 저장할 수 있는 위치에 대해 정리가 잘 되어 있는 블로그 기사
http://androidhuman.tistory.com/432


실습: 직접 풀어보기 8-1

2015년 11월 2일 월요일

모바일 프로그래밍(이론:11월 2일, 실습:11월 5일) - 메뉴와 대화상자


  • 메뉴
    • 옵션 메뉴
    • 컨텍스트 메뉴
  • 토스트
  • 다이얼로그(대화상자)
    • 버튼 없는 다이얼로그
    • Positive 버튼
    • 목록 보여주는 다이얼로그
    • 라디오 버튼 목록
    • 체크박스 목록
    • 임의의 View를 갖는 다이얼로그
  • 실습 7-3
    • 다이얼로그를 이용하여 이름과, 이메일 주소 입력

2015년 10월 25일 일요일

모바일 프로그래밍 (10월 26일, 10월 29일) 이론,실습 - 고급 위젯 다루기

10월 26일 이론

  • 시계 표시 위젯: 
    • AnalogClock
    • DigitalClock(TextClock)  (API 17부터는 TextClock으로 바뀜)
    • Chronometer - 시간 측정
  • 달력 위젯
    • CalendarView
  • 날짜, 시간 선택 위젯
    • DatePicker
    • TimePicker
  • 자동 완성 텍스트 뷰: 
    • AutoCompleteTextView
    • MultiAutoCompleteTextView
  • 진행 표시 위젯:
    • ProgressBar
    • RatingBar
    • SeekBar
  • ScrollView
  • WebView

10월 29일 실습
실습 6-2, 간단한 웹 브라우져 만들기
WebView를 이용
EditText에서 주소를 입력 받고, 이동 버튼을 누르면 WebView에 해당 주소의 웹 페이지를 보여주며, 추가로 아래 내용을 구현한다.
- 링크를 클릭하면 WebView내에서 보여주기 WebViewClient의 shouldOverrideUrlLoading() 메소드가 무조건 false를 리턴하게 함
- URL에 http:// 가 없으면 자동으로 붙여주기.
- 페이지가 loading되면 해당URL을 EditText에 보여주기 (WebViewClient의 onPageFinished()메소드를 override해야 함. 그리고 View의 getRootView()메소드를 활용)

* 참고
TimePicker와 DatePicker는 최신 안드로이드에서는 교재와 달리 아래와 같은 모양으로 보임

2015년 10월 8일 목요일

2015학년2학기 임베디드,모바일 중간시험 안내

임베디드 A,N반 합반 시험


  • 날짜: 10월 19일 월요일
  • 시간: 오후 6시~6시50분 
  • 장소: 탐구관 지하 101호
  • * A반 중 이 시간에 시험을 볼 수 없는 사람은 나에게 문자로 알려주고, 19일 4시에 공402호로 올것.


모바일 프로그래밍 A,N반 합반 시험


  • 날짜: 10월 19일 월요일
  • 시간: 오후 6시55분~7시45분
  • 장소: 탐구관 지하 101호
  • * A반 중 이 시간에 시험을 볼 수 없는 사람은 나에게 문자로 알려주고, 19일 5시에 공402호로 올것.

2015년 10월 4일 일요일

모바일 프로그래밍 실습 image - 참고할만한 괜찮은 소스

류지원 학생 소스 입니다.
스위치 on/off에 따라 나타나고 사라지게 할 위젯들을 하나의 LinearLayout 밑에 넣어서 코드를 간결히 하였군요.

2015년 10월 2일 금요일

모바일 프로그래밍 (10월 5일(이론), 8일(실습)) - 레이아웃 익히기

레이아웃

  • LinearLayout
  • RelativeLayout
  • TableLayout
  • GridLayout
  • FrameLayout

실습: TableLayout 또는 GridLayout을 이용한 계산기 앱 만들기 (실습 5-2, 직접풀어보기 5-5)
실습 모듈 이름은 calc2



2015년 10월 1일 목요일

모바일 프로그래밍 실습 calc - 참고할 만한 괜찮은 소스

이설희 학생의 calc MainActivity.java
listener 인터페이스 구현을 위한 anonymous class를 멤버 변수에 넣어서 재활용하여 코드가 무척 간결해졌습니다.

2015년 9월 21일 월요일

모바일 프로그래밍 (9월 21일(이론), 24일(실습), 10월 1일(실습)) - 기본 위젯 익히기

위젯이란 사용자에게 입력을 받거나 보여주기 위한 것으로 버튼, 텍스트 뷰, 라디오 버튼, 리스트 등과 같이 GUI를 구성하는 요소이다.
안드로이드의 위젯은 뷰(View)라고 하는 클래스를 상속하는데, 이 뷰라고 하는 것이 화면에 보여주기 위한 모든 것의 근간이 되는 클래스이다.

9월 21일 이론

  • 뷰(View) 클래스
  • 텍스트 뷰
  • Java 코드에서 속성 설정
  • 버튼과 에디트 텍스트
  • 컴파운드 버튼

9월 24일 실습

  • 버튼과 에디트 텍스트
  • 직접 풀어보기 4-3

10월 1일 실습

  • 이미지뷰와 이미지버튼
  • 직접 풀어보기 4-4

2015년 9월 18일 금요일

2015년 9월 13일 일요일

모바일 프로그래밍(9월 14일, 17일) - 처음으로 만드는 안드로이드 앱

교재 2장, 처음으로 만드는 안드로이드 애플리케이션

14일 이론 수업 요약


17일 실습 수업

2015년 9월 10일 목요일

실습실 변경

모바일 프로그래밍, 임베디드 시스템 모두 실습실을 305호에서 102호로 변경합니다.

2015년 9월 7일 월요일

모바일 프로그래밍(9월 10일) - 개발 환경과 GitHub

학교 실습실에는 개발 환경 설치는 이미 다 되어 있으므로 별로 할 것은 없습니다.

GitHub 계정을 만들고 프로젝트를 GitHub에 올려서 버전 컨트롤 하는 방법을 실습 합시다.

GitHub에 대해서는 아래 링크에서 공부 하세요.
http://backlogtool.com/git-guide/kr/

실습할 내용은 아래 PPT를 참고 (*인쇄할만한 내용이 아니니 그냥 온라인으로만 보세요)

Do it! 안드로이드 앱 프로그래밍(개정 2판-롤리팝) 2015년

수업 시간 내용만으로 부족하다...
다른 책으로도 공부해보고 싶다...

정재곤 Do it! 안드로이드 앱 프로그래밍 책을 추천합니다.
추천 이유: 동영상 강의가 있어서


2015년 9월 3일 목요일

모바일 프로그래밍(9월7일, 10일) - 안드로이드 개요와 개발환경 구축


안드로이드 개요와 개발환경 구축

안드로이드 개요,개발환경 구축에 대해 설명해주는 수 많은 웹 사이트, 블로그가 존재합니다.

개발 환경 설치에 대한 이야기

안드로이드 개발 환경은 Eclipse와 Android Studio가 있습니다만, Android Studio가 공식 개발 환경이므로 이걸로 수업을 합니다. 설치 방법은 강의 자료에도 나오고 아래와 같이 친절한 분의 블로그에서도 확인할 수 가 있습니다. 윈도우용 기준입니다.


위의 블로그 내용이 절대적인 것은 아니므로 그냥 참고 삼아 보세요.
(* 안드로이드 개발을 위해서 Java는 필수입니다. 먼저 설치하고 안드로이드 스튜디오 설치하세요.)

안드로이드 스튜디오에서 SDK Manager를 실행해보세요. 
(메뉴 Tools > Android > SDK Manager) 
SDK는 가장 최신 것만 설치하면 됩니다(이미 스튜디오 설치할 때 되어 있을거에요). 그리고 Android Support Library 하나만 추가로 설치하세요.

안드로이드 에뮬레이터 실행하는데 스튜디오 창에
hax is not working and emulator runs in emulation mode 이런 메시지를 보았다면...
Intel HAXM을 설치하세요.  Intel HAXM

강의 자료는 교재를 구매한 수강생들만 별도의 경로로(출판사에서 배포하면 안된다고 하니)...