SlideShare a Scribd company logo
1 of 34
Develop Android Application
  with Mono for Android
      Nicko Satria Utama
          Level 100
What is Android
• It is an Operating System derived from Linux
  that is developed by Open Handled Alliance
  led by Google
• Run on Smartphone to Tablet to Netbooks
• It has Apache license 2.0
• Based on Linux kernel 2.6
• Support ARM and x86 Architechture
What is Dalvik VM
• Commonly used Virtual Machine on Android
• Convert from Java byte code to Dalvix
  Executable on installation
• It is installed in the handset.
Mono for Android
• It is developed by Xamarin.
• It is an alternate implementation using Mono
  in Android environment
• It is not installed in the handset.
• It is used by Microsoft and other big vendors
  to develop Android Apps.
• It is a paid license. A trial license will run on
  emulator only.
Mono for Android
• It uses C# as development language
• It uses .NET Base Class Library
• It can be developed using Visual Studio 2010
  or MonoDevelop as an IDE
• The code will compiled into Mono IL
• It can interopt between Dalvik and Mono via
  Mono Callable Wrapper and Android Callable
  Wrapper
Architecture
Architecture
• Mono and Dalvik has access directly and
  independently to Linux so there is no stacking
  between Mono and Dalvik
Mono for Android Interested Feature
• Simple installation compare to use another
  tool.
• Using C# 3.0
• Support SQL Lite
• Consume web service and WCF directly
  through basicHttpBinding
• Can run and debug on Visual Studio 2010
Mono for Android Interested Feature
• Design UI directly using axml (Android XML)
  by drag and drop from Visual Studio 2010
  toolbox
• Simple project assets/artifacts.
• All Mono shared runtime and user assembly
  will be compiled and package into one file.
Mono for Android Performance
• It is faster than using Java.
• It is a bit slower than Java in the startup since
  the size is bigger than Java
• An article for perfomance comparison
  between Dalvik and Mono
  http://www.koushikdutta.com/2009/01/dalvik
  -vs-mono.html
Mono for Android Software
             Requirement
• Windows XP SP2 or latest or Windows Server
  2003 or latest.
• IIS installed for web service or WCF project.
• Visual Studio 2010 at least Professional
  edition with Service Pack 1.
Installation (trial license)
• Goto http://xamarin.com/trial
• Fill it everything and then click Mono for
  Android for Windows.

• It will download setup.exe and then run it
Installation (trial license)
• Just follow the installation wizard
Installation (trial license)
• Just follow the wizard. This screen checks if
  components is installed. VS 2010 instance
  must be turn off
Installation (trial license)
• The required component will be displayed.
Installation (trial license)
• Just follow the wizard. It will download all
  required component.
Installation (trial license)
• After it finished, Please restart the Windows.
  It is useful for setting environments like
  JAVA_HOME or else to be recognized by
  Windows.
Installation Android SDK
• Mono for Android will install some of Android
  SDK from API 8, 10, 12 and 14 in the
  installation with default configuration.
• Developers can download another API for
  another Android target.
Configure Android Virtual Device
• Mono for Android will configure some Android
  Virtual Device with default configuration from
  API 8, 10, 12 and 14
• Developers can make a new Android Virtual
  Device with own configuration.
Creating first project in VS 2010
• Start Visual Studio 2010
• Create a new project type of mono droid. For
  example: Android Application
Creating first project in VS 2010
• Run on debug configuration
Creating first project in VS 2010
• Choose one of started device from the list.
  The developer can start a new device if
  nothing started.
Creating first project in VS 2010
• This is a the display of Android emulator.
Creating first project in VS 2010
• Select a started emulator.
Creating first project in VS 2010
• This is the application inside Android
  emulator.
Creating first project in VS 2010
• Developers can debug directly in VS 2010
Installation Troubleshooting
• Unautorized Access on
  c:usersEmric02AppDataLocalTempMonofor
  Droidinstaller_r20.exe. This file can be
  deleted, Add “Everyone” on temp folder security
  and installation wizard can be started
