Coder Social home page Coder Social logo

xamarin.forms-demo's Introduction

Xamarin.Forms-demo

This repository contains C# code to build a Xamarin.Forms app that uses Zumero to sync data from the Zumero demo server at http://demo.zumero.com:8080. In addition the code demonstrates some best practices for handling data conversion, concurrent access, and backgrounding for different mobile platforms.

This code was generated by the Zumero App Generator (ZAG). If you want to generate a custom version of this app, using your own SQL Server tables, visit http://zumero.com/dev-center/zss/#zag.

Shared Code

Xamarin.Forms supports housing almost all of the application's code in a shared Portable Class Library (PCL). The interesting directories are:

  • demo.Shared/Models: Contains SQLite-net (https://github.com/praeclarum/sqlite-net) bindings for each of the tables in the demo dbfile. These bindings enable you to use rich .NET objects in code, which are written to the SQLite database in a way that Zumero can sync those changes to a remote Zumero server. For information on which SQL Server column types need to be handled specially, see http://zumero.com/docs/zumero_for_sql_server_manager.html#data_type_conversion_and_limitations.

  • demo.Shared/Data: Contains services which can be found via Xamarin.Forms the DependencyService.Get<>() method.

    • The DataService.cs file handles loading the database connection, and is coded to handle concurrent database operations (so that a query or update will not fail if a Zumero Sync operation is running).

    • The SyncService.cs file handles calling the Zumero Sync operation, and exposing a method to check if a sync is currently running. The Android application overrides this service, in order to insure that the sync is called from a background service.

  • demo.Shared/xaml: Contains the XAML and C# code-behind definitions for all pages in the application.

Platforms

The amount of platform-specific code is as small as possible. The platforms supported are iOS, Android and Windows Phone 8.

Zumero App Generator

The Zumero App Generator creates useful example code by examining the SQL Server tables that you have exposed through your Zumero server. Generating code for other platforms and languages is supported as well. For videos walking through setting up Zumero, or using ZAG to generate code, see http://zumero.com/howto/.

Contact

If you have questions about this demo, please contact [email protected].

xamarin.forms-demo's People

Contributors

jeremysheeley avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.