No description, website, or topics provided.
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AnalogClock Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
AsyncAwait Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
Azure [XI] fixed azure samples (#96) Jun 5, 2018
BackgroundLocationDemo Updated Sample. Related to #100 Aug 1, 2018
BluetoothLEExplorer Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
BouncingGame Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
CCAction Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
CCAudioEngine Checked in coin time/fruity falls songs (they're not used in the samp… Apr 17, 2016
CCDrawNode Removed usage of the now-obsolete DrawDot. Feb 19, 2016
CCRenderTexture Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
Camera Remove deprecated samples and old components usage May 24, 2018
CameraMovement3DMG Updated version to 7.0 on 10 samples May 2, 2018
CoinTime Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
ContentControls Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
DataAccess Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
EmbeddedResources fixed available arch (#110) Jan 10, 2019
FruityFalls Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
GLKeysES30 Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
GoneBananas Fixed link to Gone Bananas. Feb 18, 2015
LivePlayer Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
MWC [mwc] remove deprecated sample Nov 13, 2015
ModelRenderingMG Updated version to 7.0 on 10 samples May 2, 2018
ModelsAndVertsMG Updated version to 7.0 on 10 samples May 2, 2018
MonoGameTvOs Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
MultiThreading [multitasking] update android min/target versions (#107) Nov 1, 2018
Notifications [Notifications] Fix ambiguous TaskStackBuilder ref Dec 17, 2018
Phoneword Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
Profiling removing profiler walkthrough sample temporarily. Mar 14, 2017
RazorTodo Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
SharingCode [Shared] add missing example in Android code Jul 6, 2018
SoMA Remove deprecated samples and old components usage May 24, 2018
SpriteSheetDemo Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
StandardControls Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
TablesLists [AndroidListView] Bump compile version and supported Abis Oct 11, 2018
Tasky Changed api versions to remove popup with warning on Android P (#97) Jun 7, 2018
TaskyPortable Updated version to 7.0 on 10 samples May 2, 2018
TaskyPro Remove explicit 'armeabi' refs now that it is deprecated Oct 22, 2018
TestCloud Move the test cloud samples to their new repository. Jan 14, 2015
TexturedCubeES30 Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
TipCalc Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
Touch Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
VisualBasic Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
WCF-Walkthrough Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
WalkingGameMG Updated version to 7.0 on 10 samples May 2, 2018
Weather Set MtouchHttpClientHandler to NSUrlSessionHandler for all samples May 2, 2018
WebServices Update projects with obsolete TargetFrameworkVersions Dec 6, 2018
.gitattributes [WeatherApp] from VS 2017 with .NET Std lib Mar 23, 2018
.gitignore Update .gitignore to exclude .vs directories. Mar 14, 2018
ISSUE_TEMPLATE.md update readme, add templates Jul 26, 2018
LICENSE update readme, add templates Jul 26, 2018
PULL_REQUEST_TEMPLATE.md update readme, add templates Jul 26, 2018
README.md update readme, add templates Jul 26, 2018
Xamarin.Edu.SampleGallery.Core.dll Update sample validator. Jul 5, 2012
install-hook.bat Add hook installers. Nov 27, 2011
install-hook.sh Add hook installers. Nov 27, 2011
mdtool-build Fix invocation of mdtool-build. Nov 24, 2011
pre-commit.posix Fix usage of `find` in some scripts. Feb 17, 2012
pre-commit.windows Fix usage of `find` in some scripts. Feb 17, 2012
validate.posix Fix usage of `find` in some scripts. Feb 17, 2012
validate.windows Fix usage of `find` in some scripts. Feb 17, 2012
xcsv.exe Update sample validator. Jul 5, 2012

README.md

Mobile Samples

This repository contains a number of samples that show how to share code between Xamarin.iOS and Xamarin.Android.

License

See the license file and any additional license information attached to each sample.

Samples Submission Guidelines

This repository welcomes contributions and suggestions. If you want to create a new sample, you need to work with an employee to help bring the new sample into the repository. Start by raising a GitHub issue in this repository that outlines your proposed sample. Please note that samples in the MASTER branch of this repository shouldn't rely on preview or pre-release NuGet packages.

The Xamarin sample gallery is powered by this repository, and therefore each sample needs to comply with the following requirements:

  • Screenshots - a folder called Screenshots that has at least one screen shot of the sample on each platform (preferably a screen shot for every page or every major piece of functionality). For an example of this, see TaskyPro.

  • Readme - a README.md file that has the name of the sample, a description, and author attribution. For an example of this, see TaskyPro.

  • Metadata - a Metadata.xml file that has the following information:

    • ID - a GUID for the sample.

    • IsFullApplication - a boolean value that indicates whether the sample is a full app, which could be submitted to an app store, or a feature sample.

    • Brief - a short description of what the sample does.

    • Level - the intended audience level for the sample: Beginner, Intermediate, or Advanced. Only the getting started samples are Beginner, 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 and run the sample.

    • Tags: a list of relevant tags for the app. See other metadata files for examples.

    • SupportedPlatforms: a comma-separated list of the supported platforms. Valid values are currently iOS, Android, and Windows.

    • Gallery: a boolean value that indicates whether the sample should appear in the Xamarin.Forms sample gallery.

    For an example of a Metadata.xml file, see TaskyPro.

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

This approach ensures that all samples integrate with the Xamarin sample gallery.

If you have any questions, don't hesitate to ask on the Xamarin Forums.

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!

Other samples

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 six sample GitHub repos:

The mobile-samples repository is for samples that are cross-platform. The mac-ios-samples repository is for samples that are Mac/iOS only.