1. #1
    Sencha Premium Member IAmCoder's Avatar
    Join Date
    Mar 2012
    Posts
    33
    Vote Rating
    1
    IAmCoder is on a distinguished road

      1  

    Default Calling Native Code in Android from JavaScript using Sencha Touch and PhoneGap 2.2.0

    Calling Native Code in Android from JavaScript using Sencha Touch and PhoneGap 2.2.0


    Here is a simple example of how to call native code in Android from within a Sencha Touch application, stripped down to the core elements: http://www.btek.com.au/calling-nativ...om-javascript/.

    It took me way longer than it should because I kept getting the “Class not found” error when I pressed the button, which means that something went wrong when trying to load the native class referenced in \res\xml\config.xml. I had it failing because there was no icon in \res\drawable\, believe it or not. And at some point I had an outdated config.xml in the \bin\ and \gen\ directories.

    \assets\www\index.html
    Code:
    <html>
     <head>
      <title>BTek PhoneGap Plugin</title>
      <link rel="stylesheet" type="text/css" href="sencha-touch.css"/>
      <script type="text/javascript" src="sencha-touch-all.js"></script>
      <script type="text/javascript" src="cordova-2.2.0.js"></script> 
      <script type="text/javascript" src="app.js"></script>
      <script type="text/javascript">
    
        function CallNative() {
            cordova.exec(SuccessHandler, ErrorHandler, 'BTekPlugin', '', []);
        }
                
        function SuccessHandler (result) { 
              Ext.Msg.alert(result.title, result.details); 
        }
             
        function ErrorHandler (error) { 
               alert("Native call failed: " + error);
        } 
      </script>
     </head>
     <body></body>
    </html>
    \res\xml\config.xml
    Code:
     <plugin name="BTekPlugin" value="au.com.BTek.Plugins.BTekPlugin"/>
    \src\au\com\BTek\Plugins\BTekPlugin.java
    Code:
    package au.com.BTek.Plugins;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import org.apache.cordova.api.Plugin;
    import org.apache.cordova.api.PluginResult;
    
    
    public class BTekPlugin extends Plugin {
    
    
      public BTekPlugin() {
      }
    
    
      public PluginResult execute(String action, JSONArray args, String callbackId)
      {
        // Create the response JSON
        JSONObject jsonResponse = new JSONObject();
        try
        {
          jsonResponse.put("title", "Hello JavaScript!");
          jsonResponse.put("details", "How are you today?");
        }
        catch(JSONException e)
        {
          // Raise the error event
          this.error(e.getMessage(), callbackId);
        }
    
    
        // Raise the success event
        this.success(new PluginResult(PluginResult.Status.OK, jsonResponse), callbackId);
    
    
        return new PluginResult(PluginResult.Status.OK, "success");
      }
    }
    PhoneGap Plugin.png

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,795
    Vote Rating
    834
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    Thanks for sharing!
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

Thread Participants: 1

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi