BlackBerry - JavaLoader error when using the "screencapture" option [duplicate] - blackberry

I am looking for a screen shot tool that I can use to capture screens from my BlackBerry Tourch 9850. I have tried using the included JavaLoader utility with my SDK but I receive "Retrieving screen <active> data ... Error: buffer too small" errors. I have also tried using the BBScreenShooter v1.67 (I think this is the latest version) but it fails to capture the screen, then crashes.
I need the tool to create a user manual for some software we're developing for BlackBerrys and, as they say, "a picture is worth a thousand words."
If nothing else, perhaps someone knows how to address the small buffer problem with JavaLoader?

With the help of Mark Sohm (thanks Mark ... your help is very much appreicated) the solution was discovered: You have to use the JavaLoader from the v7.0 SDK on devices that have the higher screen resolutions ... the Tourch 9850 is 800 x 480. Versions 6 and lower do not have an implementation that will support the larger buffer required to grab the addition bytes - makes sense.
Although I have not tested it yet it's certainly possible that the BBScreenShooter would work also knowing this .... BBScreenShooter uses JavaLoader to handle the "heavy lifting" with the handset.

Try this way:
Create an application that runs on device startup and listens for GlobalEvents (via GlobalEventListener implementation)
Run this application in JDE or Eclipse and monitor what global events are fired when you press convenience keys on your blackberry device. Write event guids down and find out a guid that corresponds to a convenience key, when it is pressed.
Modify the application created at step 1 to use Display class and invoke screenshot() method of this class when a convenience key is pressed.
As screenshot has been created save it to the device filesystem via BlackBerry FileConnections API. After that you can copy these pictures to your desktop computer when device is connected via usb-cable.
That's it. This application will allow you to solve your task. And may become an additional product for your company, if you add some settings to setup convenience key(s) and path to save created screenshots on device memory/media card.

I'm not sure how to actually fix your problem but alternatively you could just run the application in the device simulator and get the screenshots from there. Run the simulator and go to "Edit" > "Save LCD Snapshot".

Related

View the file system of iPad/iPhone to verify saved files

I would like to be able to view the file system of my actual iPad/iPhone to verify that files are being written correctly. I can do this using the simulator by navigating to Users/me/Library/Application Support/iPhone Simulator/6.0/Applications/specific app/Documents. Here I can see all of the files and data I have written from within my app.
I would be really helpful if anyone knows of an app or some way of viewing the file system of my apps WITHOUT JAIL BREAKING
Thanks in advance
Take a look at iExplorer:
http://www.macroplant.com/iexplorer/
Also, look at this question:
https://apple.stackexchange.com/questions/54682/easiest-way-to-browse-iphone-filesystem
Strongly recommend iFunbox, take a look at LifeHacker review here. Easy to use and you can even access your iPhone over WiFi. No jailbroken required too.
You should try DiskAid: http://www.digidna.net/diskaid which is way better than iExplorer. You can connect to your iPhone or iPad via Wi-Fi and USB and browse your iOS file system, app sandboxes and it supports multiple device and simultaneous file transfers.
I am almost 100% sure this is not possible without a jailbreak (at least not on the device itself). If it works on the simulator, then it should be saving correctly on the actual device. If you need to verify it, just read the file from your app, and turn it into an NString, and NSLog it.
Then you will know if it is working.
Cheers.
EDIT
Of course, as others have mentioned, there is iExplorer, but you have to view the files on a Mac. And it won't show system files.

BlackBerry ButtonField not found

I have a Blackberry application. This application downloads then plays a video file.
I am trying to switch to a model where the video is bundled in with the application inside the res/media/ folder.
The only chane in the application was making the input stream that gets displayed on the Player come from the file in res/media/ rather than the file stored in the media storage of the device. I did not change anything else related to any View components.
But now when I try to start the application I get an error dialog that says:
"Error starting [myAppName]: Class 'net.rim.device.api.ui.component.ButtonField' not found."
Since I did not change anything related to a ButtonField why would I be getting this error now that the video is bundled in?
By adding the video file it made it so that my project had many additional files that needed to be signed. They all get signed correctly. But when the application is launching I get messages in the console that say something like
CMM: [MyAppName] no sig from 0x33
which I did not get when the video wasn't bundled with the resources. Is this somehow related to my problems?
My application does not even get a chance to begin. I have log statements at the beginning that I never see. It fails before it even begins.
The error you are receiving indicates that your app is too large. In my experience there is a practical limit of around 5MB for an application, any more than this and you will run into these strange 'class not found' errors.
Try adding a smaller video file to see whether the problem goes away.
CMM: [MyAppName] no sig from 0x33 means that [MyAppName] has not been signed with a code signing key identified by 0x33. This key is only available to applications produced by RIM, and can be ignored by your application. Dont worry about it.we see it all the time.
I suspect you are trying to test your app in the emulator. try your app in device and see what happens.
Also i dont think its a good idea bundling a video in your app as it will increase the size of the app significantly. You can download the app on startup and save it in filesystem. There is a limit of about 15 MB for a blackberry app. check this http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-smartphone-application/ta-p/1300209
Have you changed the JDE you use in this project? Newer JDEs are not compatible with previous OS. I have encountered same problem before, some UI components are not available after I changed JDE to 4.7.

BlackBerry screen shot utility - from a desktop computer

