SlideShare a Scribd company logo
Using Google Datastore for
Android apps
Gaurang Kanvinde
(gaurang.kanvinde@drawtyme.com)
An example of how Google Datastore
was used for DrawTyme
(http://drawty.me/ua44g)
+
22-Mar-2014 2©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Overview of Google Datastore
• Non-relational database
• Cloud based
• Ready to use
• Requires Google App Engine and Google Endpoints
– Very inexpensive and simple to use
– Can be programmed in many languages – Java, Python, etc
– Extensive documentation available
22-Mar-2014 3©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
The Development Environment
• Eclipse for Java EE - Download and install
• Google Plugin for Eclipse – Instructions to install
22-Mar-2014 4©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Setting up Google App Engine
• Create a project on Google App Engine - Link to Console
• Remember it’s Project-ID
22-Mar-2014 5©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
The nuts and bolts
• Two main directories
– src
• Contains all the code of the app
– war
• Contains a sub-directory named WEB-INF
– Contains the compiled binaries of the code in “src”
– Contains other dependencies
– Everything else that goes into the app
• Contents of this directory will be deployed to the Google App Engine
– index.html (if any, will go here)
• Code available at: DrawTymeExample.zip
22-Mar-2014 6©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Understanding the code
• The Video class
22-Mar-2014 7©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Writing the API
• Defining the API class with @Api annotation
22-Mar-2014 8©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Writing the API
• Adding authenticated methods
22-Mar-2014 9©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Writing the API
• Adding unauthenticated methods
22-Mar-2014 10©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Preparing to Deploy
• Write app-ID of your project in war/WEB-INF/appengine-
web.xml
22-Mar-2014 11©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Setting up Datastore Indexes
• war/WEB-INF/datastore-indexes.xml
– If you get the contents of this file wrong, Google App Engine suggests
the correct content for you!
22-Mar-2014 12©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
A quick peek at the Web-app
• war/js/backend.js
– Initialising the API
22-Mar-2014 13©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
A quick peek at the Web-app
• war/js/backend.js
– Calling API functions
22-Mar-2014 14©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Deploying to App Engine
• Use Google Plugin button
– Deploy to App Engine
– Sign-in to the App Engine is required
22-Mar-2014 15©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
It works!
22-Mar-2014 16©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Porting to Android
• AppEngine SDK has all the tools!
– Use endpoints.cmd or endpoints.sh
• Eg: $PATH_TO_SDK/bin/endpoints.cmd get-client-lib 
com.example.api.classname
– Android code will be generated and stored in myapi-v1-java.zip
22-Mar-2014 17©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
Locating the Android code for Endpoints
22-Mar-2014 18©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved
And we are done!
• Have fun using Google App Engine!
• Contact me
Gaurang.kanvinde@drawtyme.com
Twitter: @gaurangrk
• DrawTyme
http://www.drawtyme.com
Twitter: @drawtyme
Facebook: https://www.facebook.com/drawtyme
Blog: http://blog.drawtyme.com

More Related Content

Viewers also liked

Coding for modern UI - BlrDroid
Coding for modern UI  - BlrDroidCoding for modern UI  - BlrDroid
Coding for modern UI - BlrDroid
BlrDroid
 
June 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on AndroidJune 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on Android
BlrDroid
 
July2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar somaJuly2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar soma
BlrDroid
 
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal KabraJuly 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
BlrDroid
 
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit SanjeevPost I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
BlrDroid
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech Session
BlrDroid
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
BlrDroid
 
Android Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android ApplicationsAndroid Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android Applications
BlrDroid
 

Viewers also liked (8)

Coding for modern UI - BlrDroid
Coding for modern UI  - BlrDroidCoding for modern UI  - BlrDroid
Coding for modern UI - BlrDroid
 
June 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on AndroidJune 2014 - Building Rabbit MQ based chat on Android
June 2014 - Building Rabbit MQ based chat on Android
 
July2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar somaJuly2013 Meetup : App Store Optimization - Shankar soma
July2013 Meetup : App Store Optimization - Shankar soma
 
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal KabraJuly 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
July 2013 Meetup : Introduction To App Publish - Ujjwal Kabra
 
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit SanjeevPost I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
Post I/O 2014 Meetup : Google I/O '14 recap- Amrit Sanjeev
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech Session
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
 
Android Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android ApplicationsAndroid Security - Common Security Pitfalls in Android Applications
Android Security - Common Security Pitfalls in Android Applications
 

Similar to March 2014 Meetup Baug Android and Google App Engine

Android Mobile Development Course
Android Mobile Development Course Android Mobile Development Course
Android Mobile Development Course
RMS Software Technologies
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
samuel segal
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
Ahmed Elharouny
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
samuel segal
 
Salesforce.com Training Course Agenda
Salesforce.com Training Course AgendaSalesforce.com Training Course Agenda
Salesforce.com Training Course Agenda
RMS Software Technologies
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
Chakkrit (Kla) Tantithamthavorn
 
Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2
Olivier Eeckhoutte
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
SakshiThorat29
 
Performance Testing of Large-scale Systems- Impetus Webinar
Performance Testing of Large-scale Systems- Impetus WebinarPerformance Testing of Large-scale Systems- Impetus Webinar
Performance Testing of Large-scale Systems- Impetus Webinar
Impetus Technologies
 
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous DeploymentMaking the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
Ethan Ram
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
Proven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testersProven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testers
Perfecto Mobile
 
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
Impetus Technologies
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
Cloud Technology Experts
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache Geode
John Blum
 
Advanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamicsAdvanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamics
Todd Radel
 
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Apigee | Google Cloud
 
Introduction to AngularJs
Introduction to AngularJsIntroduction to AngularJs
Introduction to AngularJs
Ahmed Elharouny
 
Android Technology – Packaging and Life cycles
Android Technology – Packaging and Life cyclesAndroid Technology – Packaging and Life cycles
Android Technology – Packaging and Life cycles
Prateek Aggarwal
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppDynamics
 

Similar to March 2014 Meetup Baug Android and Google App Engine (20)

Android Mobile Development Course
Android Mobile Development Course Android Mobile Development Course
Android Mobile Development Course
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
Salesforce.com Training Course Agenda
Salesforce.com Training Course AgendaSalesforce.com Training Course Agenda
Salesforce.com Training Course Agenda
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
 
Performance Testing of Large-scale Systems- Impetus Webinar
Performance Testing of Large-scale Systems- Impetus WebinarPerformance Testing of Large-scale Systems- Impetus Webinar
Performance Testing of Large-scale Systems- Impetus Webinar
 
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous DeploymentMaking the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Proven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testersProven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testers
 
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
Deriving Intelligence from Large Data - Hadoop implementation and Applying An...
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache Geode
 
Advanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamicsAdvanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamics
 
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127
 
Introduction to AngularJs
Introduction to AngularJsIntroduction to AngularJs
Introduction to AngularJs
 
Android Technology – Packaging and Life cycles
Android Technology – Packaging and Life cyclesAndroid Technology – Packaging and Life cycles
Android Technology – Packaging and Life cycles
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
 

More from BlrDroid

June 2014 - Android wear
June 2014 - Android wearJune 2014 - Android wear
June 2014 - Android wear
BlrDroid
 
June 2014 - IPC in android
June 2014 - IPC in androidJune 2014 - IPC in android
June 2014 - IPC in android
BlrDroid
 
June2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & SenthilJune2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & Senthil
BlrDroid
 
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
BlrDroid
 
IO13 Recap
IO13 RecapIO13 Recap
IO13 Recap
BlrDroid
 
IO13 : What it means to the users
IO13 : What it means to the usersIO13 : What it means to the users
IO13 : What it means to the users
BlrDroid
 
Rich Media Mobile Ads - BlrDroid
Rich Media Mobile Ads - BlrDroidRich Media Mobile Ads - BlrDroid
Rich Media Mobile Ads - BlrDroid
BlrDroid
 
Appacitive Presentation - BlrDroid 17th Meetup
Appacitive Presentation - BlrDroid 17th MeetupAppacitive Presentation - BlrDroid 17th Meetup
Appacitive Presentation - BlrDroid 17th Meetup
BlrDroid
 
VSERV App wrapper
VSERV App wrapperVSERV App wrapper
VSERV App wrapper
BlrDroid
 
Blrdroid
BlrdroidBlrdroid
Blrdroid
BlrDroid
 

More from BlrDroid (10)

June 2014 - Android wear
June 2014 - Android wearJune 2014 - Android wear
June 2014 - Android wear
 
June 2014 - IPC in android
June 2014 - IPC in androidJune 2014 - IPC in android
June 2014 - IPC in android
 
June2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & SenthilJune2013 Meetup : In-App Billing by Soham & Senthil
June2013 Meetup : In-App Billing by Soham & Senthil
 
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
June2013 Meetup : IO13 Deep Dive-Location_api_AmritSanjeev
 
IO13 Recap
IO13 RecapIO13 Recap
IO13 Recap
 
IO13 : What it means to the users
IO13 : What it means to the usersIO13 : What it means to the users
IO13 : What it means to the users
 
Rich Media Mobile Ads - BlrDroid
Rich Media Mobile Ads - BlrDroidRich Media Mobile Ads - BlrDroid
Rich Media Mobile Ads - BlrDroid
 
Appacitive Presentation - BlrDroid 17th Meetup
Appacitive Presentation - BlrDroid 17th MeetupAppacitive Presentation - BlrDroid 17th Meetup
Appacitive Presentation - BlrDroid 17th Meetup
 
VSERV App wrapper
VSERV App wrapperVSERV App wrapper
VSERV App wrapper
 
Blrdroid
BlrdroidBlrdroid
Blrdroid
 

Recently uploaded

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
Tobias Schneck
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 

Recently uploaded (20)

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 

March 2014 Meetup Baug Android and Google App Engine

  • 1. Using Google Datastore for Android apps Gaurang Kanvinde (gaurang.kanvinde@drawtyme.com) An example of how Google Datastore was used for DrawTyme (http://drawty.me/ua44g) +
  • 2. 22-Mar-2014 2©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Overview of Google Datastore • Non-relational database • Cloud based • Ready to use • Requires Google App Engine and Google Endpoints – Very inexpensive and simple to use – Can be programmed in many languages – Java, Python, etc – Extensive documentation available
  • 3. 22-Mar-2014 3©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved The Development Environment • Eclipse for Java EE - Download and install • Google Plugin for Eclipse – Instructions to install
  • 4. 22-Mar-2014 4©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Setting up Google App Engine • Create a project on Google App Engine - Link to Console • Remember it’s Project-ID
  • 5. 22-Mar-2014 5©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved The nuts and bolts • Two main directories – src • Contains all the code of the app – war • Contains a sub-directory named WEB-INF – Contains the compiled binaries of the code in “src” – Contains other dependencies – Everything else that goes into the app • Contents of this directory will be deployed to the Google App Engine – index.html (if any, will go here) • Code available at: DrawTymeExample.zip
  • 6. 22-Mar-2014 6©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Understanding the code • The Video class
  • 7. 22-Mar-2014 7©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Writing the API • Defining the API class with @Api annotation
  • 8. 22-Mar-2014 8©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Writing the API • Adding authenticated methods
  • 9. 22-Mar-2014 9©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Writing the API • Adding unauthenticated methods
  • 10. 22-Mar-2014 10©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Preparing to Deploy • Write app-ID of your project in war/WEB-INF/appengine- web.xml
  • 11. 22-Mar-2014 11©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Setting up Datastore Indexes • war/WEB-INF/datastore-indexes.xml – If you get the contents of this file wrong, Google App Engine suggests the correct content for you!
  • 12. 22-Mar-2014 12©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved A quick peek at the Web-app • war/js/backend.js – Initialising the API
  • 13. 22-Mar-2014 13©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved A quick peek at the Web-app • war/js/backend.js – Calling API functions
  • 14. 22-Mar-2014 14©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Deploying to App Engine • Use Google Plugin button – Deploy to App Engine – Sign-in to the App Engine is required
  • 15. 22-Mar-2014 15©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved It works!
  • 16. 22-Mar-2014 16©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Porting to Android • AppEngine SDK has all the tools! – Use endpoints.cmd or endpoints.sh • Eg: $PATH_TO_SDK/bin/endpoints.cmd get-client-lib com.example.api.classname – Android code will be generated and stored in myapi-v1-java.zip
  • 17. 22-Mar-2014 17©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved Locating the Android code for Endpoints
  • 18. 22-Mar-2014 18©2014 DrawTyme Technologies Pvt. Ltd., All rights reserved And we are done! • Have fun using Google App Engine! • Contact me Gaurang.kanvinde@drawtyme.com Twitter: @gaurangrk • DrawTyme http://www.drawtyme.com Twitter: @drawtyme Facebook: https://www.facebook.com/drawtyme Blog: http://blog.drawtyme.com