Giter VIP home page Giter VIP logo

ifactr-android's Introduction

iFactr - Android bindings

iFactr uses an container approach to execute a cross platform application on a computer or mobile device. At runtime the "bindings" instantiate the cross-platform control using a native UI object from the SDK for that target platform. In .NET Compact Framework, all controls are instatiated using objects from Google's Android APIs.

iFactr is a C#.NET-based, cross-platform mobile application development framework.

  • Cross-platform UI controls
  • Bindings for Android, iOS and Windows, and Compact Framework
  • RESTful Data Services component

Features

  • Full set of cross platform GUI controls.
  • MVC application workflow engine.
  • Supporting libraries for file access, network, device integrations, and an IoC container.

You can:

  • Rapidly build mobile and desktop applications.
  • Mix and match fully native views with cross-platform views.
  • Integrate platform specific 3rd party libaries and views into the app.
  • Easily port your MonoCross app to iFactr.

Tech

iFactr uses a Model-View-Controller design pattern and navigation modeled after Microsoft's ASP.NET and the Open-source Monocross.Navigation.

Support

StackOverflow is monitored. Post questions using the #iFactr tag.

Installation

Add References iFactr DLLs.

Development

Want to contribute? Great!

Open your favorite Terminal and run these commands.

Building from source

Building iFactr requires Microsoft Community Build Tasks v1.5 MSBuild For production release:

$ build

This will create the iFactr.Droid assembly for use when compiling an .APK for your iFactr application.

License

MIT

ifactr-android's People

Contributors

benhorgen avatar ifactr avatar sam-lippert avatar steverawlins-zebra avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ifactr-android's Issues

Validating event does not fire when Submitting

Validation not invoked on Android, but is on Windows.

A control, such as a TextBox, can have a Validating handler:

       var emailBox = new TextBox()
        {
            Margin = margin,
            KeyboardType = KeyboardType.Email,
            SubmitKey = "EMAIL",
            Placeholder = "[email protected]",
        };
        emailBox.Validating += EmailBox_Validating;
        AddChild(emailBox);

When the View is Submitted, the handler should be invoked. If there is an error, a message can be added to the ValidationErrors Collection. Then, when the Submitting event fires, the validation error list can be processed:

        Submitting += (o, e) =>
        {
            if (e.ValidationErrors.Count > 0)
            {
                e.Cancel = true;
                emailBox.ForegroundColor = Color.Red;
                //Render();
                new Alert("Please correct " + e.ValidationErrors.First().Value[0], null, AlertButtons.OK).Show();
            }
        };

On Android, when Submitting is reached, there are no Validation Errors because the Validation method was never invoked.

The validation method should be invoked for every SubmitKey control with a corresponding Validating delegate.

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.