• Java runtime SE cannot found or already installed.
  The Mono for Android needs specific Java
  runtime SE 6 update 23 at least on x86. Please
  uninstall your Java runtime SE and lets the mono
  for android do the job. After installation is
  succeed, it can be upgrade to latest update.
Installation Troubleshooting
• OS is not recognized or error. It happens on
  Windows 8 Preview or Windows 2012 Server
  RC. Please uninstall or use virtual machine like
  virtualbox or vmware; and install on RTM
  version of Windows.
• Cannot access to android hardware device.
  This error will appear when you use trial. Just
  ignore it.
Development Consideration
• Keep as simple as possible and use variable or
  instance wisely.
• Decrease use of Java/Dalvik specific API since
  it will decrease performance. Find similar
  function/class/method on .NET
Development Consideration
• Your application will package together with
  Mono runtime and make application size
  bigger than Java/Dalvik. It makes some time to
  load. It can use splash screen to hide it.
Resources
• Mono for Android documentation
  http://docs.xamarin.com/android/getting_star
  ted/Introduction_to_Mono_for_Android
• Mono for Android Community on
  stackoverflow
  http://stackoverflow.com/questions/tagged/m
  onodroid?sort=active
Resources
• Tested performance Dalvik vs Monodroid
http://www.koushikdutta.com/2009/01/dalvik-
vs-mono.html
• Dalvik VM on Google IO 2008 on Youtube
  http://www.youtube.com/watch?v=ptjedOZEX
  PM
• Xamarin channel on Youtube
  http://www.youtube.com/user/xamarinhq
Questions?
• Post some questions on
  http://www.stackoverflow.com
THANK YOU

More Related Content

What's hot

Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Svetlin Nakov
 
Xamarin for (not only) Android developers
Xamarin for (not only) Android developersXamarin for (not only) Android developers
Xamarin for (not only) Android developersAleksander Piotrowski
 
Introduction to Android with C# using Xamarin
Introduction to Android with C# using XamarinIntroduction to Android with C# using Xamarin
Introduction to Android with C# using XamarinCraig Dunn
 
Introduction to UWP - Universal Windows Platform Application Development
Introduction to UWP - Universal Windows Platform Application DevelopmentIntroduction to UWP - Universal Windows Platform Application Development
Introduction to UWP - Universal Windows Platform Application DevelopmentLohith Goudagere Nagaraj
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Continuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and AppiumContinuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and AppiumEmergya
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Svetlin Nakov
 
Introduction to universal windows platform(uwp) app development
Introduction to universal windows platform(uwp) app developmentIntroduction to universal windows platform(uwp) app development
Introduction to universal windows platform(uwp) app developmentThilina Wijerathne
 
Universal windows platform - Application development done right
Universal windows platform - Application development done rightUniversal windows platform - Application development done right
Universal windows platform - Application development done rightChristos Matskas
 
Top 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsTop 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsMorten Nielsen
 
React native development with expo
React native development with expoReact native development with expo
React native development with expoSangSun Park
 
Installing And Configuring Java Me Tools
Installing And Configuring Java Me ToolsInstalling And Configuring Java Me Tools
Installing And Configuring Java Me ToolsJussi Pohjolainen
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development OverviewDevGAMM Conference
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Serge van den Oever
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...John Head
 
Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008smancke
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a SnapPaulina Gallo
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrumSyam Sasi
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appiumAmbreen Khan
 

What's hot (20)

Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
 
Xamarin for (not only) Android developers
Xamarin for (not only) Android developersXamarin for (not only) Android developers
Xamarin for (not only) Android developers
 
Introduction to Android with C# using Xamarin
Introduction to Android with C# using XamarinIntroduction to Android with C# using Xamarin
Introduction to Android with C# using Xamarin
 
