SlideShare a Scribd company logo
1 of 15
Funf
신재명, 오유환, 강미경, 김영호   손영수


      fHalo팀
Who is Funf for?
• API-Level Developers
   – Funf의 내부단을 사용하지 않고 3rd-party 개발자 API만 사용하여서 개발
     할 수 있도록 해준다

• Study Managers/Researchers
   – 센서를 통해 얻는 여러 정보들을 모아서 분석하고 연구하는데 사용한다.

• Core-Level Developers
   – Funf 프레임웍중 원하는 feature를 이용한다. Funf에 없는 새로운 센서를
     추가하거나 기존에 있는 센서측정의 performance를 높인다.

• Self-Tracking
   – Funf Journal 이라는 앱을 통해서 원하는 센서 값만 받아 볼 수 있다. 개인
     적으로 자신의 데이터들을 분석하는데 사용한다.
Key feature
• 수집 데이터를 원격지에 주기적으로 보내도록 설정이 가능하
  다(원격지 서버가 죽으면 로컬로 데이터를 캐싱해두었다가 서
  버가 살아나면 업로드한다)

• 약 15개의 센서정보를 수집가능하다

• One-way hasing 암호화를 통해서 민감한 정보들을 숨긴다(폰
  번호, 이름 등)

• 로컬저장하는 database file은 암호화되어 저장된다

• 약 15개월동안 100명이상의 테스터를 통해 실험하여 프레임웍
  을 검증하였다