I am looking for a screen shot tool that I can use to capture screens from my BlackBerry Tourch 9850. I have tried using the included JavaLoader utility with my SDK but I receive "Retrieving screen <active> data ... Error: buffer too small" errors. I have also tried using the BBScreenShooter v1.67 (I think this is the latest version) but it fails to capture the screen, then crashes.
I need the tool to create a user manual for some software we're developing for BlackBerrys and, as they say, "a picture is worth a thousand words."
If nothing else, perhaps someone knows how to address the small buffer problem with JavaLoader?
With the help of Mark Sohm (thanks Mark ... your help is very much appreicated) the solution was discovered: You have to use the JavaLoader from the v7.0 SDK on devices that have the higher screen resolutions ... the Tourch 9850 is 800 x 480. Versions 6 and lower do not have an implementation that will support the larger buffer required to grab the addition bytes - makes sense.
Although I have not tested it yet it's certainly possible that the BBScreenShooter would work also knowing this .... BBScreenShooter uses JavaLoader to handle the "heavy lifting" with the handset.
Try this way:
Create an application that runs on device startup and listens for GlobalEvents (via GlobalEventListener implementation)
Run this application in JDE or Eclipse and monitor what global events are fired when you press convenience keys on your blackberry device. Write event guids down and find out a guid that corresponds to a convenience key, when it is pressed.
Modify the application created at step 1 to use Display class and invoke screenshot() method of this class when a convenience key is pressed.
As screenshot has been created save it to the device filesystem via BlackBerry FileConnections API. After that you can copy these pictures to your desktop computer when device is connected via usb-cable.
That's it. This application will allow you to solve your task. And may become an additional product for your company, if you add some settings to setup convenience key(s) and path to save created screenshots on device memory/media card.
I'm not sure how to actually fix your problem but alternatively you could just run the application in the device simulator and get the screenshots from there. Run the simulator and go to "Edit" > "Save LCD Snapshot".

Deleting an Application from 8830

We have developed an application for 8830 Device and its working fine.
The problem that we are facing now is that, we are unable to delete the application from the device.
We selected the application, pressed the menu button, but dont find any delete option.
We went to the applications list, through advanced options, but surprisingly we dont see our application in that that applications list(By Deploying the same application in higher devices such as 9630 and 9550,9800) we see a delete option, by pressing menu and also see our application in the options->application list.
We went to modules, and identified the modules of the application, but there also we were not able to find the delete option in it.
We also tried using the blackberry desktop software too, but in vain, we dont find our application in that list too
** The current device we are using is not configured with any BES(We are registered with the BIS) And moreover, we are able to delete the yahoo messenger, gtalk, twitter from the mobile except our application(It just behaves like some shortcut).
Do we need to add some extra lines of code in any class so that it gets identified as an application.Kindly help on this.
Thanks in advance,
Dheeraj Jami
Usually when an application installed via BB Desktop Manager + .alx file or wirelessly (Browser + jad file) the application is listed in the applications list and can be deleted by end-user without any problems.
But if the application installed via javaloader or cod file created automatically via RIM SDK then the application won't be listed in the application list.
The working way to delete unwanted cod file(s) is using javaloader.exe that comes with JDE distribution package.
Connect your device to the desktop computer via usb-cable and type the command in command line, when you are in folder where javaloader.exe located:
javaloader -usb erase -f unwantedfile.cod
and press Enter
Do we need to add some extra lines of code in any class so that it gets identified as an application.
No, you don't. From my experience it just happens sometimes with BlackBerries. In this case the only way to get rid of it is to pull the battery out of the device. This action resets the device to its factory state (all apps installed by user will be lost).

Screenshot tool for BlackBerry?

I am working on a web development project that I want to make sure works well on the BlackBerry browser. As part of both testing and documentation, I want to be able to take screenshots of my application and was wondering where to start.
I see there are a couple of pay applications on BlackBerry App World when I search for screenshot, but I am looking for recommendations or other options. Specifically, I have a Bold 9700 (v5.0.0.296, platform 5.1.0.83).
It appears this feature is built into the iPhone, according to the iPhone User Guide.
Take a screenshot of the iPhone
display: Quickly press and release the
Sleep/Wake and Home buttons at the
same time.
You may want to write you're own app or service to make screenshots.
Use
Display.screenshot(Bitmap bitmap)
or
Display.screenshot(Bitmap bitmap, int x, int y, int width, int height)
Note: you should sign app to use this api
If you have the developer tools installed, you can use "javaloader -u screenshot file.bmp" to capture a screenshot. Otherwise, the easiest way is to install a PC app called Master Control Program which has the capability to capture screenshots as well (as long as you have your device connected to your PC with a USB cable).
I get BlackBerry screenshots in two ways:
-On real devices I connect them to my PC over USB and run javaloader -u screenshot image.bmp from the command line (as Marc says, it's included with the developer tools).
-The BlackBerry Simulator makes it easy to take screenshots by pressing F3 (or choosing Edit -> Save LCD Snapshot from the menu, note you can choose to save directly as a .png, which is handy). You can change which phone model to simulate based on the SDK you have installed. For the 9700 I think you will need the V5.0 OS SDK (I haven't tried that yet), which you can get from here.
BBScreenShooter http://oppitronic.net/pb/ouiVC.php#BBScreenShooter
I've also heard of something called BB Stream that will actually stream the blackberry screen to your PC. Can't find it anywhere though.
This is a very good guide
http://www.aboutonlinetips.com/taking-screenshots-of-blackberry-screen/

Resources