2015년 11월 27일 금요일

임베디드 실습(12월 3일) - Kernel module in RPi2

임베디드 시스템(이론:11월 30일) - 리눅스 디바이스 드라이버 2


  • IOCTL
  • Interrupt Handler

모바일 프로그래밍(이론: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호)


임베디드 시스템 실습(11월 26일) 참고 소스

Web application with Python Flask + Raspberry Pi + ADC/DAC board(yl40)


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일) - Multicore, 리눅스 디바이스 드라이버 1

모바일 프로그래밍 (이론: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

임베디드 시스템 이론(11월 9일) - Networking



2015년 11월 2일 월요일

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


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

임베디드 시스템(11월 2일) 이론 - RTS, RTOS