Extension of 10 BB WebWorks

Is there a documentation or examples on how to create custom JavaScript extensions supported by the native code for the new SDK of WebWorks BB 10? My understanding is that extensions for BB 10 WebWorks will be written in native C/C++ code. However, all the implemented API looking at existing WebWorks BB 10 SDK, contain only JavaScript code. It looks like the API currently implemented to provide a JavaScript interface to interact with a server running on the phone that handles native-code extensions. I don't see native code for extensions in the current SDK, so I guess that these implementations are integrated into BB 10.

I guess that a custom extensions JavaScript should somehow register its implementation of native code with this same server but it is not clear to me how this is done.  Is there any documentation or examples of this yet?

You're right: BB10, there will be a JavaScript interface that calls down to native code.  However we have not this architecture in place for the 3rd party developers yet, but its definitely coming.

Brace yourself for updates, we will make sure to communicate best practices and guidelines for BB10 + WebWorks development of extensions with the community once it is ready.

Tags: BlackBerry Developers

Similar Questions

  • Problems when creating extension using pim contact webworks API

    Hello

    I need to create an extension that use webworks APIs to get all contact data as well as launch the contact selector and must obtain the name of the contact, numbers and Base 64 of contact image chain.

    Now, I have a few quesries below:

    1. I tried to reach my api requirement with webworks. For this, I did changes in the config.xml file.



    <>ermissions >
    <>Ermit > access_pimdomain_contactsermit >
    ermissions >

    and able to access the API of pim.contact placed here: C:\Program Research In Motion\BlackBerry 10 WebWorks SDK 1.0.4.11\Framework\ext\pim.contacts

    But when I tried to get all contacts by using the getContactAccounts() method, it gives me two accounts simcontacts and LocalContacts and their identity papers are respectively 2 and 19.

    I found that I can get the list of contacts using the example of the contacts. but this is to limit the length to 20.

    http://supportforums.BlackBerry.com/T5/Web-and-WebWorks-development/need-help-with-BB10-WebWorks-con...

    2.i have not found any documentaion appropriate for the fields of my contact: name, numbers and Base 64 of contact image chain like the way they gave in the native SDK documentation.

    Please share any code example that is in all fields of contact data of Singla retrieving.

    3. I need to share my contact plugin and need to expose certain methods of my plugin webworks.

    How can I reach it?

    Is it possible to get the code side native for pim.contact plugin, so that I can add methods more in it and can expose these methods more Web app works by making the required in index.js and client.js chnages.

    Help, please.

    I checked and there seems to be a problem with the API that has been fixed for version Gold SDK. Here you can find a similar position:
    http://supportforums.BlackBerry.com/T5/Web-and-WebWorks-development/need-help-with-BB10-WebWorks-con...

    And more information on the real fix here:
    https://github.com/BlackBerry/Cordova-BlackBerry-plugins/pull/80

    It seems that it was default 0, which gave 20 results, as opposed to-1, the expected default value.

    For now, if you simply pass a high value for limit, which should get the contacts (i.e. 1000). I know that's not ideal, but a workaround for now.

    For plugins, the best starting point would be the following.

    WebWorks SDK 1.0:
    https://github.com/BlackBerry/WebWorks-community-APIs/tree/master/BB10/template

    WebWorks SDK 2.0:
    https://github.com/BlackBerry/WebWorks-community-APIs/tree/master/BB10-Cordova/template

  • Blackberry10 Webworks / Extension Native Bug (?)

    Someone at - he saw Simulator messages like:

    Need error can not find

    /usr/bib/WebPlatform/plugins/mjnext/BP.so

    Library not found

    When starting an application of webworks html5 with a native extension.

    Although I see this error,

    (1) I know that my archives of deployment (file * .bar) take my shared library because I can see it in the archives under

    Expected, as well as an auth.txt file /native/plugins/jnext/BP.so

    (2) I know that the deployment of the process in many because I can copy the library $SDK_DIR/Framework/ext/bbm.platform/simulator/bbm.so to replace my library bp.so (also in a subdirectory of the framework/ext), do a regeneration and deploy. Then start my application, I get a message that bp. Memory cannot be instantiated. Which is fine, telling me that my index.js file loads the false bp.so (good) but can't call the class of memory (planned, as there was no in bbm.so before the copy).

    (3) I know that my C++ code is very well I have an exact copy of the code in the extension of the C++ TEMPLATE (memory) example I downloaded from github.

    (4) I believe that the shared library is very good because it built without problems in the IDE, downloaded from the section C++ tools to developers. (I'm using the version of Linux and construction with the default device-debug settings).

    But, then, there must be something wrong with the library because the system cannot load from the/native/plugins/jnext directory in the application folder. So at the moment I suspect that there is an integration issue somewhere between the different tools in question, the IDE, SDK, the Simulator.

    Has anyone else had luck with native extensions for BB10 html5 webworks apps?

    I had a little more time to play with this morning and have been able to track down what happens then...

    For other developers who run in it. This happens because profiles of device-Debug or Release device in the IDE to produce an ELF 32-bit ARM shared libraries, while produce profiles Simulator-Debug or Release - Simulator ELF 32-bit Intel 80368 shared libraries. Deponding on the target is important so get the suitable library.

    For RIM, you have a somewhat integrated tool chain and I understand the limits you are underneath. On the other hand, I had to spend time reverse engineering that toolchain to understand how it works. This reverse engineering work is not something that you'll usually want to push downstream. In addition, this thread is the one but not the first question of usability I meet with your tools. As a professional developer, waste of time on usability issues is very difficult to charge (-c' IE: do not cost effective to develop for) is not pleasant (-c' IE: it rots the brain). So, knowing that I would probably not do the work in the future development of BB-related...

    In my view, is a fair estimate of RIM where in terms of experience of development - not comparable to those of your competitors. I hope this can change, because it is really in the best interest of all that the RIM is a successful part of the mobile market.

  • Projects 2.0 Webworks appearing not

    Hello

    I am new to app development, so I don't know that it's just doing something simple, I have to break the link between the projects that I've created and Webworks.

    If I start webworks, connect my phone and transfer the app 'Helo World' original, everything works fine. If I then try to implement the code in github samples, everything begins to fall apart. When I restart webworks my project appears not so I have tried the following:

    (1) create a new project

    (2) rename all files in the files of www, js and css to *.old

    (3) copy all my files from my other project back to these files

    (4) start webworks 2.0. Nothing shows

    (5) delete all my files from another project and rename originals (remove the .old extension)

    (6) start webworks 2.0. Yet once, nothing shows

    I'm somehow break the link between my projects and webworks even if I keep the original files. What excatly is webworks looking for and where is it?

    All I wanted to do is get a blank page / screen with a few buttons and an action bar. Copied from actionBar.htm and actionBar.js in my project and published sections of script index.html to match what he tells me on github. Also changed the config.xml file, although I'll be honest, not sure that any of these files should look like.

    Background: I don't know html5, javascript or css. Learning that I will.

    Thank you

    Tim

    OK... think about it. It seems that there are some images that have been referenced and not really there. App gets to the phone now, but I'll accept this as an answer and start a new post on the new errors I get.

    Thanks for all the help

    Tim

  • How to send text to the Clipboard in webworks (blackberry 10)?

    No matter what the API support or something that I would like to invoke? Thank you.

    There is no JavaScript Clipboard API provided by the web platform default.

    However, you can build your own custom extension of WebWorks.  To do this, you must

    (1) follow the instructions of our model in Github to write your own extension.

    (2) exposes the methods of the C/C++ native libclipboard API to your extension API.

    (3) install your extension in the SDK WebWorks

    (4) change your config.xml and project to use your extension.

    Good luck. If you do not end up building something that works, please consider contributing it to the WebWorks-community-APIs in Github repo.

  • Widget SDK Vs WebWorks SDK

    Hello

    a couple of months back... in the previous year on BBerry Version 5 he spoke Widget Web development.

    SDK WebWorks today is on the horizon for the tablet. I hear you can use SDK WebWorks on SmartPhones with version 6 also?

    So what is the future of the development of Widget?

    Also, in WebWorks they take advantage of the Adobe AIR APIs. This average WebWorks SDK Apps don't use objects Java (extensions) as Widgets? I know there is a JavaScrpt extension library... but the contributions it allows extension to custom Java objects / native also?

    Am totally confused!

    Please provide details

    Thank you

    When I mentioned that it is simply a new brand image, I was referring to the name of 'Widgets' vs 'WebWorks '... We re-branded the name of the platform because we wanted to move away from the notion of 'Widget' and give the technology its own name as a real platform option.

    WebWorks Widgets and Widgets is WebWorks

    We have now expanded WebWorks/Widgets for the PlayBook.  WebWorks/Widgets is an abstraction layer on top of the underlying system functionality to allow developers to create applications in the Web technologies without having to think about the underlying implementation of the platform.

    On a BlackBerry smartphone, the only underlying development platform is Java.

    On a BlackBerry PlayBook, the only current underlying development platform is AIR

    In order to provide the WebWorks abstraction on top of these two platforms, we needed to implement the underlying plumbing to technology that is supported on the target platform.

    Then of course the task to go under the sheets and extension of the framework WebWorks itself requires different technologies that can be shared due to the supported raw underlying development platform.

    Maintaining two code lines separate in order to provide the same functionality is definitely not desired, but this is what is currently required to provide an abstraction layer so that web developers can pass between the Smartphone and the tablet.

    As I've mentioned above, there are more options underlying platform who come for the PlayBook.  As you can imagine, our development team would like to solidify on a single code base, to proceed in the future.  How this will all play will be in time.  There are several strategic reasons, why we can't go on this right now in detail that unfortunately doesn't give you many answers.

    I hope that specific things

  • Invoke a voice recorder

    Based on this page: http://developer.blackberry.com/html5/documentation/v2_0/voice_note.html

    I am trying to invoke the speech recorder.  You need a working example?

    Using WebWorks 2.0, I created a new project with:

    C:\webworks> webworks create invokeRecorder
    

    I then added the extension invoke :

    C:\webworks\invokeRecorder> webworks plugin add com.blackberry.invoke
    

    I emptied the www folder only have my index.html file ( config.xml file was located in the parent folder). My gaze to index.html as follows file:

    
    
      
        
        Invoke
      
      
        
    
        
        
      
    
    

    I then ran this on my device (connected via USB, in developer mode) with the command:

    C:\webworks\invokeRecorder> webworks run
    

    And was able to successfully invoke the speech recorder.

  • HTML5 App - See the pop-up message window when in the background

    Hello

    I need my application to display a popup to the user even if the application is in the background.

    How can I do this if my application is built with html5 and JavaScript?

    Thanks for any help

    Hello Wadi,

    This has proved to be a bit of a monster post. If you have any questions at a stage any post, do not hesitate to ask. Let's dive.

    There are a few issues I see with the code you provided.

    PopupExtension.java


    • Creates an AlertNamespace object, your class is called PopupNamespace.

    PopupNamespace.java


    • getField is not implemented. \

    PopupFunction.java


    • A lot of import declarations are missing.

    I'll show you a comparison of my files, I managed to get the dialog box displayed from in my WebWorks app; No matter whether the application is in the foreground or background.

    For reference, the creation of my java files is based on the examples of code available here:

    https://bdsc.webapps.BlackBerry.com/HTML5/documentation/ww_developing/using_javascript_extensions_18...

    For starters, I have SandboxExtension.java. It is the equivalent of your PopupExtension.java.

    package sandbox.extension; 
    
    import net.rim.device.api.browser.field2.BrowserField;
    import net.rim.device.api.script.ScriptEngine;
    import net.rim.device.api.web.WidgetConfig;
    import net.rim.device.api.web.WidgetExtension;
    import org.w3c.dom.Document;
    
    public final class SandboxExtension implements WidgetExtension {
        String _widgetNameForFutureUse;
        BrowserField _browserFieldForFutureUse;
    
        public String[] getFeatureList() {
            String[] result = new String[1];
            result[0] = "sandbox.popup";
            return result;
        }
    
        public void loadFeature(String feature, String version, Document doc, ScriptEngine scriptEngine) throws Exception {
            if (feature.equals("sandbox.popup")) {
                scriptEngine.addExtension("sandbox.popup", new SandboxScriptable());
            }
        }
    
        public void register(WidgetConfig widgetConfig, BrowserField browserField) {
            _widgetNameForFutureUse = widgetConfig.getName();
            _browserFieldForFutureUse = browserField;
        }
    
        public void unloadFeatures(Document doc) {
        }
    }
    

    Main differences


    • I've updated my package to sandbox.extension it is unique (less chance that it has already been used.)
    • In getFeatureList, I and by using the function sandbox.popup; It was purely a personal choice I made during the implementation of the example. There is no real functional difference.
    • Subsequently to the first point, I also refer to sandbox.popup in my remaining code; more precisely within loadFeature.
    • My method of register sets two corresponding member variables.
    • I create a new SandboxScriptable object as opposed to your object of AlertNameSpace.

    The following file is SandboxScriptable.java. It is the equivalent of your PopupNamespace.java file. Note that this class must refer to the object that is created in the file above. In my case, I created an object of SandboxScriptable , so I'm now implement SandboxScriptable.java to define this object.

    package sandbox.extension;
    
    import net.rim.device.api.script.Scriptable;
    
    public final class SandboxScriptable extends Scriptable {
    
        private SandboxPopup _sandbox;
    
        public SandboxScriptable() {
            _sandbox = new SandboxPopup();
        }
    
        public Object getField(String name) throws Exception {
            if(name.equals("doPopup")) {
                return this._sandbox;
            }
            return super.getField(name);
        }
    }
    

    Main differences


    • Slight changes to naming to accommodate my variable names.
    • The getField function is (and must) be implemented. In fact, when a method is called, I check to see if it is the doPopup method. If so, I returns a SandboxPopup object. This would be your PopupFunction class. If the user does not call the doPopup method, I just pass back the default behavior via the super object.

    The final class is SandboxPopup.java. It is the equivalent of your PopupFunction.java. Above, we create and return an object of SandboxPopup , so in this file that we actually apply this that the object is actually.

    package sandbox.extension;
    
    import net.rim.device.api.script.ScriptableFunction;
    import net.rim.device.api.system.Application;
    import net.rim.device.api.ui.UiEngine;
    import net.rim.device.api.ui.Ui;
    import net.rim.device.api.ui.Screen;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.system.Bitmap;
    import net.rim.device.api.ui.Manager;
    
    public final class SandboxPopup extends ScriptableFunction {
        public Object invoke(Object obj, Object[] args) throws Exception {
            synchronized(Application.getEventLock()) {
                UiEngine ui = Ui.getUiEngine();
                Screen screen = new Dialog(Dialog.D_OK, "Hello World!", Dialog.OK, Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION), Manager.VERTICAL_SCROLL);
                ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE);
            }
            return "UNDEFINED";
        }
    }
    

    Main differences

    • I added all declarations of import for the different Classes of the RIM used.
    • I return a default value 'Not DEFINED' string regardless of the success.

    And that is the essence of the java files. Basically, it is a string of three classes; the first refers to the second, and the second refers to the third. In your example, the chain is slightly broken, however can be fixed fairly quickly based on the notes above.

    The next part that needs to be done is to associate your Javascript Extension with WebWorks. This can be done in two different ways.

    • Package your extension with your application. Described in the Javascript Extension guide link above.
    • Integrate your extension with your SDK WebWorks.

    I opted for the latter, I find this approach a little simpler. The first thing we need to do is to copy our java files in the extension folder. The extension root folder that I used is as follows:

    C:\Program search in Motion\BlackBerry 2.3.0.9\ext\ SDK WebWorks

    In this case, I created a folder sandbox.extension to House my extension:

    C:\Program search in Motion\BlackBerry 2.3.0.9\ext\sandbox.extension SDK WebWorks

    I then copied the folder src housing my files java to get the following file structure:

    Note that the CBC/sandbox sand/extension path is no coincidence because sandbox/extension's folder as dictated by the package structure that I used in my java files. More precisely:

    package sandbox.extension;

    The last thing missing is a library.xml file. I used the library.xml files available on Github WebWorks community API page as a starting point and made a few modifications for the following.

    
        
            sandbox.extension.SandboxExtension
        
        
            
                
            
        
        
            
                
            
        
        
            
        
    
    

    Key information

    • The is set to point to the class that implements WidgetExtension. In this chain of three java files, it would be the first file.
    • Under , I set path = 'src' since the real package begins in the src subfolder.
    • Under I've set the id to sandbox.popup.

    This file has been created under the sandbox.extension root folder, specifically:

    C:\Program search in Motion\BlackBerry 2.3.0.9\ext\sandbox.extension SDK WebWorks

    And that's all for the configuration of the SDK. Now, when I have an application that relies on this extension, I don't no need to include something more in my real application because this feature is now integrated directly with my SDK. To use this feature, I need to:

    • Include the feature in my file config.xml .
    • Call the function in my Javascript.

    My file config.xml looks like as follows.

    
    http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets" version="1.0.0">
        Sandbox
        Oros
        
    
        
    
    

    Very basic. The element indicates index.html will be our main entry point. The important thing here is that I have included the item with id = "sandbox.popup". " You will notice that it is the same id that we have defined in library.xml.

    Finally, here is a small sample application that gives the user a button. Once this button is clicked, a timer is called during 5 seconds. At the end of those 5 seconds, the extension (and in turn a popup dialogue) is called.

    
    
        
        
        
            
    
            
        
    
    

    As you can see, we add a to our page which, when clicked, will trigger the function of fire . The function of fire calls setTimeout with a founter of 5000 milliseconds.

    The reason for this is to give you the opportunity to stay within the application, or limit its application with the red end call button. No matter whether you are in the application or the application is reduced, after 5000 milliseconds, the invokeExtension function is called.

    In invokeExtension, you can see call us sandbox.popup.doPopup. sandbox. Popup is the object, we defined in library.xml and put subsequenty implement within our java files. doPopup is the function we defined to be processed in the java files.

    Still, if you have any questions about the foregoing, please let me know.

    Erik Oros

    BlackBerry Development Advisor

  • Network connection event listener

    Hi all

    I am currently working on a project for a client where I develop an application without head tuned a network connection event. The idea is that the user will send information to a server to update via an interface user (designed by a colleague), but if there is no connection information is stored in a memory buffer/registry and an app without a head is triggered to listen to a network connection. Once a connection is detected, the data buffered in memory are automatically sent to the server and put an end to the application without a head.

    What I would like to know is if there is a way to invoke the application without a head when the network connection is established so that I can use a short app, or I have to design a long-term headless app to listen constantly IE check the network at regular intervals untils, a connection is established. I would try to avoid long design works without a head because of problems of performance and battery and the fact that I also have to file documents with Balckberry to get that license!

    Regarding the head and user interface elements. My colleague has designed the user interface in adobe air. I saw extensions for Air and Webworks cascading when you create a new project, but I'm wondering is it possible to integrate a user interface designed in the air with an app designed cascading headless, is replacing the part of the user interface of the headless with the designed Air UI?

    It would be a great help if it is possible as establishing two separate applications on the device for a project is not what we want to do.

    Thank you all for your time and help!

    Rob

    There is no 'set up network' trigger right now (you can have a good usecase, I suggest that you connect to a feature request in the developer Issue Tracker: SAID), so your only option is to operate as a long application work without waiting for the connection head.

    You should try and make sure that your application has no problems of performance or the battery regardless of approval without head

    Theoretically, I think you probably have an AIR interface for your native application headless... You will need to take the native code frontend and turn it into a native extension of AIR, so it speaks to your native without a rear head. As far as I know nobody is working on this though. I recommend you do this Interface in Cascades.

  • 'illegal start of expression' error then you are trying to compile an Extension WebWorks

    Hello

    I'm trying to compile a simple Extension of work Web to show a Dialog.alert (), just a simple code to start with Extensions WebWorks. The problem is that when I try to compile my code with javac I get many 'illegal start of expression' errors on the scene who has any errors. Here is the log from the console:

    Nathan-Camposs-MacBook-Pro:webworks Nathan$ javac -source 1.3 -target 1.3 -deprecation -classpath /Developer/Applications/Eclipse/plugins/net.rim.ejde.componentpack6.0.0_6.0.0.43/components/lib/net_rim_api.jar -sourcepath /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/*
    
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:15: illegal start of expression
        public static final String FIELD_ALERT = "alert";
        ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:15: illegal start of expression
        public static final String FIELD_ALERT = "alert";
               ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:15: ';' expected
        public static final String FIELD_ALERT = "alert";
                     ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:16: illegal start of expression
        private Alert _callAlert;
        ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:18: illegal start of expression
        public AlertScriptable() {
        ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:18: ';' expected
        public AlertScriptable() {
                                ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:22: illegal start of expression
        public Object getField(String name) throws Exception {
        ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:22: ';' expected
        public Object getField(String name) throws Exception {
                              ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:22: ';' expected
        public Object getField(String name) throws Exception {
                                          ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:22: not a statement
        public Object getField(String name) throws Exception {
                                                   ^
    /Users/Nathan/BlackBerry/WebWorksTest/webworks/src/org/webworks/os/interation/AlertScriptable.java:22: ';' expected
        public Object getField(String name) throws Exception {
                                                            ^
    11 errors
    

    Any ideas?

    Best regards

    Nathan Campos

    I solved this. I was saying that all inside a constructor.

    I'm sorry.

  • Help with webworks plugin/extension.

    Hi guys, for a few weeks, I decided to love make an app for BB10. I did some research and found that this webworks was the way to go because of my prior knowledge of HTML and JS. I started to design the GUI and a few days back, I was. Then he came to the coding part, and I hit a wall, a huge wall.

    My application is a manager a little bluetooth and I need to give him the possibility to activate bluetooth in-app, but is not possible via webworks (to the best of my knowledge and apparently, my research has not sufficiently thorough). I did research more far and I found that it was possible, but only through the natives(core/cascades). I almost burst into tears because I speak of hours invested in webworks thrown through the windows. I did research more far and found that its possible for access to native code via webworks but will need a plugin/extension. Happy goes me to the site of BB and they have sort tutorial on the subject, but I spent the last 2 days on the site and is not quite explanatory.

    TL; DR... Someone at - it have a plugin/extension for webworks bluetooth or know where I can download one or know where I can find an indept tutorials on how I can make one for me? the model on github no use was more (no comments/explanation)

    Take a look at this project, I wrote:

    https://github.com/BlackBerry/BB10-WebWorks-community-samples/tree/master/SimpleBtSppPlugin

    It is a simplified version of a plugin I wrote recently to support a WebWorks app that interacts with a number of Bluetooth devices (Bluetooth Smart [aka Low Energy] and legacy SPP).

    This simplified version provides a simple JavaScript interface to the Bluetooth SPP (Serial Port Profile), but the model is quite obvious and extensible to any other Bluetooth woud profile you want.

    The API is described here:

    https://github.com/BlackBerry/BB10-WebWorks-community-samples/BLOB/master/SimpleBtSppPlugin/document...

    The associated blog appears in the BlackBerry Developer blog next week and the Plugin will be registered with the Plugin of Cordova register soon as well.

    I'm not an expert WebWorks GUI so forgive the simple sample application which has included :-)

  • Screenshot of WebWorks BB10 extension

    I published my extension of screenshot for BB10 WebWorks on Github.

    https://github.com/jonwebb/WebWorks-BB10-screenshot

    It allows you to get a bitmap of your WebWorks app and save it to disk or memory.

    Features:

    • Save to file, or return a URL data
    • rectangle control to capture
    • quality control of JPEG compression
    • capture in JPEG, PNG format
    • set file permissions

    Enjoy!

    Of course!

  • allows you to set the callback function to extension webworks

    I see in BBM webworks API, the callback function (blackberry.bbm.platform.onaccesschanged) is defined as a field variable, then call the register function.

    Is the only way to pass a callback to webworks?

    You can pass a callback function as a parameter to a function call?

    In my exercise, I tried to define an acceptable extension webwork function a ScriptableFunction as one of the parameters.  When I pass the function() {alert("test")} as an argument, the webwork expansion feature does not work. The debugger displays the webworks function is not called when I try to get to the function as an argument.

    June

    Hi June,

    A callback function right at the method as fact in good number of our API, you can actually pass. On the top of my head, take a look at the readFIle API. You can find the source of the code here - https://github.com/blackberry/WebWorks/blob/master/api/io/src/main/java/blackberry/io/file/ReadFileF...

    You should be able to move from the ScriptableFunctions back with no problems

  • Use of BarCode WebWorks App extension attempt

    I have configured the extension of the barcode thus:

    The library.xml is located in C:\Program Files (x 86) \Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\webworks.media.barcode

    Files in directory and java UI are in C:\Program Files (x 86) \Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\webworks.media.barcode\webworks\media\barcode

    The app config.XML looks like this:


    http://www.w3.org/ns/widgets"xmlns:rim ="http://www.blackberry.com/ns/widgets"version ="1.0.0.0">"
      Soldier Barcode App
      DemoBarCode illustrates the native use of barcode libraries within the BlackBerry Application.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    When I try to package this I get the following error:

    C:\Program Files (x 86) \Research in Motion\BlackBerry SDK WebWorks 2.3.1.5 > bbwp C:\UID\SMBA\SoldierBarcodeAppTOSIGN.zip o C:\UID\SMBA\output
    [INFO]                  Parsing of the command line options
    [INFO]                  Bbwp.properties analysis
    [INFO]                  Validation of archive application
    [INFO]                  The analysis of config.xml
    [WARNING]               Can't find the item of
    [INFO]                  The application of filling source
    [Fatal error] library.xml:16:6: matching the target processing instruction "[xX] [mM] [he's]" is not allowed.
    [ERROR]                 Feature is not found in any extension (webworks.media.barcode)

    Help!

    I found that the problem was caused by the expansion webworks.media.barcode library.xml file.   The comments before thetag.  When I moved thetag of the first line of the file everything worked.

    Thanks to Jeff Bentley RIM to help resolve this problem.

  • How to handle shared extension webworks reference library

    My webworks extension uses a shared reference library.  The library module is deployed with an agent java application on the device already. In case of native java application, other applications that use this library shared do not overload the library during deployment.

    In the case of webworks app, seems that I have to put the library jar file in the root of the webworks app to be able to compile the web extension to bbwp command. However, after I deployed the cod file, I get prompt the class in the library has been defined in several.

    Is there a way to not wrap the library with the webworks app file?

    June

    I got response source RIM on another thread of e-mail and it workd form me. I post the answer here to share.

    The recommended method for distributing webworks extension is to copy the source in the ext of the webworks SDK folder. This will allow you to use a single code base across multiple use of a same extension. How to distinguish a pot for the inclusion of a compile-time only jar is with an additional label in the library.xml for dependencies.

    sample: bbm webwork extension:

    blackberry.bbm.platform.BBMPlatformExtension

    June

Maybe you are looking for

  • How toggle Touch Digital messages expire after 2 minutes?

    My partner and I have the iPhone 6 Plus and we have updated to iOS 10 today. My phone seems to work fine with Digital Touch but its not. When I get a touch digital message, the words "expires in 2 min" appears below the message on the right side. Sho

  • Cannot install Skype because impossible to uninstall

    It says it cannot locate the older version of Skype that must be uninstalled before that Skype is downloaded, the thing is I don't have Skype on my computer, I uninstalled it recently and there is no Skype folder on my computer. How can I fix it?

  • Satellite Pro L10-> I want to increase the memory

    I have a Satellite Pro L10 and want to increase memory. The manual accompanying it refers to "Chapter 7, unfortunately there is no chapter 7, annex just." Could you please tell me if I need specific to a type of memory card and also let me know what

  • Cannot run executable LabVIEW on desktop connection remote

    I have a couple of executable files, which are compiled using a LabVIEW 2011 development system, installed on a Windows XP computer.  These programs run fine when I double-click the icon while sitting at the computer. If I connect to the phone remote

  • GPU does not

    I have pavilion dv6-6170se had trouble with him and sent in a store and they told me that the problem is my AMD HD 6series does not work and causing the laptop down, and since it is embedded in the main Board, they told me that I have to change the e