├── .gitattributes ├── .gitignore ├── README.md ├── screenshots ├── android.png ├── clients-android.png ├── clients-ios.png ├── clients-silverlight.png ├── clients-winstore.png ├── clients-wpf.png ├── ios.png ├── logo.ico ├── osx.png ├── portable-splash-900.png ├── portable-splash.png ├── splash-900.png ├── splash.pdn ├── splash.png ├── uwp.png ├── wpf.png ├── xamarin.forms-reuse.png ├── xamarinforms.android.png ├── xamarinforms.ios.png └── xamarinforms.uwp.png └── src ├── .vs └── config │ └── applicationhost.config ├── Client.Android ├── Activity1.cs ├── Assets │ └── AboutAssets.txt ├── Client.Android.csproj ├── Properties │ ├── AndroidManifest.xml │ └── AssemblyInfo.cs ├── Resources │ ├── AboutResources.txt │ ├── Drawable │ │ └── Icon.png │ ├── Layout │ │ └── Main.axml │ ├── Resource.Designer.cs │ └── Values │ │ └── Strings.xml └── app.config ├── Client.OSX.sln ├── Client.OSX.userprefs ├── Client.OSX ├── AppDelegate.cs ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── AppIcon-128.png │ │ ├── AppIcon-128@2x.png │ │ ├── AppIcon-16.png │ │ ├── AppIcon-16@2x.png │ │ ├── AppIcon-256.png │ │ ├── AppIcon-256@2x.png │ │ ├── AppIcon-32.png │ │ ├── AppIcon-32@2x.png │ │ ├── AppIcon-512.png │ │ ├── AppIcon-512@2x.png │ │ └── Contents.json │ └── Contents.json ├── Client.OSX.csproj ├── Client.OSX.userprefs ├── Entitlements.plist ├── Info.plist ├── Main.cs ├── Main.storyboard ├── ViewController.cs ├── ViewController.designer.cs └── packages.config ├── Client.UWP ├── App.xaml ├── App.xaml.cs ├── Assets │ ├── LockScreenLogo.scale-200.png │ ├── SplashScreen.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── StoreLogo.png │ └── Wide310x150Logo.scale-200.png ├── Client.UWP.csproj ├── Client.UWP_TemporaryKey.pfx ├── MainPage.xaml ├── MainPage.xaml.cs ├── Package.appxmanifest └── Properties │ ├── AssemblyInfo.cs │ └── Default.rd.xml ├── Client.Wpf ├── App.config ├── App.xaml ├── App.xaml.cs ├── Client.Wpf.csproj ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── servicestack.ico ├── Client.XamarinForms.sln ├── Client.XamarinForms ├── Client.XamarinForms.Android │ ├── Assets │ │ └── AboutAssets.txt │ ├── Client.XamarinForms.Android.csproj │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── AboutResources.txt │ │ ├── Resource.designer.cs │ │ ├── layout │ │ ├── Tabbar.axml │ │ └── Toolbar.axml │ │ ├── mipmap-anydpi-v26 │ │ ├── icon.xml │ │ └── icon_round.xml │ │ ├── mipmap-hdpi │ │ ├── Icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-mdpi │ │ ├── Icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ ├── Icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ ├── Icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ ├── Icon.png │ │ └── launcher_foreground.png │ │ └── values │ │ ├── colors.xml │ │ └── styles.xml ├── Client.XamarinForms.UWP │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LargeTile.scale-100.png │ │ ├── LargeTile.scale-200.png │ │ ├── LargeTile.scale-400.png │ │ ├── SmallTile.scale-100.png │ │ ├── SmallTile.scale-200.png │ │ ├── SmallTile.scale-400.png │ │ ├── SplashScreen.scale-100.png │ │ ├── SplashScreen.scale-200.png │ │ ├── SplashScreen.scale-400.png │ │ ├── Square150x150Logo.scale-100.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square150x150Logo.scale-400.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-16.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-48.png │ │ ├── Square44x44Logo.scale-100.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.scale-400.png │ │ ├── Square44x44Logo.targetsize-16.png │ │ ├── Square44x44Logo.targetsize-256.png │ │ ├── Square44x44Logo.targetsize-48.png │ │ ├── StoreLogo.backup.png │ │ ├── StoreLogo.scale-100.png │ │ ├── StoreLogo.scale-200.png │ │ ├── StoreLogo.scale-400.png │ │ ├── Wide310x150Logo.scale-100.png │ │ ├── Wide310x150Logo.scale-200.png │ │ └── Wide310x150Logo.scale-400.png │ ├── Client.XamarinForms.UWP.csproj │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Package.appxmanifest │ └── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml ├── Client.XamarinForms.iOS │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon1024.png │ │ │ ├── Icon120.png │ │ │ ├── Icon152.png │ │ │ ├── Icon167.png │ │ │ ├── Icon180.png │ │ │ ├── Icon20.png │ │ │ ├── Icon29.png │ │ │ ├── Icon40.png │ │ │ ├── Icon58.png │ │ │ ├── Icon60.png │ │ │ ├── Icon76.png │ │ │ ├── Icon80.png │ │ │ └── Icon87.png │ ├── Client.XamarinForms.iOS.csproj │ ├── Entitlements.plist │ ├── Info.plist │ ├── Main.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Default-Portrait@2x.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ └── LaunchScreen.storyboard └── Client.XamarinForms │ ├── App.xaml │ ├── App.xaml.cs │ ├── Client.XamarinForms.projitems │ ├── Client.XamarinForms.shproj │ ├── MainPage.xaml │ └── MainPage.xaml.cs ├── Client.iOS ├── AppDelegate.cs ├── Client.iOS.csproj ├── Client_iOS_ViewController.cs ├── Client_iOS_ViewController.designer.cs ├── Entitlements.plist ├── Info.plist ├── Main.cs ├── MainStoryboard_iPad.storyboard ├── MainStoryboard_iPhone.storyboard └── Resources │ ├── Images.xcassets │ └── AppIcons.appiconset │ │ └── Contents.json │ └── LaunchScreen.xib ├── HelloMobile.sln ├── NuGet.Config ├── Server.AspNet ├── Global.asax ├── Global.asax.cs ├── Properties │ └── AssemblyInfo.cs ├── Server.AspNet.csproj ├── Web.Debug.config ├── Web.Release.config └── Web.config ├── Server.Common ├── Server.Common.csproj └── WebServices.cs ├── Server.HttpListener ├── App.config ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── Server.HttpListener.csproj ├── Server.NetCore ├── Program.cs ├── Server.NetCore.csproj └── applicationhost.config ├── Server.NetCoreFx ├── Program.cs └── Server.NetCoreFx.csproj ├── ServiceModel ├── Config.cs ├── Hello.cs ├── SendFile.cs └── ServiceModel.csproj ├── Shared.Client ├── Shared.Client.csproj └── SharedGateway.cs └── Tests.Client ├── GatewayTests.cs ├── JwtTasks.cs └── Tests.Client.csproj /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) 2 | [Bb]in/ 3 | [Oo]bj/ 4 | .idea/ 5 | .vs/ 6 | 7 | # mstest test results 8 | TestResults 9 | 10 | ## Ignore Visual Studio temporary files, build results, and 11 | ## files generated by popular Visual Studio add-ons. 12 | 13 | # User-specific files 14 | *.suo 15 | *.user 16 | *.sln.docstates 17 | *.secrets.cs 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Rr]elease/ 22 | deploy/ 23 | x64/ 24 | *_i.c 25 | *_p.c 26 | *.ilk 27 | *.meta 28 | *.obj 29 | *.pch 30 | *.pdb 31 | *.pgc 32 | *.pgd 33 | *.rsp 34 | *.sbr 35 | *.tlb 36 | *.tli 37 | *.tlh 38 | *.tmp 39 | *.log 40 | *.txt 41 | *.vspscc 42 | *.vssscc 43 | .builds 44 | 45 | # Visual C++ cache files 46 | ipch/ 47 | *.aps 48 | *.ncb 49 | *.opensdf 50 | *.sdf 51 | 52 | # Visual Studio profiler 53 | *.psess 54 | *.vsp 55 | *.vspx 56 | 57 | # Guidance Automation Toolkit 58 | *.gpState 59 | 60 | # ReSharper is a .NET coding add-in 61 | _ReSharper* 62 | 63 | # NCrunch 64 | *.ncrunch* 65 | .*crunch*.local.xml 66 | 67 | # Installshield output folder 68 | [Ee]xpress 69 | 70 | # DocProject is a documentation generator add-in 71 | DocProject/buildhelp/ 72 | DocProject/Help/*.HxT 73 | DocProject/Help/*.HxC 74 | DocProject/Help/*.hhc 75 | DocProject/Help/*.hhk 76 | DocProject/Help/*.hhp 77 | DocProject/Help/Html2 78 | DocProject/Help/html 79 | 80 | # Click-Once directory 81 | publish 82 | 83 | # Publish Web Output 84 | *.Publish.xml 85 | 86 | # NuGet Packages Directory 87 | packages 88 | 89 | # Windows Azure Build Output 90 | csx 91 | *.build.csdef 92 | 93 | # Windows Store app package directory 94 | AppPackages/ 95 | 96 | # Others 97 | [Bb]in 98 | [Oo]bj 99 | sql 100 | *.Cache 101 | ClientBin 102 | [Ss]tyle[Cc]op.* 103 | ~$* 104 | *.dbmdl 105 | 106 | Generated_Code #added for RIA/Silverlight projects 107 | 108 | # Backup & report files from converting an old project file to a newer 109 | # Visual Studio version. Backup files are not needed, because we have git ;-) 110 | _UpgradeReport_Files/ 111 | Backup*/ 112 | UpgradeLog*.XML 113 | 114 | ssl/ 115 | *.crt 116 | *.ssl 117 | *.pem 118 | results/ 119 | teststub.* 120 | *.sqlite 121 | -------------------------------------------------------------------------------- /screenshots/android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/android.png -------------------------------------------------------------------------------- /screenshots/clients-android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/clients-android.png -------------------------------------------------------------------------------- /screenshots/clients-ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/clients-ios.png -------------------------------------------------------------------------------- /screenshots/clients-silverlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/clients-silverlight.png -------------------------------------------------------------------------------- /screenshots/clients-winstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/clients-winstore.png -------------------------------------------------------------------------------- /screenshots/clients-wpf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/clients-wpf.png -------------------------------------------------------------------------------- /screenshots/ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/ios.png -------------------------------------------------------------------------------- /screenshots/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/logo.ico -------------------------------------------------------------------------------- /screenshots/osx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/osx.png -------------------------------------------------------------------------------- /screenshots/portable-splash-900.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/portable-splash-900.png -------------------------------------------------------------------------------- /screenshots/portable-splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/portable-splash.png -------------------------------------------------------------------------------- /screenshots/splash-900.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/splash-900.png -------------------------------------------------------------------------------- /screenshots/splash.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/splash.pdn -------------------------------------------------------------------------------- /screenshots/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/splash.png -------------------------------------------------------------------------------- /screenshots/uwp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/uwp.png -------------------------------------------------------------------------------- /screenshots/wpf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/wpf.png -------------------------------------------------------------------------------- /screenshots/xamarin.forms-reuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/xamarin.forms-reuse.png -------------------------------------------------------------------------------- /screenshots/xamarinforms.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/xamarinforms.android.png -------------------------------------------------------------------------------- /screenshots/xamarinforms.ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/xamarinforms.ios.png -------------------------------------------------------------------------------- /screenshots/xamarinforms.uwp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ServiceStackApps/HelloMobile/60959968c82c8b415392cc5d74803d384822abc9/screenshots/xamarinforms.uwp.png -------------------------------------------------------------------------------- /src/Client.Android/Activity1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.App; 3 | using Android.Widget; 4 | using Android.OS; 5 | using ServiceModel; 6 | using ServiceStack; 7 | using Shared.Client; 8 | 9 | namespace Client.Android 10 | { 11 | [Activity(Label = "Client.Android", MainLauncher = true, Icon = "@drawable/icon")] 12 | public class Activity1 : Activity 13 | { 14 | private const string BaseUrl = Config.UseAndroidLoopback; 15 | public IServiceClient CreateClient() => new JsonServiceClient(BaseUrl); 16 | 17 | protected override void OnCreate(Bundle bundle) 18 | { 19 | base.OnCreate(bundle); 20 | 21 | // Set our view from the "main" layout resource 22 | SetContentView(Resource.Layout.Main); 23 | 24 | var btnSync = FindViewById