2013-07-19 이전 활용 예제

Retired DISLab
Swpark (토론 | 기여) 사용자의 2014년 1월 28일 (화) 10:05 버전
(비교) ← 이전 판 | 현재 판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기

목차

Library 파일 Import 방법 설명

media: Library파일Import방법설명.pptx

1) Action Logger 예제

  • 본 예제는 Blackboard에 값을 update하는 방식을 보여드리기 위한 예제입니다.
  • 필요 프로그램 : Blackboard APK
    • Blackboard APK가 실행중일 때만 Action Logger 예제가 동작 가능합니다.
  • 필요 Library : Agent 작성 Library
    • Library 등록 방법은 'Library 파일 Import 방법 설명' 에서 보실 수 있습니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 android:name="mif.blackboard.monitor.BlackboardMonitorApplication" 을 추가해주셔야 합니다.
  • 예제 프로그램
    • Time, Latitude, Longitude, MovingFlag를 입력 가능한 EditText 4개가 존재합니다. 값을 입력하신 후 update를 누르면 Blackboard에 해당 값이 기록됩니다. clear 클릭 시엔 EditText가 모두 빈 칸으로 바뀝니다.
    • 값 변경 시 Blackboard에서 Logcat에 값 변경 메시지를 띄웁니다. 이 때, 기존 값과 같은 값이면 Logcat에 메시지를 띄우지 않습니다.
    • 2.0 미만의 Library를 사용했습니다. 2.0 이상의 Library 사용시 상수값을 BlackboardMonitor 객체가 아닌 BBTags 객체를 사용해주셔야 합니다.
    • media: ActionLogger예제프로젝트.zip
    • media: ActionLogger예제.apk

2) Sample Agent 예제 1, 2

  • 본 예제는 Blackboard에 알림을 받고자 하는 값을 subscribe 하는 방식을 보여드리기 위한 예제입니다. 또한 '3) Card 예제'와 연동됩니다. '3) Card 예제'를 사용하지 않을 시 subscribe 하는 방식만을 확인해주시면 됩니다.
  • 필요 프로그램 : Blackboard APK
    • Blackboard APK가 실행중일 때만 Agent 예제 1,2가 동작 가능합니다.
  • 필요 Library : Agent 작성 Library
    • Library 등록 방법은 'Library 파일 Import 방법 설명' 에서 보실 수 있습니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 android:name="mif.blackboard.monitor.BlackboardMonitorApplication" 을 추가해주셔야 합니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 <receiver android:name="mif.blackboard.monitor.OnCreateCardListener"/> <receiver android:name="mif.blackboard.monitor.OnBlackboardListener"/> 을 추가해주셔야 합니다. (카드 생성용 Agent는 전자만 추가해 주시면 되고, subscribe를 사용하는 Agent는 후자만 등록하시면 됩니다.)
  • 예제 프로그램 1
    • subscribe 기능 관련 내용
      • Time, Latitude, Longitude, MovingFlag를 입력 가능한 EditText 4개가 존재합니다. 값을 입력하신 후 update를 누르면 Blackboard에 해당 값이 기록됩니다. clear 클릭 시엔 EditText가 모두 빈 칸으로 바뀝니다.
      • subscribe Toggle 아래의 4개의 Toggle 버튼을 통해 각각 Time, Latitude, Longitude, MovingFlag에 대한 subscribe(ON) 혹은 unSubscribe(OFF)를 하실 수 있습니다.
      • subscribe 한 값에 대해서는 해당 프로그램 혹은 다른 프로그램(예제 프로그램2 또는 Action Logger)으로 값을 update할 시 변경된 값에 대한 알림을 생성된 Agent객체의 'onNotify'함수를 통해 받으실 수 있습니다.(현재는 Logcat으로 출력하도록 되어 있습니다.)
    • '3) Card 예제'과의 연동 관련 내용
      • 본 예제의 Agent의 이름은 'testWeather' 로써 'testWeather'에 대한 CARD 생성 요청을 받아 'onRequestCard'에서 처리를 합니다. 본 예제는 단순히 "result from testWeather!" 라는 메시지를 CARD 생성 요청을 한 프로그램에게 결과로써 보냅니다.
    • 2.0 미만의 Library를 사용했습니다. 2.0 이상의 Library 사용시 상수값을 BlackboardMonitor 객체가 아닌 BBTags 객체를 사용해주셔야 합니다.
    • media: Agent예제1_프로젝트.zip
    • media: Agent예제1_예제.apk
  • 예제 프로그램 2
    • subscribe 기능 관련 내용
      • 예제 프로그램 1과 동일합니다.
    • '3) Card 예제'과의 연동 관련 내용
      • 본 예제의 Agent의 이름은 'testBus' 로써 'testBus'에 대한 CARD 생성 요청을 받아 'onRequestCard'에서 처리를 합니다. 본 예제는 Blackboard에서 Time, Latitude, Longitude, MovingFlag를 받은 후 ServiceFactory에서 원하는 서비스를 얻어 requestURL 함수를 수행한 후 해당 결과를 'testBus' CARD 생성 요청을 한 프로그램에게 결과로써 보냅니다. 이 때 서비스 부분은 아직 구현되지 않았으며 이후 사용 가능할 예정입니다. 현재는 단순히 입력된 값을 리턴합니다.
    • 2.0 미만의 Library를 사용했습니다. 2.0 이상의 Library 사용시 상수값을 BlackboardMonitor 객체가 아닌 BBTags 객체를 사용해주셔야 합니다.
    • media: Agent예제2_프로젝트.zip
    • media: Agent예제2_예제.apk

