• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mono for android
 

Mono for android

on

  • 419 views

 

Statistics

Views

Total Views
419
Views on SlideShare
410
Embed Views
9

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 9

https://twitter.com 9

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mono for android Mono for android Presentation Transcript

    • Mono for Android Developing Androidapplications using C# and .NET Willem Meints @wmeints
    • Agenda Introduction Android Framework App model Java vs. Mono Bindings Runtime Developing Android applications using C# and .NET
    • Android Open Source Mobile OS from Google Hardware made by many – HTC – Samsung Developing Android applications using C# and .NET
    • Android Many manufacturers means – Many user interfaces – Many hardware configurations – Many active OS versions Developing Android applications using C# and .NET
    • Android - Tools Developing Android applications using C# and .NET
    • Introducing Mono for Android Mono for Android is – .NET Runtime for Android – Bindings to Android API’s – Visual Studio 2010 plugin • MonoDevelop also possible Uses all the Android SDK tools under the hood (emulator, adb, etc.) Developing Android applications using C# and .NET
    • Cross Platform Mobile Development - Android
    • Android - Framework Applications Application Framework Libraries & Runtime Linux Kernel Developing Android applications using C# and .NET
    • Android - Framework Applications Linux Kernel Drivers for Application Framework – Display – Camera Libraries & Runtime – WiFi – Audio – Keypad Linux Kernel – Etc. Developing Android applications using C# and .NET
    • Android - Framework Applications Dalvik VM Libraries for Application Framework – Media – SQLite Libraries & Runtime – SSL – OpenGL – WebKit Linux Kernel – Etc. Developing Android applications using C# and .NET
    • Android - Framework Applications Activity Manager Window Manager Application Framework Content Providers Package Manager Libraries & Runtime Location Manager Notification Manager Linux Kernel Telephony Manager Developing Android applications using C# and .NET
    • Android - Framework Applications Home Contacts Application Framework Phone Browser Libraries & Runtime <your app here> Etc. Linux Kernel Developing Android applications using C# and .NET
    • App model - Components Applications consist of several components – Activities – Content Providers – Broadcast Receivers – Services Developing Android applications using C# and .NET
    • App model - Activity lifecycle Activity Initialize Launched layout here onCreate() Restore User navigates to onStart() onRestart() the activity state here onResume() App process comes into the Another activity foreground killed Activity User returns to The activity is no longer visiblerunning the activity Apps with higher state The activitySave is finishing or being onPause() priority need memory here destroyed by the system User navigates to onStop() the activity onDestroy() Activity shut down
    • App model - Intents Intent View View Intent Broadcast Activity Intent Activity Intent Receiver Intent Intent Content Provider Service Developing Android applications using C# and .NET
    • App model - Intents Intents are messages routed through the OS Intents are powerful. They allow: – Components of one application to be used by another – Allows applications to replace core OS functionality Developing Android applications using C# and .NET
    • App model The app model for Mono for Android is the same as for regular Android apps. The behind the scenes however… Cross Platform Mobile Development - Android
    • Mono for Android architecture Android Android. .NET APIs MCW Java.* Bindings * Mono (.NET Runtime) ACW Dalvik (Java Runtime) Linux Kernel Developing Android applications using C# and .NET
    • Java vs. Mono - Callable Wrappers Mono Callable Wrappers (MCW) – Mono  Java – Uses JNI ( Java Native Interface ) Android Callable Wrappers (ACW) – Java  Mono – Uses Mono runtime components Developing Android applications using C# and .NET
    • Cross Platform Mobile Development - Android
    • Mono for Android - Bindings 99,9% of the Android API is bound to .NET – There’s always a few minor details that work different or couldn’t be converted (yet!) Most of the Java API is bound as well. – These are redundant, but necessary to make some of the Android stuff work. Developing Android applications using C# and .NET
    • Mono for Android - Runtime Android apps are optimized using the linker – Users don’t need to install the runtime on their phone. It is included in the package. Please note: – While running in debug, the app is not linked unless you specify that it must be linked – Linking in debug has effect on the debugging capabilities Developing Android applications using C# and .NET
    • Mono for Android - Runtime Need a library that isn’t bound yet? – You can generate them yourself from JAR files. – Project type provided.
    • Some interesting thoughts Mono for Android is C# for the Android platform, which means – You can reuse a lot of code in Windows Phone and Monotouch apps – If you split your code correctly of course. Developing Android applications using C# and .NET
    • Some interesting thoughts UI UI UI Business Logic Device abstraction layer Device Device Device Developing Android applications using C# and .NET
    • Cross Platform Mobile Development - Android
    • Questions? Cross Platform Mobile Development - Android