Funf 에서 감지가능한 데이터
Funf 에서 감지가능한 데이터
• 각 데이터는 JSON 형태로 수집된다(구글코드위키에 각 센서별 데이
  터 형식 예시와 필요 퍼미션 등을 확인할 수 있다
Funf Journal
• Funf framework를 이용하여 만든 애플리케이션으로 간단하게 원하는
  센서들의 데이터를 수집할 수 있다.
• 수집을 원하는 센서들을 체크하고 주기 등을 설정해 놓으면 된다
• 설정에서 주기적으로 서버나 메일로 데이터를 전송 할 수 있다
Funf Journal
• 수집된 데이터는 *.db 파일이며, 암호화 되어있다.




                         Value 값(JSON형태로 저장)
Funf in a box
• APP 이름과 데이터를 받을 e-mail을 적고 수집하고 싶은 센서와 수집
  주기등을 세팅한 후 생성하면 .apk 파일을 얻을 수 있다
• .apk 파일을 이용해 폰에 설치하면 주기적으로 세팅해 두었던 센서정
  보를 메일로 전송받을 수 있다.
Funf License = LGPL
• LGPL




  – 수정코드 배포시
    •   저작권 표시
    •   No Warranty
    •   LGPL로 배포
    •   소스코드 제공
    •   수정 사실 및 일자
Funf Data Analysis
• 모은 센서데이터를 visualize 하는 예시 프로그램을 제공한다
  (Location, Activity, Battery, Screen on/off, temperature 센서들만)
• 가이드에 있는데로 따라해선 돌아가지 않는다. (센서데이터가 있는
  db파일에서 따로 추출해내서 데이터를 넣어줘야하는것같다)
• 내부코드를 보니 visualization 하는 부분은 google visualization을 사
  용하고 있었다.
Funf 구조
•   .funf.configured : 설정 관리
•   .funf.opp : Object Push Profile 블루투스 통신 프로파일
•   .funf.storage : database 관련 코드
•   .funf.probe : Sensor 정보 가져오기-service
•   .funf : utils 정보
Tutorial
• Assets/default_config.json
   – 센서들의 configuration 정의
   – MainPipeLine이란 class가 여기서 읽어서 세팅한다




• 사용할 서비스와 퍼미션 등록
Tutorial
• 서비스 실행




• Asset 에 정의하지 않고 코드로 정의할 경우
Example
• MainPipeLine.class
   – ConfiguredPipeline을 extends함
   – Configuration file을 읽고 각 센서들이 적절한 데이터 요청을 하게 만드는
     서비스
   – 센서들이 데이터를 반환할 때, 데이터들을 받아서 json으로 serialize하고
     DB에 암호화하여 저장한다.


• LauncherReceiver.class
   – MainPipeLine 서비스가 계속 켜져있도록 유지시켜준다

• JsonUtils.class
   – Gson을 사용하여 serialize된 데이터를 Json으로 변환
   – Gson : Java object  JSON 변환 라이브러리

More Related Content

Viewers also liked

How to charge what you are worth for solo-based businesses
How to charge what you are worth for solo-based businessesHow to charge what you are worth for solo-based businesses
How to charge what you are worth for solo-based businessesJackie B Peterson
 
The BARE Essentials of Digital Marketing by Rich Brooks
The BARE Essentials of Digital Marketing by Rich BrooksThe BARE Essentials of Digital Marketing by Rich Brooks
The BARE Essentials of Digital Marketing by Rich BrooksOrbit Media Studios
 
Gazpacho recipe olmeda origenes best spanish food
Gazpacho recipe olmeda origenes best spanish foodGazpacho recipe olmeda origenes best spanish food
Gazpacho recipe olmeda origenes best spanish foodOlmeda Orígenes
 
LPL_Presentation_-_Q4_2014_-_12_8_14
LPL_Presentation_-_Q4_2014_-_12_8_14LPL_Presentation_-_Q4_2014_-_12_8_14
LPL_Presentation_-_Q4_2014_-_12_8_14Tony Palazzo
 
近年全球天氣反常,我……可以做什麼?
近年全球天氣反常,我……可以做什麼?近年全球天氣反常,我……可以做什麼?
近年全球天氣反常,我……可以做什麼?wellnessclub
 
Social media strategies for PTC
Social media strategies for PTCSocial media strategies for PTC
Social media strategies for PTCmba8500
 
Information Architecture class10 03 20
Information Architecture class10 03 20Information Architecture class10 03 20
Information Architecture class10 03 20Marti Gukeisen
 
Super Powered SEO Tips for Auto Dealers
Super Powered SEO Tips for Auto DealersSuper Powered SEO Tips for Auto Dealers
Super Powered SEO Tips for Auto DealersGreg Gifford
 
FIFA Teams & Their Hotel Demands
FIFA Teams & Their Hotel DemandsFIFA Teams & Their Hotel Demands
FIFA Teams & Their Hotel Demandsixigo.com
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Matt Ray
 
Grafico diario del dax perfomance index para el 12 03-2012
Grafico diario del dax perfomance index para el 12 03-2012Grafico diario del dax perfomance index para el 12 03-2012
Grafico diario del dax perfomance index para el 12 03-2012Experiencia Trading
 
10 ways to improve seo ranking
10 ways to improve seo ranking10 ways to improve seo ranking
10 ways to improve seo rankingMindtree
 
20160426 AIIM16 CIP Preconference Briefing
20160426 AIIM16 CIP Preconference Briefing20160426 AIIM16 CIP Preconference Briefing
20160426 AIIM16 CIP Preconference BriefingJesse Wilkins
 

Viewers also liked (14)

How to charge what you are worth for solo-based businesses
How to charge what you are worth for solo-based businessesHow to charge what you are worth for solo-based businesses
How to charge what you are worth for solo-based businesses
 
Yoshis caanoo emulator_fact_sheets_v03
Yoshis caanoo emulator_fact_sheets_v03Yoshis caanoo emulator_fact_sheets_v03
Yoshis caanoo emulator_fact_sheets_v03
 
The BARE Essentials of Digital Marketing by Rich Brooks
The BARE Essentials of Digital Marketing by Rich BrooksThe BARE Essentials of Digital Marketing by Rich Brooks
The BARE Essentials of Digital Marketing by Rich Brooks
 
Gazpacho recipe olmeda origenes best spanish food
Gazpacho recipe olmeda origenes best spanish foodGazpacho recipe olmeda origenes best spanish food
Gazpacho recipe olmeda origenes best spanish food
 
LPL_Presentation_-_Q4_2014_-_12_8_14
LPL_Presentation_-_Q4_2014_-_12_8_14LPL_Presentation_-_Q4_2014_-_12_8_14
LPL_Presentation_-_Q4_2014_-_12_8_14
 
近年全球天氣反常,我……可以做什麼?
近年全球天氣反常,我……可以做什麼?近年全球天氣反常,我……可以做什麼?
近年全球天氣反常,我……可以做什麼?
 
Social media strategies for PTC
Social media strategies for PTCSocial media strategies for PTC
Social media strategies for PTC
 
Information Architecture class10 03 20
Information Architecture class10 03 20Information Architecture class10 03 20
Information Architecture class10 03 20
 
Super Powered SEO Tips for Auto Dealers
Super Powered SEO Tips for Auto DealersSuper Powered SEO Tips for Auto Dealers
Super Powered SEO Tips for Auto Dealers
 
FIFA Teams & Their Hotel Demands
FIFA Teams & Their Hotel DemandsFIFA Teams & Their Hotel Demands
FIFA Teams & Their Hotel Demands
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014
 
Grafico diario del dax perfomance index para el 12 03-2012
Grafico diario del dax perfomance index para el 12 03-2012Grafico diario del dax perfomance index para el 12 03-2012
Grafico diario del dax perfomance index para el 12 03-2012
 
10 ways to improve seo ranking
10 ways to improve seo ranking10 ways to improve seo ranking
10 ways to improve seo ranking
 
20160426 AIIM16 CIP Preconference Briefing
20160426 AIIM16 CIP Preconference Briefing20160426 AIIM16 CIP Preconference Briefing
20160426 AIIM16 CIP Preconference Briefing
 

Similar to funf - Android Sensing Framework

NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기Jaeseung Ha
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 BOAZ Bigdata
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개Tommy Lee
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
The log based event script (로그기반 이벤트스크립트)
The log based event script (로그기반 이벤트스크립트)The log based event script (로그기반 이벤트스크립트)
The log based event script (로그기반 이벤트스크립트)Jun Hong Kim
 
Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Joon Young Park
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...Jemin Huh
 
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Minkyu Cho
 

Similar to funf - Android Sensing Framework (8)

NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
The log based event script (로그기반 이벤트스크립트)
The log based event script (로그기반 이벤트스크립트)The log based event script (로그기반 이벤트스크립트)
The log based event script (로그기반 이벤트스크립트)
 
Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
 

More from YoungSu Son

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴 YoungSu Son
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningYoungSu Son
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화YoungSu Son
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) YoungSu Son
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)YoungSu Son
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기) YoungSu Son
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 YoungSu Son
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) YoungSu Son
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) YoungSu Son
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 YoungSu Son
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항 YoungSu Son
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법YoungSu Son
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법 YoungSu Son
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 YoungSu Son
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionYoungSu Son
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 