Introduction to UWP - Universal Windows Platform Application Development
Introduction to UWP - Universal Windows Platform Application DevelopmentIntroduction to UWP - Universal Windows Platform Application Development
Introduction to UWP - Universal Windows Platform Application Development
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Chapter 1 java
Chapter 1 java Chapter 1 java
Chapter 1 java
 
Continuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and AppiumContinuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and Appium
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
 
Introduction to universal windows platform(uwp) app development
Introduction to universal windows platform(uwp) app developmentIntroduction to universal windows platform(uwp) app development
Introduction to universal windows platform(uwp) app development
 
Universal windows platform - Application development done right
Universal windows platform - Application development done rightUniversal windows platform - Application development done right
Universal windows platform - Application development done right
 
Top 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store appsTop 10 Differences between developing Windows Phone and Store apps
Top 10 Differences between developing Windows Phone and Store apps
 
React native development with expo
React native development with expoReact native development with expo
React native development with expo
 
Installing And Configuring Java Me Tools
Installing And Configuring Java Me ToolsInstalling And Configuring Java Me Tools
Installing And Configuring Java Me Tools
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development Overview
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
 
Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appium
 

Similar to Develop android application with mono for android

Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studioAbdul Basit
 
Android app development by abhi android
Android app development by abhi androidAndroid app development by abhi android
Android app development by abhi androidsusijanny
 
Android app development
Android app developmentAndroid app development
Android app developmentAbhishek Saini
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...Pietro F. Maggi
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaNoam Kfir
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)Niraj Solanke
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpointJohnLagman3
 
Learning C# iPad Programming
Learning C# iPad ProgrammingLearning C# iPad Programming
Learning C# iPad ProgrammingRich Helton
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevIan Chen
 

Similar to Develop android application with mono for android (20)

Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studio
 
Android app development by abhi android
Android app development by abhi androidAndroid app development by abhi android
Android app development by abhi android
 
