From fffc3bf16310f41c1bba31d34425e05f14e4c00c Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Wed, 1 Jul 2020 22:37:21 -0400 Subject: [PATCH 1/2] feat: Add SQLite sample --- UI/SQLiteSample/README.md | 5 + UI/SQLiteSample/SQLiteSample/SQLiteSample.sln | 357 ++++++++++++ .../SQLiteSample.Droid/Assets/AboutAssets.txt | 19 + .../Assets/Fonts/winjs-symbols.ttf | Bin 0 -> 53776 bytes .../SQLiteSample/SQLiteSample.Droid/Main.cs | 43 ++ .../SQLiteSample.Droid/MainActivity.cs | 18 + .../Properties/AndroidManifest.xml | 5 + .../Properties/AssemblyInfo.cs | 30 + .../Resources/AboutResources.txt | 44 ++ .../Resources/drawable/Icon.png | Bin 0 -> 4147 bytes .../Resources/values/Strings.xml | 5 + .../Resources/values/Styles.xml | 12 + .../SQLiteSample.Droid.csproj | 99 ++++ .../SQLiteSample/SQLiteSample.Shared/App.xaml | 7 + .../SQLiteSample.Shared/App.xaml.cs | 163 ++++++ .../Assets/SharedAssets.md | 34 ++ .../SQLiteSample.Shared/MainPage.xaml | 21 + .../SQLiteSample.Shared/MainPage.xaml.cs | 96 ++++ .../SQLiteSample.Shared.projitems | 37 ++ .../SQLiteSample.Shared.shproj | 13 + .../Strings/en/Resources.resw | 123 ++++ .../Assets/lockscreenlogo.scale-200.png | Bin 0 -> 1430 bytes .../Assets/splashscreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/square150x150logo.scale-200.png | Bin 0 -> 2937 bytes .../Assets/square44x44logo.scale-200.png | Bin 0 -> 1647 bytes .../SQLiteSample.UWP/Assets/storelogo.png | Bin 0 -> 1451 bytes .../Assets/wide310x150logo.scale-200.png | Bin 0 -> 3204 bytes .../SQLiteSample.UWP/Package.appxmanifest | 49 ++ .../Properties/AssemblyInfo.cs | 29 + .../Properties/Default.rd.xml | 31 + .../SQLiteSample.UWP/SQLiteSample.UWP.csproj | 163 ++++++ .../SQLiteSample.Wasm/Assets/SplashScreen.png | Bin 0 -> 7700 bytes .../SQLiteSample.Wasm/LinkerConfig.xml | 9 + .../SQLiteSample/SQLiteSample.Wasm/Program.cs | 17 + .../Properties/launchSettings.json | 27 + .../SQLiteSample.Wasm.csproj | 49 ++ .../SQLiteSample.Wasm/WasmCSS/Fonts.css | 10 + .../WasmScripts/AppManifest.js | 7 + .../SQLiteSample.Wasm/wwwroot/web.config | 78 +++ .../SQLiteSample.iOS/Entitlements.plist | 6 + .../SQLiteSample/SQLiteSample.iOS/Info.plist | 55 ++ .../SQLiteSample.iOS/LaunchScreen.storyboard | 52 ++ .../SQLiteSample/SQLiteSample.iOS/Main.cs | 15 + .../AppIcons.appiconset/Contents.json | 106 ++++ .../AppIcons.appiconset/iPad-76x76@2x.png | Bin 0 -> 1218 bytes .../AppIcons.appiconset/iPad-84x84@2x.png | Bin 0 -> 1317 bytes .../AppIcons.appiconset/iPhone-20x20@2x.png | Bin 0 -> 224 bytes .../AppIcons.appiconset/iPhone-20x20@3x.png | Bin 0 -> 308 bytes .../AppIcons.appiconset/iPhone-40x40@3x.png | Bin 0 -> 971 bytes .../AppIcons.appiconset/iPhone-60x60@2x.png | Bin 0 -> 971 bytes .../ios-marketing-1024x1024@1x.png | Bin 0 -> 11313 bytes .../LaunchImages.launchimage/Contents.json | 58 ++ .../Properties/AssemblyInfo.cs | 36 ++ .../Resources/Default-568h@2x.png | Bin 0 -> 2215 bytes .../Resources/Fonts/winjs-symbols.ttf | Bin 0 -> 53776 bytes .../Resources/SplashScreen@2x.png | Bin 0 -> 36520 bytes .../Resources/SplashScreen@3x.png | Bin 0 -> 59332 bytes .../SQLiteSample.iOS/SQLiteSample.iOS.csproj | 158 ++++++ .../AppIcon.appiconset/AppIcon-128.png | Bin 0 -> 23243 bytes .../AppIcon.appiconset/AppIcon-128@2x.png | Bin 0 -> 36887 bytes .../AppIcon.appiconset/AppIcon-16.png | Bin 0 -> 15188 bytes .../AppIcon.appiconset/AppIcon-16@2x.png | Bin 0 -> 16188 bytes .../AppIcon.appiconset/AppIcon-256.png | Bin 0 -> 37404 bytes .../AppIcon.appiconset/AppIcon-256@2x.png | Bin 0 -> 79023 bytes .../AppIcon.appiconset/AppIcon-32.png | Bin 0 -> 16183 bytes .../AppIcon.appiconset/AppIcon-32@2x.png | Bin 0 -> 18284 bytes .../AppIcon.appiconset/AppIcon-512.png | Bin 0 -> 78932 bytes .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 0 -> 182243 bytes .../AppIcon.appiconset/Contents.json | 68 +++ .../Assets.xcassets/Contents.json | 6 + .../unologo.imageset/Contents.json | 528 ++++++++++++++++++ .../unologo.imageset/unoplatform.jpg | Bin 0 -> 18136 bytes .../SQLiteSample.macOS/Entitlements.plist | 7 + .../SQLiteSample.macOS/Info.plist | 32 ++ .../SQLiteSample/SQLiteSample.macOS/Main.cs | 15 + .../Properties/AssemblyInfo.cs | 36 ++ .../Resources/Fonts/winjs-symbols.ttf | Bin 0 -> 53776 bytes .../SQLiteSample.macOS.csproj | 130 +++++ 78 files changed, 2908 insertions(+) create mode 100644 UI/SQLiteSample/README.md create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample.sln create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Main.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.projitems create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.shproj create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Strings/en/Resources.resw create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/lockscreenlogo.scale-200.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/splashscreen.scale-200.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square150x150logo.scale-200.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square44x44logo.scale-200.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/storelogo.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/wide310x150logo.scale-200.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Package.appxmanifest create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/AssemblyInfo.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/Default.rd.xml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/SQLiteSample.UWP.csproj create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Assets/SplashScreen.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/LinkerConfig.xml create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Program.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Properties/launchSettings.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/SQLiteSample.Wasm.csproj create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmCSS/Fonts.css create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmScripts/AppManifest.js create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/wwwroot/web.config create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Entitlements.plist create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Info.plist create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/LaunchScreen.storyboard create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Main.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/Contents.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Properties/AssemblyInfo.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Default-568h@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Fonts/winjs-symbols.ttf create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@3x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/SQLiteSample.iOS.csproj create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/Contents.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/Contents.json create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Entitlements.plist create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Info.plist create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Main.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Properties/AssemblyInfo.cs create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Resources/Fonts/winjs-symbols.ttf create mode 100644 UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/SQLiteSample.macOS.csproj diff --git a/UI/SQLiteSample/README.md b/UI/SQLiteSample/README.md new file mode 100644 index 00000000..69a69a62 --- /dev/null +++ b/UI/SQLiteSample/README.md @@ -0,0 +1,5 @@ +# Sqlite database for WebAssembly + +This is a simple standalone app demonstrating the use of SQLite in an Uno application, including WebAssembly. It uses Erik Sink's [SQLitePCLRaw](https://github.com/ericsink/SQLitePCL.raw), and Frank Krueger's [sqlite-net](https://github.com/praeclarum/sqlite-net) libraries. + +The WebAssembly application uses the [Uno.SQLitePCLRaw.Wasm](https://github.com/unoplatform/Uno.SQLitePCLRaw.Wasm) package to provide an in-browser, client-side SQLite database. \ No newline at end of file diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln b/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln new file mode 100644 index 00000000..42b870cf --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln @@ -0,0 +1,357 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30223.230 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SQLiteSample.Shared", "SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.shproj", "{6279C845-92F8-4333-AB99-3D213163593C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.Droid", "SQLiteSample\SQLiteSample.Droid\SQLiteSample.Droid.csproj", "{6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.iOS", "SQLiteSample\SQLiteSample.iOS\SQLiteSample.iOS.csproj", "{A9260487-8EFC-4EB5-932C-FA033E74CA42}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.UWP", "SQLiteSample\SQLiteSample.UWP\SQLiteSample.UWP.csproj", "{E51EDEA7-A863-4D3B-95B3-B55E03136B75}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.Wasm", "SQLiteSample\SQLiteSample.Wasm\SQLiteSample.Wasm.csproj", "{280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.macOS", "SQLiteSample\SQLiteSample.macOS\SQLiteSample.macOS.csproj", "{58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{280ba3c6-6bd1-4af0-bc19-6d2ffaed7e02}*SharedItemsImports = 5 + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{58882fc3-c8ea-4c11-8b79-6ff4c3807af0}*SharedItemsImports = 4 + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13 + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{6b1286f8-f19a-4bc3-b164-0ce30cac91ce}*SharedItemsImports = 4 + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{a9260487-8efc-4eb5-932c-fa033e74ca42}*SharedItemsImports = 4 + SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{e51edea7-a863-4d3b-95b3-b55e03136b75}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Any CPU = Ad-Hoc|Any CPU + Ad-Hoc|ARM = Ad-Hoc|ARM + Ad-Hoc|ARM64 = Ad-Hoc|ARM64 + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|x64 = Ad-Hoc|x64 + Ad-Hoc|x86 = Ad-Hoc|x86 + AppStore|Any CPU = AppStore|Any CPU + AppStore|ARM = AppStore|ARM + AppStore|ARM64 = AppStore|ARM64 + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|x64 = AppStore|x64 + AppStore|x86 = AppStore|x86 + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.ActiveCfg = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.Build.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.Deploy.0 = Debug|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.Deploy.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.ActiveCfg = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.Build.0 = Release|Any CPU + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.Deploy.0 = Release|Any CPU + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|ARM64.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|ARM.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|ARM64.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhone.Build.0 = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|x64.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|x86.ActiveCfg = AppStore|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|Any CPU.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|ARM.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|ARM64.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhone.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhone.Build.0 = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|x64.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|x86.ActiveCfg = Debug|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|Any CPU.ActiveCfg = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|ARM.ActiveCfg = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|ARM64.ActiveCfg = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhone.ActiveCfg = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhone.Build.0 = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|x64.ActiveCfg = Release|iPhone + {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|x86.ActiveCfg = Release|iPhone + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.ActiveCfg = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.Build.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.Deploy.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.ActiveCfg = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.Build.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.Deploy.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.Build.0 = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.Deploy.0 = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.ActiveCfg = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.Build.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.Deploy.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.ActiveCfg = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.Build.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.Deploy.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.Build.0 = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.Deploy.0 = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|Any CPU.ActiveCfg = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.ActiveCfg = Debug|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.Build.0 = Debug|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.Deploy.0 = Debug|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.Build.0 = Debug|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|iPhone.ActiveCfg = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.ActiveCfg = Debug|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.Build.0 = Debug|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.Deploy.0 = Debug|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.ActiveCfg = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.Build.0 = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.Deploy.0 = Debug|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|Any CPU.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.ActiveCfg = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.Build.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.Deploy.0 = Release|ARM + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.ActiveCfg = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.Build.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.Deploy.0 = Release|ARM64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|iPhone.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|iPhoneSimulator.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.ActiveCfg = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.Build.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.Deploy.0 = Release|x64 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.ActiveCfg = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.Build.0 = Release|x86 + {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.Deploy.0 = Release|x86 + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhone.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x86.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x86.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|Any CPU.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhone.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x64.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x64.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x86.ActiveCfg = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x86.Build.0 = Debug|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|Any CPU.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|Any CPU.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM64.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM64.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhone.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhone.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x64.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x64.Build.0 = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x86.ActiveCfg = Release|Any CPU + {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x86.Build.0 = Release|Any CPU + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|Any CPU.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|Any CPU.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM64.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhone.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x64.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x86.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x86.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|Any CPU.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|Any CPU.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM64.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhone.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhone.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x64.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x86.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x86.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|ARM.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|x64.ActiveCfg = Release|iPhoneSimulator + {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|x86.ActiveCfg = Release|iPhoneSimulator + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2DF5C6E2-2BF3-41DD-8323-66C083C9EAC6} + EndGlobalSection +EndGlobal diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt new file mode 100644 index 00000000..ee398862 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with you package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); \ No newline at end of file diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf new file mode 100644 index 0000000000000000000000000000000000000000..118f5c48501c5e6f15f561fb4521a5b285ad8f7c GIT binary patch literal 53776 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 XBP2h2|1TVD_s@^~ new App(), javaReference, transfer) + { + ConfigureUniversalImageLoader(); + } + + private void ConfigureUniversalImageLoader() + { + // Create global configuration and initialize ImageLoader with this config + ImageLoaderConfiguration config = new ImageLoaderConfiguration + .Builder(Context) + .Build(); + + ImageLoader.Instance.Init(config); + + ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; + } + } +} diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs new file mode 100644 index 00000000..388761c7 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs @@ -0,0 +1,18 @@ +using Android.App; +using Android.Widget; +using Android.OS; +using Android.Content.PM; +using Android.Views; + +namespace SQLiteSample.Droid +{ + [Activity( + MainLauncher = true, + ConfigurationChanges = Uno.UI.ActivityHelper.AllConfigChanges, + WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden + )] + public class MainActivity : Windows.UI.Xaml.ApplicationActivity + { + } +} + diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml new file mode 100644 index 00000000..32b1e190 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..ad5bedca --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SQLiteSample.Droid")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SQLiteSample.Droid")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt new file mode 100644 index 00000000..c2bca974 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.axml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.axml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "R" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the R class would expose: + +public class R { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main +to reference the layout/main.axml file, or R.strings.first_string to reference the first +string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8074c4c571b8cd19e27f4ee5545df367420686d7 GIT binary patch literal 4147 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 literal 0 HcmV?d00001 diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml new file mode 100644 index 00000000..636f27a6 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml @@ -0,0 +1,5 @@ + + + Hello World, Click Me! + SQLiteSample + diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml new file mode 100644 index 00000000..d668a8e0 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj new file mode 100644 index 00000000..b5cd5b69 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj @@ -0,0 +1,99 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + SQLiteSample.Droid + SQLiteSample.Droid + 512 + true + Resources\Resource.Designer.cs + + false + Off + False + v9.0 + Properties\AndroidManifest.xml + True + ..\SQLiteSample.Shared\Strings + + + true + portable + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + True + None + + + portable + true + true + true + bin\Release\ + TRACE + prompt + 4 + False + SdkOnly + true + true + False + False + true + + + + + + + + + + + + + 1.7.335 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml new file mode 100644 index 00000000..bf07c45b --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml @@ -0,0 +1,7 @@ + + + diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs new file mode 100644 index 00000000..8420f056 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs @@ -0,0 +1,163 @@ +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace SQLiteSample +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + ConfigureFilters(global::Uno.Extensions.LogExtensionPoint.AmbientLoggerFactory); + + this.InitializeComponent(); + this.Suspending += OnSuspending; + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + protected override void OnLaunched(LaunchActivatedEventArgs e) + { +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + // this.DebugSettings.EnableFrameRateCounter = true; + } +#endif + Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) + { + //TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Windows.UI.Xaml.Window.Current.Content = rootFrame; + } + + if (e.PrelaunchActivated == false) + { + if (rootFrame.Content == null) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Navigate(typeof(MainPage), e.Arguments); + } + // Ensure the current window is active + Windows.UI.Xaml.Window.Current.Activate(); + } + } + + /// + /// Invoked when Navigation to a certain page fails + /// + /// The Frame which failed navigation + /// Details about the navigation failure + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception($"Failed to load {e.SourcePageType.FullName}: {e.Exception}"); + } + + /// + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// + /// The source of the suspend request. + /// Details about the suspend request. + private void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } + + + /// + /// Configures global logging + /// + /// + static void ConfigureFilters(ILoggerFactory factory) + { + factory + .WithFilter(new FilterLoggerSettings + { + { "Uno", LogLevel.Warning }, + { "Windows", LogLevel.Warning }, + + // Debug JS interop + // { "Uno.Foundation.WebAssemblyRuntime", LogLevel.Debug }, + + // Generic Xaml events + // { "Windows.UI.Xaml", LogLevel.Debug }, + // { "Windows.UI.Xaml.VisualStateGroup", LogLevel.Debug }, + // { "Windows.UI.Xaml.StateTriggerBase", LogLevel.Debug }, + // { "Windows.UI.Xaml.UIElement", LogLevel.Debug }, + + // Layouter specific messages + // { "Windows.UI.Xaml.Controls", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.Panel", LogLevel.Debug }, + // { "Windows.Storage", LogLevel.Debug }, + + // Binding related messages + // { "Windows.UI.Xaml.Data", LogLevel.Debug }, + + // DependencyObject memory references tracking + // { "ReferenceHolder", LogLevel.Debug }, + + // ListView-related messages + // { "Windows.UI.Xaml.Controls.ListViewBase", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.ListView", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.GridView", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.VirtualizingPanelLayout", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.NativeListViewBase", LogLevel.Debug }, + // { "Windows.UI.Xaml.Controls.ListViewBaseSource", LogLevel.Debug }, //iOS + // { "Windows.UI.Xaml.Controls.ListViewBaseInternalContainer", LogLevel.Debug }, //iOS + // { "Windows.UI.Xaml.Controls.NativeListViewBaseAdapter", LogLevel.Debug }, //Android + // { "Windows.UI.Xaml.Controls.BufferViewCache", LogLevel.Debug }, //Android + // { "Windows.UI.Xaml.Controls.VirtualizingPanelGenerator", LogLevel.Debug }, //WASM + } + ) +#if DEBUG + .AddConsole(LogLevel.Debug); +#else + .AddConsole(LogLevel.Information); +#endif + } + } +} diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md new file mode 100644 index 00000000..8d2d37a1 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md @@ -0,0 +1,34 @@ +See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md + +# Here is a cheat sheet: + +1. Add the image file to the `Assets` directory of a shared project. +2. Set the build action to `Content`. +3. (Recommended) Provide an asset for various scales/dpi + +## Examples + +``` +\Assets\Images\logo.scale-100.png +\Assets\Images\logo.scale-200.png +\Assets\Images\logo.scale-400.png + +\Assets\Images\scale-100\logo.png +\Assets\Images\scale-200\logo.png +\Assets\Images\scale\400\logo.png +``` + +## Table of scales + +| Scale | UWP | iOS | Android | +|-------|:-----------:|:--------:|:-------:| +| `100` | scale-100 | @1x | mdpi | +| `125` | scale-125 | N/A | N/A | +| `150` | scale-150 | N/A | hdpi | +| `200` | scale-200 | @2x | xhdpi | +| `300` | scale-300 | @3x | xxhdpi | +| `400` | scale-400 | N/A | xxxhdpi | + + + + diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml new file mode 100644 index 00000000..1f239197 --- /dev/null +++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml @@ -0,0 +1,21 @@ + + + + + + + + + +