SlideShare a Scribd company logo
1 of 28
Download to read offline
Google Fit
FiNC.Inc Yuki Nanri
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
Introduction
• Yuki Nanri (@neonankiti)
• Bison
• FiNC Android Developer
What is FiNC
Digital Healthcare Company
We have various specialists
such as doctors, pharmacists,
personal trainers,
nutritionists, researchers, and
engineers
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
What you can learn today
Whole Picture of Google Fit
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
What is Google Fit
The Healthcare Platform Sharing Data Through APIs
• aggregates Any Kind of Healthcare Data
• shares Them with APIs
• can Access from Multiple Platforms
• keeps Some Records automatically
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
How Google Fit Works
reference: https://developers.google.com/fit/overview
Components
• The Fitness Store
• The Sensor Framework
• Permissions and User Controls
• Google Fit APIs
Main Components of Google Fit
Points of Today
Focus on Fitness APIs
reference: https://developers.google.com/fit/android/
• Sensor API
• Record API
• History API
• Session API
• Others(BLE, Config APIs)
Before Discussing APIs
There are 3 Fitness Data Types
• Public Data Types
• Private Custom Data Types
• Shareable Data Types
Fitness APIs
Sensor API
reference: https://developers.google.com/fit/android/
• read Raw Sensor in Real Time
• list Data Sources
• use Listeners
Fitness APIs
reference: https://developers.google.com/fit/android/
• store Data of Sensor by Subscriptions.
• use Multiple Subscriptions at the same time
• the Data Stored will be Here Used from History API
Record API
Fitness APIs
reference: https://developers.google.com/fit/android/
• can Use Reading, Inserting and Deleting Data
• can Use Synchronously and Asynchronously
• arrange Period Freely
History API
Fitness APIs
Session API
reference: https://developers.google.com/fit/android/
• create Session with Record API
• read Fitness Data Using Session
• show Sessions in Other Apps
• use Session Broadcast Intents
Preparation
reference: https://developers.google.com/fit/android/
• Install Google Play Services
• Get a Google Account
• Create an OAuth Client ID
• Register the Public Certificate
• Add Google Play Service in Build Gradle
• Enjoy Fit APIs !!
All You Have to Do is
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
Use Case in FiNC
Many Tasks that Logs Users Health
Weight Sleeping Time Food
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
Steps
Step2 Use Location API
Step1 Create Google API Client
• add API Types
• add Scopes(Permission)
• add Callbacks
Step1 Create Google API Client
private void buildFitnessClient() {

mClient = new GoogleApiClient.Builder(this)

// can add multiple api types

.addApi(Fitness.SENSORS_API)

.addApi(Fitness.RECORDING_API)

.addApi(Fitness.HISTORY_API)

// can add multiple scopes

.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))

.addScope(new Scope(Scopes.FITNESS_LOCATION_READ))

.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))

.addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE))

//

.addConnectionCallbacks(

new GoogleApiClient.ConnectionCallbacks() {



@Override

public void onConnected(Bundle bundle) {

Log.i(TAG, "Connected!!!");

// use fitness apis freely!!

}



@Override

public void onConnectionSuspended(int i) {

}

}

)

.addOnConnectionFailedListener(

new GoogleApiClient.OnConnectionFailedListener() {

// Called whenever the API client fails to connect.

@Override

public void onConnectionFailed(ConnectionResult result) {

}

}

)

.build();

}

Step2 Use Location API
Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()

// at least one datatype must be specified.

.setDataTypes(DataType.TYPE_LOCATION_SAMPLE)

.setDataSourceTypes(DataSource.TYPE_RAW)

.build())

.setResultCallback(new ResultCallback<DataSourcesResult>() {

@Override

public void onResult(DataSourcesResult dataSourcesResult) {


for (DataSource dataSource : dataSourcesResult.getDataSources()) {

Log.i(TAG, "Data source found: " + dataSource.toString());

Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());



if (dataSource.getDataType().equals(DataType.TYPE_LOCATION_SAMPLE)

&& mListener == null) {

Log.i(TAG, "Data source for LOCATION_SAMPLE found! Registering.");

registerFitnessDataListener(dataSource, DataType.TYPE_LOCATION_SAMPLE);

}

}


}

});
Step2 Use Location API
private OnDataPointListener mListener;
private float latitude, longitude, altitude, accuracy;


