A collection of Xamarin.Android sample projects.
Перейти к файлу
conceptdev 7f4c5b0e51 onboard missing samples
and remove some from publishing (delete metadata.xml, delete YAML)
2019-08-01 17:26:15 -07:00
.github Added issue template 2017-10-11 16:52:44 -03:00
AIDLDemo Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
AccelerometerPlay update readmes 2019-07-23 14:34:14 -07:00
AccessoryViews header yaml updates 2019-07-29 18:39:21 -07:00
ActionBarPullToRefresh update readmes 2019-07-23 14:34:14 -07:00
ActionBarSherlock [15.6] Updates and additions for API 27 and Xamarin.Android.Support 27.0.2 (#261) 2018-03-06 10:53:52 -05:00
ActionBarViewPager update readmes 2019-07-23 14:34:14 -07:00
ActivityLifecycle update readmes 2019-07-23 14:34:14 -07:00
AdvancedAppLifecycleDemos update readmes 2019-07-23 14:34:14 -07:00
AdvancedImmersiveMode remove hashtags, fix links 2019-07-24 15:35:47 -07:00
AnalyticsV2 Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
AndroidBeamDemo remove hashtags, fix links 2019-07-24 15:35:47 -07:00
AndroidMapViewBalloons Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
AnimationDemo remove hashtags, fix links 2019-07-24 15:35:47 -07:00
ApiDemo onboard missing samples 2019-07-31 16:04:27 -07:00
AppRestrictions Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
ApplicationFundamentals updating yaml for more Android5 samples 2019-07-30 15:46:24 -07:00
AsyncImageAndroid onboard missing samples 2019-07-31 16:04:27 -07:00
BasicImmersiveMode onboard missing samples 2019-07-31 16:04:27 -07:00
BasicMediaRouter Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
BasicTableAdapter onboard missing samples 2019-07-31 16:20:35 -07:00
BasicTableAndroid fix bad yaml 2019-07-30 20:19:30 -07:00
BatchStepSensor fix bad yaml 2019-07-30 20:19:30 -07:00
BluetoothChat updating yaml for more Android5 samples 2019-07-30 15:46:24 -07:00
BluetoothLeGatt Fix up the bluetooth chat sample so that it works. 2018-03-06 15:58:03 -07:00
BorderlessButtons fix bad yaml 2019-07-30 20:19:30 -07:00
BouncingGameCompleteAndroid onboard missing samples 2019-07-31 16:20:35 -07:00
BouncingGameEmptyAndroid onboard missing samples 2019-07-31 16:20:35 -07:00
BuiltInViews Fix links to docs 2019-07-24 15:50:05 -07:00
Button onboard missing samples 2019-07-31 16:20:35 -07:00
CalendarDemo onboard missing samples 2019-07-31 16:20:35 -07:00
CameraAppDemo Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
CardEmulation fix bad yaml 2019-07-30 20:19:30 -07:00
CardReader onboard missing samples 2019-07-31 17:02:55 -07:00
CocosSharpEntities remove unused YAML key 2019-07-22 10:12:06 -07:00
CommonSampleLibrary Update target API, min API, and compile SDK. 2018-06-18 10:06:57 -06:00
ContactManager onboard missing samples 2019-07-31 17:02:55 -07:00
Contactables Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
ContactsProviderDemo onboard missing samples 2019-07-31 17:02:55 -07:00
ContentControls removed duplicate samples 2013-02-12 10:33:34 -08:00
ContentProvider onboard missing samples 2019-07-31 17:02:55 -07:00
CursorTableAdapter onboard missing samples 2019-07-31 17:02:55 -07:00
CustomChoiceList Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
CustomRowView onboard missing samples 2019-07-31 17:29:02 -07:00
CustomTransitions onboard missing samples 2019-07-31 17:29:02 -07:00
DoneBar Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
DynamicTest onboard missing samples 2019-07-31 17:29:02 -07:00
Example_WorkingWithAudio onboard missing samples 2019-07-31 17:29:02 -07:00
ExportAttribute onboard missing samples 2019-07-31 17:29:02 -07:00
Facebook onboard missing samples 2019-07-31 17:29:02 -07:00
FastScroll onboard missing samples 2019-07-31 17:29:02 -07:00
FilePickerExample Update the FilePicker example 2018-06-19 13:52:11 -06:00
FingerprintGuide Fix links to docs 2019-07-24 15:50:05 -07:00
Firebase/FCMNotifications Fix links to docs 2019-07-24 15:50:05 -07:00
FragmentTransition onboard missing samples 2019-07-31 17:55:46 -07:00
FragmentsWalkthrough update header yaml 2019-07-30 13:47:41 -07:00
FrameAnimation Fix links to docs 2019-07-24 15:50:05 -07:00
FusedLocationProvider onboard missing samples 2019-07-31 17:55:46 -07:00
GLCube remove unused YAML key 2019-07-22 10:12:06 -07:00
GLCube-1.0 remove unused YAML key 2019-07-22 10:12:06 -07:00
GLDiagnostics remove unused YAML key 2019-07-22 10:12:06 -07:00
GLDiagnostics-1.0 remove unused YAML key 2019-07-22 10:12:06 -07:00
GLDiagnostics30 remove unused YAML key 2019-07-22 10:12:06 -07:00
GLNativeES20 Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
GLNativeES30 Fix a handful of incompatibilities with AAPT2 2018-10-11 14:29:27 -04:00
GLSharedContext20 Added missing files for GLSharedContext20 2014-07-22 22:41:07 +01:00
GLTriangle20 remove unused YAML key 2019-07-22 10:12:06 -07:00
GLTriangle20-1.0 remove unused YAML key 2019-07-22 10:12:06 -07:00
GLTriangle30 remove unused YAML key 2019-07-22 10:12:06 -07:00
GestureBuilder onboard missing samples 2019-07-31 17:55:46 -07:00
GetMobileNetworkStrength Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
GooglePlayServices update header yaml 2019-07-30 13:47:41 -07:00
GraphicsAndAnimation Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
GridLayoutDemo onboard missing samples 2019-08-01 17:26:15 -07:00
HelloM4A remove hashtags, fix links 2019-07-24 15:35:47 -07:00
HelloMultiScreen remove hashtags, fix links 2019-07-24 15:35:47 -07:00
HelloTabsICS remove hashtags, fix links 2019-07-24 15:35:47 -07:00
HelloWorld remove hashtags, fix links 2019-07-24 15:35:47 -07:00
HelloWorldPublishing remove hashtags, fix links 2019-07-24 15:35:47 -07:00
HoneycombGallery onboard missing samples: google-services 2019-08-01 15:39:25 -07:00
HowsMyTls onboard missing samples (Android Fit) 2019-08-01 15:13:34 -07:00
ImageEffects Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
JNIDemo Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
JavaIntegration Fix links to docs 2019-07-24 15:50:05 -07:00
JetBoy onboard missing samples: google-services 2019-08-01 15:39:25 -07:00
JniDemo onboard missing samples: google-services 2019-08-01 15:39:25 -07:00
KitKat remove hashtags, fix links 2019-07-24 15:35:47 -07:00
LabelledSections onboard missing samples 2019-08-01 16:24:23 -07:00
LeaderboardsAndAchievementsDemo onboard missing samples 2019-08-01 16:24:23 -07:00
LifecycleDemo Fix links to docs 2019-07-24 15:50:05 -07:00
LiveWallpaperDemo onboard missing samples 2019-08-01 16:24:23 -07:00
LoadingLargeBitmaps onboard missing samples 2019-08-01 16:24:23 -07:00
LocalFiles onboard missing samples 2019-08-01 16:24:23 -07:00
LocalNotifications Fix links to docs 2019-07-24 15:50:05 -07:00
Location Fix links to docs 2019-07-24 15:50:05 -07:00
ManagedAndroidResourceTest Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
MapsAndLocationDemo_v3 Fix links to docs 2019-07-24 15:50:05 -07:00
ModelAndVerts onboard missing samples 2019-08-01 16:24:23 -07:00
ModelDrawing onboard missing samples 2019-08-01 16:24:23 -07:00
MonoGame3DCamera onboard missing samples 2019-08-01 16:24:23 -07:00
MonoIO onboard missing samples 2019-08-01 16:24:23 -07:00
MultiResolution onboard missing samples 2019-08-01 16:24:23 -07:00
NfcSample Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
NineOldAndroids Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
NotePad Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
NotePad-Mono.Data.Sqlite onboard missing samples 2019-08-01 16:24:23 -07:00
OneABIPerAPK onboard missing samples 2019-08-01 16:24:23 -07:00
OsmDroidBindingExample onboard missing samples 2019-08-01 16:24:23 -07:00
Phoneword onboard missing samples 2019-08-01 16:24:23 -07:00
PhonewordMultiscreen Fix links to docs 2019-07-24 15:50:05 -07:00
PlatformFeatures onboard missing samples 2019-08-01 17:26:15 -07:00
PopupMenuDemo onboard missing samples 2019-08-01 17:26:15 -07:00
RemoteNotifications remove unused YAML key 2019-07-22 10:12:06 -07:00
RotationDemo header yaml updates 2019-07-29 17:07:57 -07:00
SanAngeles_NDK header yaml updates 2019-07-29 17:07:57 -07:00
SanityTests remove unused YAML key 2019-07-22 10:12:06 -07:00
SearchableDictionary remove unused YAML key 2019-07-22 10:12:06 -07:00
SectionIndex remove unused YAML key 2019-07-22 10:12:06 -07:00
ServiceSamples Remove the old Xamarin.Android service examples. 2017-04-17 11:18:36 -06:00
ShareActionProviderDemo remove unused YAML key 2019-07-22 10:12:06 -07:00
SierpinskiES31 Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
SimpleCursorTableAdapter remove unused YAML key 2019-07-22 10:12:06 -07:00
SimpleWidget remove unused YAML key 2019-07-22 10:12:06 -07:00
SkeletonApp remove unused YAML key 2019-07-22 10:12:06 -07:00
SlidingMenu Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
Snake remove unused YAML key 2019-07-22 10:12:06 -07:00
SplashScreen remove unused YAML key 2019-07-22 10:12:06 -07:00
StandardControls removed duplicate samples 2013-02-12 10:33:34 -08:00
StorageClient remove unused YAML key 2019-07-22 10:12:06 -07:00
StorageProvider remove unused YAML key 2019-07-22 10:12:06 -07:00
Support4 [15.6] Updates and additions for API 27 and Xamarin.Android.Support 27.0.2 (#261) 2018-03-06 10:53:52 -05:00
Supportv7 remove unused YAML key 2019-07-22 10:12:06 -07:00
SvgAndroid remove unused YAML key 2019-07-22 10:12:06 -07:00
SwipeToRefresh remove unused YAML key 2019-07-22 10:12:06 -07:00
SwitchDemo onboard missing samples 2019-08-01 17:26:15 -07:00
SystemUIVisibilityDemo onboard missing samples 2019-08-01 17:26:15 -07:00
TablesAndCellStyles removed duplicate samples 2013-02-12 10:33:34 -08:00
TextSwitcher onboard missing samples 2019-08-01 17:26:15 -07:00
TextureViewDemo header yaml updates 2019-07-29 18:17:26 -07:00
TexturedCube header yaml updates 2019-07-29 18:17:26 -07:00
TexturedCube-1.0 header yaml updates 2019-07-29 18:17:26 -07:00
TexturedCubeES30-1.0 header yaml updates 2019-07-29 18:17:26 -07:00
UpdateUsersProfile header yaml updates 2019-07-29 18:17:26 -07:00
UrbanAirship Update projects with obsolete TargetFrameworkVersions 2018-12-06 13:42:18 -05:00
UserInterface header yaml updates 2019-07-29 17:56:04 -07:00
ViewPagerIndicator header yaml updates 2019-07-29 17:56:04 -07:00
ViewPagerIndicatorBinding [15.6] Updates and additions for API 27 and Xamarin.Android.Support 27.0.2 (#261) 2018-03-06 10:53:52 -05:00
WalkingGameCompleteAndroid remove unused YAML key 2019-07-22 10:12:06 -07:00
WalkingGameEmptyAndroid remove unused YAML key 2019-07-22 10:12:06 -07:00
WeatherREST remove hashtags, fix links 2019-07-24 15:35:47 -07:00
WebViewJavaScriptInterface remove unused YAML key 2019-07-22 10:12:06 -07:00
android-m remove hashtags, fix links 2019-07-24 15:35:47 -07:00
android-n remove hashtags, fix links 2019-07-24 15:35:47 -07:00
android-o remove hashtags, fix links 2019-07-24 15:35:47 -07:00
android-p/AndroidPMiniDemo remove hashtags, fix links 2019-07-24 15:35:47 -07:00
android-support/ViewModel remove hashtags, fix links 2019-07-24 15:35:47 -07:00
android5.0 onboard missing samples 2019-07-31 15:56:29 -07:00
google-services onboard missing samples: google-services 2019-08-01 15:39:25 -07:00
tv header yaml updates 2019-07-29 17:56:04 -07:00
wear update header yaml 2019-07-30 13:47:41 -07:00
.gitignore remove invalid yaml markup 2019-07-19 22:40:12 -07:00
README.md remove hashtags, fix links 2019-07-24 15:35:47 -07:00
Xamarin.Edu.SampleGallery.Core.dll Update sample validator. 2012-07-05 19:29:52 +02:00
build.sh pass arguments to xbuild so that we can easily run /t:Clean. 2013-03-11 18:00:43 +09:00
install-hook.bat Added pre-commit hooks and the Xamarin code sample validator. 2011-09-21 21:05:07 +02:00
install-hook.sh Set executable bit on install-hook.sh. 2011-09-27 19:05:33 +02:00
pre-commit.posix Merge branch 'monodroid-4.1-preview' 2012-05-22 15:15:35 -04:00
pre-commit.windows Merge branch 'monodroid-4.1-preview' 2012-05-22 15:15:35 -04:00
samples.make Many more samples :-) 2010-08-16 18:36:05 +02:00
validate.posix Merge branch 'monodroid-4.1-preview' 2012-05-22 15:15:35 -04:00
validate.windows Fix order of options passed to `find` in scripts. 2012-02-17 21:38:53 +01:00
xbuild.make Add support for ADB_TARGET specification. 2011-02-23 21:54:31 -05:00
xcsv.exe Update sample validator. 2012-07-05 19:29:52 +02:00

README.md

MonoDroid Samples

This repository contains Mono for Android samples, showing usage of various Android API wrappers from C#. Visit the Android Sample Gallery to download individual samples.

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 Submission 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 the sample galleries here:

Sample GitHub Repositories

These sample galleries are populated by samples in these 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.

Sample Requirements

We welcome sample submissions, please start by creating an issue with your proposal.

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.

    • Brief - Short description or what your sample does. This allows us to display a nice and clean vignette on the sample page.

    • 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:

    • 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

    • FSharp

    • 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 cross-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!