More from YoungSu Son (20)

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + Genymotion
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 

funf - Android Sensing Framework

  • 2. 신재명, 오유환, 강미경, 김영호 손영수 fHalo팀
  • 3. Who is Funf for? • API-Level Developers – Funf의 내부단을 사용하지 않고 3rd-party 개발자 API만 사용하여서 개발 할 수 있도록 해준다 • Study Managers/Researchers – 센서를 통해 얻는 여러 정보들을 모아서 분석하고 연구하는데 사용한다. • Core-Level Developers – Funf 프레임웍중 원하는 feature를 이용한다. Funf에 없는 새로운 센서를 추가하거나 기존에 있는 센서측정의 performance를 높인다. • Self-Tracking – Funf Journal 이라는 앱을 통해서 원하는 센서 값만 받아 볼 수 있다. 개인 적으로 자신의 데이터들을 분석하는데 사용한다.
  • 4. Key feature • 수집 데이터를 원격지에 주기적으로 보내도록 설정이 가능하 다(원격지 서버가 죽으면 로컬로 데이터를 캐싱해두었다가 서 버가 살아나면 업로드한다) • 약 15개의 센서정보를 수집가능하다 • One-way hasing 암호화를 통해서 민감한 정보들을 숨긴다(폰 번호, 이름 등) • 로컬저장하는 database file은 암호화되어 저장된다 • 약 15개월동안 100명이상의 테스터를 통해 실험하여 프레임웍 을 검증하였다
  • 6. Funf 에서 감지가능한 데이터 • 각 데이터는 JSON 형태로 수집된다(구글코드위키에 각 센서별 데이 터 형식 예시와 필요 퍼미션 등을 확인할 수 있다
  • 7. Funf Journal • Funf framework를 이용하여 만든 애플리케이션으로 간단하게 원하는 센서들의 데이터를 수집할 수 있다. • 수집을 원하는 센서들을 체크하고 주기 등을 설정해 놓으면 된다 • 설정에서 주기적으로 서버나 메일로 데이터를 전송 할 수 있다
  • 8. Funf Journal • 수집된 데이터는 *.db 파일이며, 암호화 되어있다. Value 값(JSON형태로 저장)
  • 9. Funf in a box • APP 이름과 데이터를 받을 e-mail을 적고 수집하고 싶은 센서와 수집 주기등을 세팅한 후 생성하면 .apk 파일을 얻을 수 있다 • .apk 파일을 이용해 폰에 설치하면 주기적으로 세팅해 두었던 센서정 보를 메일로 전송받을 수 있다.
  • 10. Funf License = LGPL • LGPL – 수정코드 배포시 • 저작권 표시 • No Warranty • LGPL로 배포 • 소스코드 제공 • 수정 사실 및 일자
  • 11. Funf Data Analysis • 모은 센서데이터를 visualize 하는 예시 프로그램을 제공한다 (Location, Activity, Battery, Screen on/off, temperature 센서들만) • 가이드에 있는데로 따라해선 돌아가지 않는다. (센서데이터가 있는 db파일에서 따로 추출해내서 데이터를 넣어줘야하는것같다) • 내부코드를 보니 visualization 하는 부분은 google visualization을 사 용하고 있었다.
  • 12. Funf 구조 • .funf.configured : 설정 관리 • .funf.opp : Object Push Profile 블루투스 통신 프로파일 • .funf.storage : database 관련 코드 • .funf.probe : Sensor 정보 가져오기-service • .funf : utils 정보
  • 13. Tutorial • Assets/default_config.json – 센서들의 configuration 정의 – MainPipeLine이란 class가 여기서 읽어서 세팅한다 • 사용할 서비스와 퍼미션 등록
  • 14. Tutorial • 서비스 실행 • Asset 에 정의하지 않고 코드로 정의할 경우
  • 15. Example • MainPipeLine.class – ConfiguredPipeline을 extends함 – Configuration file을 읽고 각 센서들이 적절한 데이터 요청을 하게 만드는 서비스 – 센서들이 데이터를 반환할 때, 데이터들을 받아서 json으로 serialize하고 DB에 암호화하여 저장한다. • LauncherReceiver.class – MainPipeLine 서비스가 계속 켜져있도록 유지시켜준다 • JsonUtils.class – Gson을 사용하여 serialize된 데이터를 Json으로 변환 – Gson : Java object  JSON 변환 라이브러리