private void registerFitnessDataListener(DataSource dataSource, DataType dataType) {

mListener = new OnDataPointListener() {

@Override

public void onDataPoint(DataPoint dataPoint) {

for (Field field : dataPoint.getDataType().getFields()) {

final Value val = dataPoint.getValue(field);

Log.i(TAG, "Detected DataPoint field: " + field.getName());

Log.i(TAG, "Detected DataPoint value: " + val);

switch (field.getName()) {

case "latitude":

latitude = val.asFloat();

break;

case "longitude":

longitude = val.asFloat();

break;

case "altitude":

altitude = val.asFloat();

break;

case "accuracy":

accuracy = val.asFloat();

break;

}

}

runOnUiThread(new Runnable() {

@Override

public void run() {

latitudeView.setText(String.valueOf(latitude));

longitudeView.setText(String.valueOf(longitude));

altitudeView.setText(String.valueOf(altitude));

accuracyView.setText(String.valueOf(accuracy));

}

});

}

};

//register listener
Introduction
What you can learn today
What is Google Fit
How Google Fit works
Use Case in FiNC
Implementation
Recruitment
Recruitment
・Good knowledge of Android Application
・Strong Coding Skills and Computer Science
 Fundamentals
・Experience Shipping Products
ç
FiNC.Inc Yuki Nanri
Thank You

More Related Content

What's hot

DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...confluent
 
Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips SAP Technology
 
Unlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with ConfluentUnlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with ConfluentAaronLieberman5
 
Kubernetes Installation on Ubuntu | Edureka
Kubernetes Installation on Ubuntu | EdurekaKubernetes Installation on Ubuntu | Edureka
Kubernetes Installation on Ubuntu | EdurekaEdureka!
 
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...HostedbyConfluent
 
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaEdureka!
 
Uber: Kafka Consumer Proxy
Uber: Kafka Consumer ProxyUber: Kafka Consumer Proxy
Uber: Kafka Consumer Proxyconfluent
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchpmanvi
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛Edward Kuo
 
Cloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft AzureCloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft AzureGuillermo Zepeda Selman
 
Analyzing OS X Systems Performance with the USE Method
Analyzing OS X Systems Performance with the USE MethodAnalyzing OS X Systems Performance with the USE Method
Analyzing OS X Systems Performance with the USE MethodBrendan Gregg
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overviewsidneel
 

What's hot (20)

DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
 
Hasura
HasuraHasura
Hasura
 
Distributed Tracing
Distributed TracingDistributed Tracing
Distributed Tracing
 
Jakarta EE 8 on JDK17
Jakarta EE 8 on JDK17Jakarta EE 8 on JDK17
Jakarta EE 8 on JDK17
 
Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips
 
SDN Abstractions
SDN AbstractionsSDN Abstractions
SDN Abstractions
 
Unlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with ConfluentUnlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with Confluent
 
Kubernetes Installation on Ubuntu | Edureka
Kubernetes Installation on Ubuntu | EdurekaKubernetes Installation on Ubuntu | Edureka
Kubernetes Installation on Ubuntu | Edureka
 
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...
Real-time Adaptation of Financial Market Events with Kafka | Cliff Cheng and ...
 
Tungsten Fabric and DPDK vRouter Architecture
Tungsten Fabric and DPDK vRouter ArchitectureTungsten Fabric and DPDK vRouter Architecture
Tungsten Fabric and DPDK vRouter Architecture
 
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
 
Uber: Kafka Consumer Proxy
Uber: Kafka Consumer ProxyUber: Kafka Consumer Proxy
Uber: Kafka Consumer Proxy
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Cloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft AzureCloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft Azure
 
Analyzing OS X Systems Performance with the USE Method
Analyzing OS X Systems Performance with the USE MethodAnalyzing OS X Systems Performance with the USE Method
Analyzing OS X Systems Performance with the USE Method
 
ALUA
ALUAALUA
ALUA
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overview
 
EVPN for Cloud Builders
EVPN for Cloud BuildersEVPN for Cloud Builders
EVPN for Cloud Builders
 

Similar to Android Google Fit

Google app engine
Google app engineGoogle app engine
Google app engineRenjith318
 
Fitbit-Final Presentation
Fitbit-Final PresentationFitbit-Final Presentation
Fitbit-Final PresentationAvik Das
 
Integrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsIntegrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsGiles Payne
 
Pearson Mobile App Development
Pearson Mobile App DevelopmentPearson Mobile App Development
Pearson Mobile App Developmentzpinter
 
Exploring the Google Analytics API
Exploring the Google Analytics APIExploring the Google Analytics API
Exploring the Google Analytics APIVanessa Sabino
 
Presentation Day2.pdf
Presentation Day2.pdfPresentation Day2.pdf
Presentation Day2.pdfAlaChihaoui1
 
#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connectpramodvallanur
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 ProposalMatthew Chang
 
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...GITS Indonesia
 
Accidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIAccidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIMarjukka Niinioja
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 RecapVishal Nayak
 
What is new in Firebase?
What is new in Firebase?What is new in Firebase?
What is new in Firebase?Sinan Yılmaz
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
Introduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted ConfIntroduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted ConfIn Marketing We Trust
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowYakov Fain
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 

Similar to Android Google Fit (20)

Google Fit
Google FitGoogle Fit
Google Fit
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Fitbit-Final Presentation
Fitbit-Final PresentationFitbit-Final Presentation
Fitbit-Final Presentation
 
Integrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsIntegrating GoogleFit into Android Apps
Integrating GoogleFit into Android Apps
 
Pearson Mobile App Development
Pearson Mobile App DevelopmentPearson Mobile App Development
Pearson Mobile App Development
 
Exploring the Google Analytics API
Exploring the Google Analytics APIExploring the Google Analytics API
Exploring the Google Analytics API
 
Fire up your mobile app!
Fire up your mobile app!Fire up your mobile app!
Fire up your mobile app!
 
Presentation Day2.pdf
Presentation Day2.pdfPresentation Day2.pdf
Presentation Day2.pdf
 
#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal
 
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
 
Accidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIAccidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new API
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
What is new in Firebase?
What is new in Firebase?What is new in Firebase?
What is new in Firebase?
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Introduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted ConfIntroduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted Conf
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business Workflow
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
Introduction To Google Fit
Introduction To Google FitIntroduction To Google Fit
Introduction To Google Fit
 

Recently uploaded

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Android Google Fit

  • 2. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 3. Introduction • Yuki Nanri (@neonankiti) • Bison • FiNC Android Developer
  • 4. What is FiNC Digital Healthcare Company We have various specialists such as doctors, pharmacists, personal trainers, nutritionists, researchers, and engineers
  • 5. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 6. What you can learn today Whole Picture of Google Fit
  • 7. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 8. What is Google Fit The Healthcare Platform Sharing Data Through APIs • aggregates Any Kind of Healthcare Data • shares Them with APIs • can Access from Multiple Platforms • keeps Some Records automatically
  • 9. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 10. How Google Fit Works reference: https://developers.google.com/fit/overview
  • 11. Components • The Fitness Store • The Sensor Framework • Permissions and User Controls • Google Fit APIs Main Components of Google Fit
  • 12. Points of Today Focus on Fitness APIs reference: https://developers.google.com/fit/android/ • Sensor API • Record API • History API • Session API • Others(BLE, Config APIs)
  • 13. Before Discussing APIs There are 3 Fitness Data Types • Public Data Types • Private Custom Data Types • Shareable Data Types
  • 14. Fitness APIs Sensor API reference: https://developers.google.com/fit/android/ • read Raw Sensor in Real Time • list Data Sources • use Listeners
  • 15. Fitness APIs reference: https://developers.google.com/fit/android/ • store Data of Sensor by Subscriptions. • use Multiple Subscriptions at the same time • the Data Stored will be Here Used from History API Record API
  • 16. Fitness APIs reference: https://developers.google.com/fit/android/ • can Use Reading, Inserting and Deleting Data • can Use Synchronously and Asynchronously • arrange Period Freely History API
  • 17. Fitness APIs Session API reference: https://developers.google.com/fit/android/ • create Session with Record API • read Fitness Data Using Session • show Sessions in Other Apps • use Session Broadcast Intents
  • 18. Preparation reference: https://developers.google.com/fit/android/ • Install Google Play Services • Get a Google Account • Create an OAuth Client ID • Register the Public Certificate • Add Google Play Service in Build Gradle • Enjoy Fit APIs !! All You Have to Do is
  • 19. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 20. Use Case in FiNC Many Tasks that Logs Users Health Weight Sleeping Time Food
  • 21. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 22. Steps Step2 Use Location API Step1 Create Google API Client • add API Types • add Scopes(Permission) • add Callbacks
  • 23. Step1 Create Google API Client private void buildFitnessClient() {
 mClient = new GoogleApiClient.Builder(this)
 // can add multiple api types
 .addApi(Fitness.SENSORS_API)
 .addApi(Fitness.RECORDING_API)
 .addApi(Fitness.HISTORY_API)
 // can add multiple scopes
 .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
 .addScope(new Scope(Scopes.FITNESS_LOCATION_READ))
 .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
 .addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE))
 //
 .addConnectionCallbacks(
 new GoogleApiClient.ConnectionCallbacks() {
 
 @Override
 public void onConnected(Bundle bundle) {
 Log.i(TAG, "Connected!!!");
 // use fitness apis freely!!
 }
 
 @Override
 public void onConnectionSuspended(int i) {
 }
 }
 )
 .addOnConnectionFailedListener(
 new GoogleApiClient.OnConnectionFailedListener() {
 // Called whenever the API client fails to connect.
 @Override
 public void onConnectionFailed(ConnectionResult result) {
 }
 }
 )
 .build();
 }

  • 24. Step2 Use Location API Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
 // at least one datatype must be specified.
 .setDataTypes(DataType.TYPE_LOCATION_SAMPLE)
 .setDataSourceTypes(DataSource.TYPE_RAW)
 .build())
 .setResultCallback(new ResultCallback<DataSourcesResult>() {
 @Override
 public void onResult(DataSourcesResult dataSourcesResult) { 
 for (DataSource dataSource : dataSourcesResult.getDataSources()) {
 Log.i(TAG, "Data source found: " + dataSource.toString());
 Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());
 
 if (dataSource.getDataType().equals(DataType.TYPE_LOCATION_SAMPLE)
 && mListener == null) {
 Log.i(TAG, "Data source for LOCATION_SAMPLE found! Registering.");
 registerFitnessDataListener(dataSource, DataType.TYPE_LOCATION_SAMPLE);
 }
 } 
 }
 });
  • 25. Step2 Use Location API private OnDataPointListener mListener; private float latitude, longitude, altitude, accuracy; 
 private void registerFitnessDataListener(DataSource dataSource, DataType dataType) {
 mListener = new OnDataPointListener() {
 @Override
 public void onDataPoint(DataPoint dataPoint) {
 for (Field field : dataPoint.getDataType().getFields()) {
 final Value val = dataPoint.getValue(field);
 Log.i(TAG, "Detected DataPoint field: " + field.getName());
 Log.i(TAG, "Detected DataPoint value: " + val);
 switch (field.getName()) {
 case "latitude":
 latitude = val.asFloat();
 break;
 case "longitude":
 longitude = val.asFloat();
 break;
 case "altitude":
 altitude = val.asFloat();
 break;
 case "accuracy":
 accuracy = val.asFloat();
 break;
 }
 }
 runOnUiThread(new Runnable() {
 @Override
 public void run() {
 latitudeView.setText(String.valueOf(latitude));
 longitudeView.setText(String.valueOf(longitude));
 altitudeView.setText(String.valueOf(altitude));
 accuracyView.setText(String.valueOf(accuracy));
 }
 });
 }
 };
 //register listener
  • 26. Introduction What you can learn today What is Google Fit How Google Fit works Use Case in FiNC Implementation Recruitment
  • 27. Recruitment ・Good knowledge of Android Application ・Strong Coding Skills and Computer Science  Fundamentals ・Experience Shipping Products