SlideShare uma empresa Scribd logo
1 de 21
The Ultimate Android Lock Screen Alberto Fonseca Founder -
Agenda What is GOTO? Feature Overview Demo Lessons Learned Q&A Copyright © 2010 InnoWeb Tech, LLC
What is GOTO? Copyright © 2010 InnoWeb Tech, LLC Android 1.5
What is GOTO? Copyright © 2010 InnoWeb Tech, LLC Android 2.0
What is GOTO? Copyright © 2010 InnoWeb Tech, LLC GOTO UI
Features Notification Previews App shortcuts Weather Copyright © 2010 InnoWeb Tech, LLC
Features Notification Previews Copyright © 2010 InnoWeb Tech, LLC
Features Notification Previews App shortcuts Copyright © 2010 InnoWeb Tech, LLC
Features Notification Previews App shortcuts Weather Copyright © 2010 InnoWeb Tech, LLC
DEMO Copyright © 2010 InnoWeb Tech, LLC
Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Testing on real hardware Copyright © 2010 InnoWeb Tech, LLC
Lessons Learned Unsupported API’s – Don’t try this at home Maintenance and internal API changes Device implementations not consistent Very time consuming Copyright © 2010 InnoWeb Tech, LLC
Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Copyright © 2010 InnoWeb Tech, LLC http://developer.android.com/resources/dashboard/platform-versions.html Data collected during two weeks ending on August 2, 2010
Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Android Manifest MinSDK version 3 TargetSDK version 8 Reflection Initialization on demand holder pattern Copyright © 2010 InnoWeb Tech, LLC
GoogleAccountsWrapper public abstract classGoogleAccountsWrapper { public staticGoogleAccountsWrappergetInstance() { if (Integer.parseInt(Build.VERSION.SDK) < 5) { returnPreEclair.Holder.instance; } else { returnEclairPlus.Holder.instance; } } public abstract voidinitGMailAccount(Activity activity); //… Copyright © 2010 InnoWeb Tech, LLC
private static class PreEclair extends GoogleAccountsWrapper { private static class Holder { 	private static finalPreEclair instance = new PreEclair(); } /** * Retrieve GMail account info and save it in NotificationInfo * Note: We are relying on an older version of* GoogleLoginServiceHelper linked here via the framework.jar * library and calling it's getAccount() method. */ @Override public voidinitGMailAccount(Activity activity)  { com.google.android.googlelogin.GoogleLoginServiceHelper.getAccount(activity, Goto.REQUEST_GET_ACCOUNT, true); } } Copyright © 2010 InnoWeb Tech, LLC
private static classEclairPlus extends GoogleAccountsWrapper { private static class Holder { 	private static finalEclairPlusinstance = newEclairPlus(); } @Override public voidinitGMailAccount(Activity context)  { AccountManageraccountManager = AccountManager.get(context); Account[] accounts = accountManager.getAccountsByType("com.google"); if (accounts.length > 0) { NotificationInfo.googleAccount= accounts[0].name; } } } } Copyright © 2010 InnoWeb Tech, LLC
// Initialize GMail account info GoogleAccountsWrappergoogleAccounts = GoogleAccountsWrapper.getInstance(); googleAccounts.initGMailAccount(this); Copyright © 2010 InnoWeb Tech, LLC
Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Testing on real hardware Networking with other Android users/devs DeviceAnywhereservice http://www.deviceanywhere.com Copyright © 2010 InnoWeb Tech, LLC
Questions? Copyright © 2010 InnoWeb Tech, LLC
Contact Alberto FonsecaAvailable for consulting/project managementE-mail: afonseca@innowebtech.comBlog: www.innowebtech.com/blogTwitter: @innowebtech GOTOAvailable in the Android MarketplaceWeb: www.gotoandroidapp.com Copyright © 2010 InnoWeb Tech, LLC

Mais conteúdo relacionado

Semelhante a Ultimate Android Lock Screen Features

YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...Jarek Wilkiewicz
 
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Alina Vilk
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialRyan Baxter
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connections Developers
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espressoÉdipo Souza
 
Building Video Applications with YouTube APIs
Building Video Applications with YouTube APIsBuilding Video Applications with YouTube APIs
Building Video Applications with YouTube APIsJarek Wilkiewicz
 
What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017Lizzy Guido (she/her)
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxNgLQun
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011sullis
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil FrameworkEric ShangKuan
 
How to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkHow to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkNguyễn Tuyến
 
Joget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow
 
How to add your own OpenSocial Gadgets to IBM Connections
How to add your own OpenSocial Gadgets to IBM ConnectionsHow to add your own OpenSocial Gadgets to IBM Connections
How to add your own OpenSocial Gadgets to IBM ConnectionsIBM Connections Developers
 
Google analytics
Google analyticsGoogle analytics
Google analyticsSean Tsai
 
Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Aleksander Piotrowski
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysislynneblue
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJSGregor Woiwode
 