Android app development
Android app developmentAndroid app development
Android app development
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Android app upload
Android app uploadAndroid app upload
Android app upload
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Learning C# iPad Programming
Learning C# iPad ProgrammingLearning C# iPad Programming
Learning C# iPad Programming
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android
AndroidAndroid
Android
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Develop android application with mono for android

  • 1. Develop Android Application with Mono for Android Nicko Satria Utama Level 100
  • 2. What is Android • It is an Operating System derived from Linux that is developed by Open Handled Alliance led by Google • Run on Smartphone to Tablet to Netbooks • It has Apache license 2.0 • Based on Linux kernel 2.6 • Support ARM and x86 Architechture
  • 3. What is Dalvik VM • Commonly used Virtual Machine on Android • Convert from Java byte code to Dalvix Executable on installation • It is installed in the handset.
  • 4. Mono for Android • It is developed by Xamarin. • It is an alternate implementation using Mono in Android environment • It is not installed in the handset. • It is used by Microsoft and other big vendors to develop Android Apps. • It is a paid license. A trial license will run on emulator only.
  • 5. Mono for Android • It uses C# as development language • It uses .NET Base Class Library • It can be developed using Visual Studio 2010 or MonoDevelop as an IDE • The code will compiled into Mono IL • It can interopt between Dalvik and Mono via Mono Callable Wrapper and Android Callable Wrapper
  • 7. Architecture • Mono and Dalvik has access directly and independently to Linux so there is no stacking between Mono and Dalvik
  • 8. Mono for Android Interested Feature • Simple installation compare to use another tool. • Using C# 3.0 • Support SQL Lite • Consume web service and WCF directly through basicHttpBinding • Can run and debug on Visual Studio 2010
  • 9. Mono for Android Interested Feature • Design UI directly using axml (Android XML) by drag and drop from Visual Studio 2010 toolbox • Simple project assets/artifacts. • All Mono shared runtime and user assembly will be compiled and package into one file.
  • 10. Mono for Android Performance • It is faster than using Java. • It is a bit slower than Java in the startup since the size is bigger than Java • An article for perfomance comparison between Dalvik and Mono http://www.koushikdutta.com/2009/01/dalvik -vs-mono.html
  • 11. Mono for Android Software Requirement • Windows XP SP2 or latest or Windows Server 2003 or latest. • IIS installed for web service or WCF project. • Visual Studio 2010 at least Professional edition with Service Pack 1.
  • 12. Installation (trial license) • Goto http://xamarin.com/trial • Fill it everything and then click Mono for Android for Windows. • It will download setup.exe and then run it
  • 13. Installation (trial license) • Just follow the installation wizard
  • 14. Installation (trial license) • Just follow the wizard. This screen checks if components is installed. VS 2010 instance must be turn off
  • 15. Installation (trial license) • The required component will be displayed.
  • 16. Installation (trial license) • Just follow the wizard. It will download all required component.
  • 17. Installation (trial license) • After it finished, Please restart the Windows. It is useful for setting environments like JAVA_HOME or else to be recognized by Windows.
  • 18. Installation Android SDK • Mono for Android will install some of Android SDK from API 8, 10, 12 and 14 in the installation with default configuration. • Developers can download another API for another Android target.
  • 19. Configure Android Virtual Device • Mono for Android will configure some Android Virtual Device with default configuration from API 8, 10, 12 and 14 • Developers can make a new Android Virtual Device with own configuration.
  • 20. Creating first project in VS 2010 • Start Visual Studio 2010 • Create a new project type of mono droid. For example: Android Application
  • 21. Creating first project in VS 2010 • Run on debug configuration
  • 22. Creating first project in VS 2010 • Choose one of started device from the list. The developer can start a new device if nothing started.
  • 23. Creating first project in VS 2010 • This is a the display of Android emulator.
  • 24. Creating first project in VS 2010 • Select a started emulator.
  • 25. Creating first project in VS 2010 • This is the application inside Android emulator.
  • 26. Creating first project in VS 2010 • Developers can debug directly in VS 2010
  • 27. Installation Troubleshooting • Unautorized Access on c:usersEmric02AppDataLocalTempMonofor Droidinstaller_r20.exe. This file can be deleted, Add “Everyone” on temp folder security and installation wizard can be started • Java runtime SE cannot found or already installed. The Mono for Android needs specific Java runtime SE 6 update 23 at least on x86. Please uninstall your Java runtime SE and lets the mono for android do the job. After installation is succeed, it can be upgrade to latest update.
  • 28. Installation Troubleshooting • OS is not recognized or error. It happens on Windows 8 Preview or Windows 2012 Server RC. Please uninstall or use virtual machine like virtualbox or vmware; and install on RTM version of Windows. • Cannot access to android hardware device. This error will appear when you use trial. Just ignore it.
  • 29. Development Consideration • Keep as simple as possible and use variable or instance wisely. • Decrease use of Java/Dalvik specific API since it will decrease performance. Find similar function/class/method on .NET
  • 30. Development Consideration • Your application will package together with Mono runtime and make application size bigger than Java/Dalvik. It makes some time to load. It can use splash screen to hide it.
  • 31. Resources • Mono for Android documentation http://docs.xamarin.com/android/getting_star ted/Introduction_to_Mono_for_Android • Mono for Android Community on stackoverflow http://stackoverflow.com/questions/tagged/m onodroid?sort=active
  • 32. Resources • Tested performance Dalvik vs Monodroid http://www.koushikdutta.com/2009/01/dalvik- vs-mono.html • Dalvik VM on Google IO 2008 on Youtube http://www.youtube.com/watch?v=ptjedOZEX PM • Xamarin channel on Youtube http://www.youtube.com/user/xamarinhq
  • 33. Questions? • Post some questions on http://www.stackoverflow.com