Skip to content
This repository

A collection of Mono for Android sample projects.

Octocat-spinner-32 AIDLDemo [AIDLDemo] Add input values validation. Bug #9447 October 03, 2013
Octocat-spinner-32 AccelerometerPlay Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ActionBarPullToRefresh [BorderlessButtons] Adding metadata.xml and ammending readme November 11, 2013
Octocat-spinner-32 ActionBarSherlock update ActionBarSherlock binding sample to the latest version 4.4.0. July 30, 2013
Octocat-spinner-32 ActionBarViewPager Fix title, reformat April 15, 2014
Octocat-spinner-32 AdMob Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 AdvancedAppLifecycleDemos Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 AdvancedImmersiveMode Add missing Metadata.xml files for a few new kitkat samples February 25, 2014
Octocat-spinner-32 AnalyticsV2 Add Google Analytics V2 SDK binding sample. June 22, 2013
Octocat-spinner-32 AndroidBeamDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 AndroidMapViewBalloons Just updating the README on a project that used Android Maps V1 (depr… January 09, 2014
Octocat-spinner-32 ApiDemo [ApiDemo] Update README.md and add build requirements March 04, 2014
Octocat-spinner-32 AppRestrictions Add new API-18 sample 'AppRestrictions' August 07, 2013
Octocat-spinner-32 AsyncImageAndroid Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 BasicImmersiveMode [BasicImmersiveMode] Fix build error due to .ds_store file February 26, 2014
Octocat-spinner-32 BasicMediaRouter Add android sample 'BasicMediaRouter' August 15, 2013
Octocat-spinner-32 BluetoothChat Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 BluetoothLeGatt Fix XamBug 16819 due to enum parameter change February 25, 2014
Octocat-spinner-32 BorderlessButtons Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 Button Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 CalendarDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 CameraAppDemo FIxed CameraAppDemo Folder Exists logic January 22, 2014
Octocat-spinner-32 CommonSampleLibrary Add missing Metadata.xml files for a few new kitkat samples February 25, 2014
Octocat-spinner-32 ContactManager Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 Contactables Add new API18 sample Contactables August 06, 2013
Octocat-spinner-32 ContactsProviderDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ContentControls removed duplicate samples February 12, 2013
Octocat-spinner-32 ContentProvider Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 CustomChoiceList Fix for case sensitive filesystem. February 17, 2014
Octocat-spinner-32 DoneBar Add new android sample 'DoneBar' August 08, 2013
Octocat-spinner-32 DynamicTest Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 Example_WorkingWithAudio Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ExportAttribute Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 Facebook Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 FilePickerExample Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 FragmentsWalkthrough Fragments Walkthrough uses the Support library v4 component now (and … February 03, 2014
Octocat-spinner-32 FusedLocationProvider Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLCube-1.0 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLCube Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLDiagnostics-1.0 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLDiagnostics Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLDiagnostics30 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLNativeES20 Resource folder cleanup January 08, 2013
Octocat-spinner-32 GLNativeES30 [GLNativeES30] OpenTK 3.0 version of GLNativeES December 10, 2013
Octocat-spinner-32 GLTriangle20-1.0 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLTriangle20 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GLTriangle30 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GestureBuilder Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 GetMobileNetworkStrength Adding some code comments/code formatting. November 25, 2013
Octocat-spinner-32 GooglePlayServices update to google play services r15. February 18, 2014
Octocat-spinner-32 GraphicsAndAnimation Moved Android-only GraphicsAndAnimation.Android from mobile-samples a… January 08, 2014
Octocat-spinner-32 GridLayoutDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 HelloM4A Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 HelloMultiScreen Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 HelloTabsICS Fix: Orientation Change brakes tabs March 14, 2014
Octocat-spinner-32 HelloWorld Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 HoneycombGallery Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ImageEffects fix filename for case sensitive FS. February 13, 2014
Octocat-spinner-32 JetBoy Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 JniDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 KitKat Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 LabelledSections Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 LiveWallpaperDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 LoadingLargeBitmaps [LoadingLargeBitmaps] Fix xambug #16845 January 02, 2014
Octocat-spinner-32 LocalFiles Add async changes in LocalFiles sample July 24, 2013
Octocat-spinner-32 Location [Location] Add LocationManager.NetworkProvider checking to fix xambug… April 09, 2014
Octocat-spinner-32 ManagedAndroidResourceTest fix ManagedAndoidResourceTest build, no reason to use 3.2 profile. January 29, 2013
Octocat-spinner-32 MapsAndLocationDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 MapsAndLocationDemo_v2 Updated metadata.xml to include IParceable on some more types. March 20, 2014
Octocat-spinner-32 MapsAndLocationDemo_v3 Fixing up a namespace issue. January 13, 2014
Octocat-spinner-32 MapsDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 MonoIO Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 MultiResolution Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 NfcSample Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 NineOldAndroids Add NineOldAndroids binding sample. June 22, 2013
Octocat-spinner-32 NotePad-Mono.Data.Sqlite Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 NotePad Resource folder cleanup January 08, 2013
Octocat-spinner-32 OsmDroidBindingExample Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 PopupMenuDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 RotationDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SPenSdkBinding Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 SanAngeles_NDK Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SanityTests Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SearchableDictionary Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ServiceSamples Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ShareActionProviderDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SimpleWidget Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SkeletonApp Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SlidingMenu Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 Snake Updated sample images March 04, 2014
Octocat-spinner-32 SplashScreen Adding SplashScreen sample. April 04, 2013
Octocat-spinner-32 StandardControls removed duplicate samples February 12, 2013
Octocat-spinner-32 StorageClient Add missing Metadata.xml files for a few new kitkat samples February 25, 2014
Octocat-spinner-32 StorageProvider Add missing Metadata.xml files for a few new kitkat samples February 25, 2014
Octocat-spinner-32 Support4 [Support4] quick crasher fix for FragmentRetainInstance sample. June 19, 2013
Octocat-spinner-32 SvgAndroid Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SwipeToRefresh [SwipeToRefresh] Fix namespace in axml April 09, 2014
Octocat-spinner-32 SwitchDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 SystemUIVisibilityDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 TablesAndCellStyles removed duplicate samples February 12, 2013
Octocat-spinner-32 TextureViewDemo Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 TexturedCube-1.0 Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 TexturedCube Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 TexturedCubeES30-1.0 use mipmaps to speedup rendering, recycle bitmap March 12, 2014
Octocat-spinner-32 UrbanAirship fix file name for case sensitive FS. February 12, 2014
Octocat-spinner-32 ViewPagerIndicator Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 ViewPagerIndicatorBinding Revert "Set TargetFrameworkVersion to 2.3.3." September 19, 2013
Octocat-spinner-32 WebViewJavaScriptInterface Added gallery opt-in to metadata files February 20, 2014
Octocat-spinner-32 .gitignore Setup the MapsAndLocationDemo_V3 sample July 31, 2013
Octocat-spinner-32 README.md updating README with list of tags February 20, 2014
Octocat-spinner-32 Xamarin.Edu.SampleGallery.Core.dll Update sample validator. July 05, 2012
Octocat-spinner-32 build.sh pass arguments to xbuild so that we can easily run /t:Clean. March 11, 2013
Octocat-spinner-32 install-hook.bat Added pre-commit hooks and the Xamarin code sample validator. September 21, 2011
Octocat-spinner-32 install-hook.sh Set executable bit on install-hook.sh. September 27, 2011
Octocat-spinner-32 pre-commit.posix Merge branch 'monodroid-4.1-preview' May 22, 2012
Octocat-spinner-32 pre-commit.windows Merge branch 'monodroid-4.1-preview' May 22, 2012
Octocat-spinner-32 samples.make Many more samples :-) August 16, 2010
Octocat-spinner-32 validate.posix Merge branch 'monodroid-4.1-preview' May 22, 2012
Octocat-spinner-32 validate.windows Fix order of options passed to `find` in scripts. February 17, 2012
Octocat-spinner-32 xbuild.make Add support for ADB_TARGET specification. February 23, 2011
Octocat-spinner-32 xcsv.exe Update sample validator. July 05, 2012
README.md

MonoDroid Samples

This repository contains Mono for Android samples, showing usage of various Android API wrappers from C#.

License

The Apache License 2.0 applies to all samples in this repository.

Copyright 2011 Xamarin Inc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributing

Before adding a sample to the repository, please run either install-hook.bat or install-hook.sh depending on whether you're on Windows or a POSIX system. This will install a Git hook that runs the Xamarin code sample validator before a commit, to ensure that all samples are good to go.

Samples Contribution Guidelines

Galleries

We love samples! Application samples show off our platform and provide a great way for people to learn our stuff. And we even promote them as a first-class feature of the docs site. You can find our two sample galleries here:

Sample GitHub Repositories

These sample galleries are populated by samples in our three sample GitHub repos:

The mobile-samples repository is for samples that are cross-platform.

Sample Requirements

We welcome sample submissions. Please ping Nat or Miguel for repo commit access.

However, because the sample galleries are powered by the github sample repos, each sample needs to have the following things:

  • Screenshots - a folder called Screenshots that has at least one screen shot of the sample (preferably a screen shot for every page or every major functionality piece, people really key off these things). for the xplat samples, the folder should be split into platform folders, e.g. iOS, Android, Windows. see https://github.com/xamarin/mobile-samples/tree/master/Tasky/Screenshots for an example of this.

  • Readme - a README.md file that has the name of the sample, a description, and author attribution. sample here: https://github.com/xamarin/mobile-samples/blob/master/Tasky/README.md

  • Metadata - Finally, it needs a Metadata.xml file (https://github.com/xamarin/mobile-samples/blob/master/Tasky/Metadata.xml) that has some information:

    • ID: a GUID for the sample. you can generate this in MD under Tools menu : Insert GUID. we need this to key between articles and their associated samples

    • IsFullApplication boolean flag (true or false): whether or not this is a full application such as the MWC App, Tasky, etc., or it's just a feature sample, such as, how to use 'x' feature. the basic test here is, if you would submit this to the app store because it's useful, then it's a full app, otherwise it's just a feature sample.

    • Level - Beginning, Intermediate, or Advanced: this is the intended audience level for the sample. only the getting started samples are Beginning, as they are intended for people who are just starting with the platform. most samples are Intermediate, and a few, that dive deep into difficult APIs, should be Advanced.

    • Minimum License Requirement - Starter, Indie, Business, or Enterprise: denotes the license that a user has to have in order to build/run the sample.

    • Tags: a list of relevant tags for the app. These are:

      • User Interface
      • Data
      • Games
      • Graphics (CoreDrawing, Animation, OpenGL...)
      • Media (Video, Sound, recording, photos)
      • Platform Features (Photo Library, Contacts, Calendars, etc.)
      • Device Features (NFC, Accelerometer, Compass, Magnemometer, Bluetooth, RFID)
      • Cloud (Web Services, Networking, etc.)
      • Backgrounding
      • Maps & Location
      • Binding + Interop (Projections)
      • Notifications
      • Touch
      • Getting Started
      • Async
    • SupportedPlatforms: this is only for cross plat samples. It's a comma-separated list, and the valid values are iOS, Android, and Windows.

    • Gallery: This tag must contain a value of true if you want the sample to show up in the samples gallery on the developer portal.

  • Buildable Sln and CSProj file - the project must build and have the appropriate project scaffolding (solution + proj).

A good example of this stuff is here in the drawing sample: https://github.com/xamarin/monotouch-samples/tree/master/Drawing

For a x-platform sample, please see: https://github.com/xamarin/mobile-samples/tree/master/Tasky

GitHub Integration

We integrate tightly with Git to make sure we always provide working samples to our customers. This is achieved through a pre-commit hook that runs before your commit goes through, as well as a post-receive hook on GitHub's end that notifies our samples gallery server when changes go through.

To you, as a sample committer, this means that before you push to the repos, you should run the "install-hook.bat" or "install-hook.sh" (depending on whether you're on Windows or OS X/Linux, respectively). These will install the Git pre-commit hook. Now, whenever you try to make a Git commit, all samples in the repo will be validated. If any sample fails to validate, the commit is aborted; otherwise, your commit goes through and you can go ahead and push.

This strict approach is put in place to ensure that the samples we present to our customers are always in a good state, and to ensure that all samples integrate correctly with the sample gallery (README.md, Metadata.xml, etc). Note that the master branch of each sample repo is what we present to our customers for our stable releases, so they must always Just Work.

Should you wish to invoke validation of samples manually, simply run "validate.windows" or "validate.posix" (again, Windows vs OS X/Linux, respectively). These must be run from a Bash shell (i.e. a terminal on OS X/Linux or the Git Bash terminal on Windows).

If you have any questions, don't hesitate to ask!

Something went wrong with that request. Please try again.