Custom Plugin for PhoneGap Windows8 that will call c# code

前端 未结 1 1154
一整个雨季
一整个雨季 2020-12-18 16:41

I want to develop an application that will display sensor data in both windows8 and android. I\'m using phoneGap for some sensors, but, for example, barometer, there is no i

相关标签:
1条回答
  • 2020-12-18 17:15

    Yes of course you can call C# code in phone gap

    You need to refer Plugin development Guide

    sample plugin for calculator

    HTML CODE :calculator.html

    <html>
      <head>
        <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
        <title>Cordova</title>
        <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
    
    
        <script type="text/javascript" charset="utf-8" src="cordova-current.js"></script>
    
    
    <script type="text/javascript" charset="utf-8">
    
        var deviceReady = false;
    
        /**
        * Function called when page has finished loading.
        */
        function init() {
            document.addEventListener("deviceready", function () {
                deviceReady = true;
                console.log("Device=" + device.platform + " " + device.version);
            }, false);
            window.setTimeout(function () {
                if (!deviceReady) {
                    alert("Error: Cordova did not initialize.  Demo will not run correctly.");
                }
            }, 1000);
        }
    
        function calculateSum() {
    
            cordova.exec(
                function (res) {
                    document.getElementById('res').innerHTML = res;
                },
                function (e) {
                    console.log("Error occurred: " + e);
                    document.getElementById('res').innerHTML = "Error occurred: " + e;
                },
                "Calculator", "sum",
                { x: document.getElementById('x').value, y: document.getElementById('y').value });
        };
    
    </script>
    
      </head>
      <body onLoad="init();" id="stage" class="theme">
    
        <h1>Calculator</h1>
        <div id="info">
            <span class='tb-label'>X</span> <span id="Span1"></span>
            <input type="text" id="x" value="1" style="width:250px;height:20px;"/>
            <br/>
            <span class='tb-label'>Y</span> <span id="Span2"></span>
            <input type="text" id="y" value="2" style="width:250px;height:20px;"/>
            <br/>
            Sum: <span id="res"></span>
        </div>
        <h2>Action</h2>
        <a class="btn large" onclick="calculateSum();">Calculate</a>
        <h2> </h2><a href="index.html" class="backBtn">Back</a>
      </body>
    </html>
    

    C# Code :calculator.cs

    using System.Runtime.Serialization;
    using WPCordovaClassLib.Cordova;
    using WPCordovaClassLib.Cordova.Commands;
    using WPCordovaClassLib.Cordova.JSON;
    
    namespace Cordova.Extension.Commands
    {
        public class Calculator : BaseCommand
        {
    
            [DataContract]
            public class CalculateParameters
            {
                [DataMember]
                public double x { get; set; }
                [DataMember]
                public double y { get; set; }
            }
    
            public void sum(string args)
            {
                CalculateParameters calcParam = JsonHelper.Deserialize<CalculateParameters> (args);
    
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.OK, calcParam.x + calcParam.y));
            }
        }
    }
    

    enjoy custom plugin for c#

    0 讨论(0)
提交回复
热议问题