Semelhante a Ultimate Android Lock Screen Features (20)

YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
 
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
 
Building Video Applications with YouTube APIs
Building Video Applications with YouTube APIsBuilding Video Applications with YouTube APIs
Building Video Applications with YouTube APIs
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
 
How to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkHow to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu framework
 
Joget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External System
 
How to add your own OpenSocial Gadgets to IBM Connections
How to add your own OpenSocial Gadgets to IBM ConnectionsHow to add your own OpenSocial Gadgets to IBM Connections
How to add your own OpenSocial Gadgets to IBM Connections
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
 
Google analytics
Google analyticsGoogle analytics
Google analytics
 
Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015
 
Study Jam Session 2
Study Jam Session 2Study Jam Session 2
Study Jam Session 2
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysis
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJS
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Ultimate Android Lock Screen Features

  • 1. The Ultimate Android Lock Screen Alberto Fonseca Founder -
  • 2. Agenda What is GOTO? Feature Overview Demo Lessons Learned Q&A Copyright © 2010 InnoWeb Tech, LLC
  • 3. What is GOTO? Copyright © 2010 InnoWeb Tech, LLC Android 1.5
  • 4. What is GOTO? Copyright © 2010 InnoWeb Tech, LLC Android 2.0
  • 5. What is GOTO? Copyright © 2010 InnoWeb Tech, LLC GOTO UI
  • 6. Features Notification Previews App shortcuts Weather Copyright © 2010 InnoWeb Tech, LLC
  • 7. Features Notification Previews Copyright © 2010 InnoWeb Tech, LLC
  • 8. Features Notification Previews App shortcuts Copyright © 2010 InnoWeb Tech, LLC
  • 9. Features Notification Previews App shortcuts Weather Copyright © 2010 InnoWeb Tech, LLC
  • 10. DEMO Copyright © 2010 InnoWeb Tech, LLC
  • 11. Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Testing on real hardware Copyright © 2010 InnoWeb Tech, LLC
  • 12. Lessons Learned Unsupported API’s – Don’t try this at home Maintenance and internal API changes Device implementations not consistent Very time consuming Copyright © 2010 InnoWeb Tech, LLC
  • 13. Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Copyright © 2010 InnoWeb Tech, LLC http://developer.android.com/resources/dashboard/platform-versions.html Data collected during two weeks ending on August 2, 2010
  • 14. Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Android Manifest MinSDK version 3 TargetSDK version 8 Reflection Initialization on demand holder pattern Copyright © 2010 InnoWeb Tech, LLC
  • 15. GoogleAccountsWrapper public abstract classGoogleAccountsWrapper { public staticGoogleAccountsWrappergetInstance() { if (Integer.parseInt(Build.VERSION.SDK) < 5) { returnPreEclair.Holder.instance; } else { returnEclairPlus.Holder.instance; } } public abstract voidinitGMailAccount(Activity activity); //… Copyright © 2010 InnoWeb Tech, LLC
  • 16. private static class PreEclair extends GoogleAccountsWrapper { private static class Holder { private static finalPreEclair instance = new PreEclair(); } /** * Retrieve GMail account info and save it in NotificationInfo * Note: We are relying on an older version of* GoogleLoginServiceHelper linked here via the framework.jar * library and calling it's getAccount() method. */ @Override public voidinitGMailAccount(Activity activity) { com.google.android.googlelogin.GoogleLoginServiceHelper.getAccount(activity, Goto.REQUEST_GET_ACCOUNT, true); } } Copyright © 2010 InnoWeb Tech, LLC
  • 17. private static classEclairPlus extends GoogleAccountsWrapper { private static class Holder { private static finalEclairPlusinstance = newEclairPlus(); } @Override public voidinitGMailAccount(Activity context) { AccountManageraccountManager = AccountManager.get(context); Account[] accounts = accountManager.getAccountsByType("com.google"); if (accounts.length > 0) { NotificationInfo.googleAccount= accounts[0].name; } } } } Copyright © 2010 InnoWeb Tech, LLC
  • 18. // Initialize GMail account info GoogleAccountsWrappergoogleAccounts = GoogleAccountsWrapper.getInstance(); googleAccounts.initGMailAccount(this); Copyright © 2010 InnoWeb Tech, LLC
  • 19. Lessons Learned Unsupported API’s – Don’t try this at home Supporting Android 1.5 – 2.2 Testing on real hardware Networking with other Android users/devs DeviceAnywhereservice http://www.deviceanywhere.com Copyright © 2010 InnoWeb Tech, LLC
  • 20. Questions? Copyright © 2010 InnoWeb Tech, LLC
  • 21. Contact Alberto FonsecaAvailable for consulting/project managementE-mail: afonseca@innowebtech.comBlog: www.innowebtech.com/blogTwitter: @innowebtech GOTOAvailable in the Android MarketplaceWeb: www.gotoandroidapp.com Copyright © 2010 InnoWeb Tech, LLC