3) Card 예제

  • 본 예제는 Card 요청에 따라 Agent에서 데이터를 받는 방식을 보여드리기 위한 예제입니다.
  • 필요 프로그램 : Blackboard APK, '2) Sample Agent 예제 1, 2'의 예제 중 하나 혹은 둘 다
    • Blackboard APK가 실행중일 때만 Action Logger 예제가 동작 가능합니다.
    • '2) Sample Agent 예제 1, 2' 중 적어도 하나가 있어야 CARD 생성에 대한 응답을 들을 수 있습니다.
  • 필요 Library : card 사용 Library
    • Library 등록 방법은 'Library 파일 Import 방법 설명' 에서 보실 수 있습니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 android:name="mif.service.agent.monitor.AgentMonitorApplication" 을 추가해주셔야 합니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 <receiver android:name="mif.service.agent.monitor.AgentMonitorReceiver"/> 을 추가해주셔야 합니다.
  • 예제 프로그램
    • 'testBus' Agent( '2)'의 예제1 )와 'testWeather Agent( '2)'의 예제1 )에게 Card 생성을 요청하는 2개의 버튼이 존재합니다.
    • 생성된 CARD는 onReceiveCard 함수를 통해 받습니다. 현재는 Logcat을 통해 받은 메시지를 볼 수 있도록 되어 있습니다.
    • 2.0 미만의 Library를 사용했습니다. 2.0 이상의 Library 사용시 상수값을 AgentMonitor 객체가 아닌 BBTags 객체를 사용해주셔야 합니다.
    • media: Card예제프로젝트.zip
    • media: Card예제.apk

4) Blackboard에서 데이터 읽기 예제

  • 본 예제는 Blackboard에서 값을 읽는 방식을 보여드리기 위한 예제입니다.
  • 필요 프로그램 : Blackboard APK
    • Blackboard APK가 실행중일 때만 예제가 동작 가능합니다.
  • 필요 Library : Agent 작성 Library
    • Library 등록 방법은 'Library 파일 Import 방법 설명' 에서 보실 수 있습니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 android:name="mif.blackboard.monitor.BlackboardMonitorApplication" 을 추가해주셔야 합니다.
  • 예제 프로그램

5) Blackboard에 새로운 Field를 만들거나 제거하는 예제

  • 본 예제는 Blackboard에 새로운 Field를 만들거나 제거하는 방식을 보여드리기 위한 예제입니다.
  • 필요 프로그램 : Blackboard APK
    • Blackboard APK가 실행중일 때만 예제가 동작 가능합니다.
  • 필요 Library : Agent 작성 Library
    • Library 등록 방법은 'Library 파일 Import 방법 설명' 에서 보실 수 있습니다.
    • 주의 Library 등록 시 AndroidManifest.xml의 Application 항목에 android:name="mif.blackboard.monitor.BlackboardMonitorApplication" 을 추가해주셔야 합니다.
  • 예제 프로그램
    • ObjName, FieldName, Value의세가지 EditText와 4개의 버튼이 존재합니다.
    • ObjName과 FieldName에 값을 쓰시고 createField를 누르시면 BlackBoard에 해당 객체명과 필드명으로 새로운 필드가 생깁니다. (필드가 존재하지 않으면 update, get이 불가능합니다.)
    • 역시 deleteField를 누르시면 해당 필드가 삭제됩니다.
    • Value에 값을 쓰신 후 update를 누르면 ObjName, FieldName에 해당하는 필드에 Value에 쓴 값을 update하고, get을 누르면 값을 얻어옵니다.(Value EditText로 값을 얻어옵니다.)
    • Field가 만들어지거나 삭제되었는지의 판단은 Logcat을 통해 확인하실 수 있습니다. ('mif'로 검색하시면 쉽게 찾아보실 수 있습니다.)
    • deleteField는 해당 필드의 데이터가 없을 경우에만 작동합니다. (데이터가 "" 일 경우)
    • 2.0 버전의 Agent Library를 사용했습니다.
    • media: CreateField예제프로젝트.zip
    • media: CreateField예제.apk
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기