Утилита BlackBerry Screen Shot ... Torch 9850 ... руководство по созданию собственного скрипта / инструмента захвата - PullRequest
1 голос
/ 08 октября 2011

Я предоставляю это всем, чтобы, надеюсь, сэкономить вам повреждение мозга, найдя это самостоятельно.

Поскольку я работаю над проектом BlackBerry, который будет работать на различных устройствах, я столкнулся с проблемой захвата скриншотов с телефона (включая Torch 9850 ... не так хорошо, как мои iPhone или мои Android EVO или Infuse, но гораздо лучше, чем Storm, и, наконец, начинает выглядеть как настоящий смартфон - отличная производительность и время автономной работы).

Обычно я использовал бы мой верный BBScreenShooter, и все было бы хорошо, но он продолжал падать при попытке сделать снимок на 9850. Я отправил пару запросов о помощи на этом сайте , но никто мог бы сказать мне, почему мой BBScreenShooter зависал или почему я получал "Retrieving screen <active> data ... Error: buffer too small" при непосредственном использовании утилиты JavaLoader от RIM.

Для тех, кто не знал, BBScreenShooter делегирует «тяжелую работу» JavaLoader для захвата изображений.

С помощью Марка Сома (легко одного из самых знающих парней из ББ, которого я знаю, ходя по планете) он попросил меня проверить, что я использую JavaLoader, который входит в SDK v7. Оказывается, я не был. Хороший улов Марк, и спасибо!

Судя по всему, более ранние версии утилиты JavaLoader имеют байтовые [] буферы, которые они используют для захвата изображений, которые жестко закодированы ... и слишком малы.

Итак, для всех тех, кому нужно делать снимки экрана с новых телефонов RIM с разрешением 480 x 800, я включил краткое руководство "как сделать", чтобы помочь вам получить продуктивную работу как можно скорее.

Шаг 1. Убедитесь, что у вас загружен SDK v7.0 (его не нужно устанавливать, хотя я не могу найти вескую причину для этого). Для пользователей Eclipse:

Шаг 1а) Перейти в меню Справка

Шаг 1b) Выберите пункт меню «Установка нового программного обеспечения»

Шаг 1c) Добавьте элементы «BlackBerry - http://www.blackberry.com/go/eclipseUpdate/3.6/java"» в поле «Работа с».

Шаг 1d) В разделе «Категория подключаемых модулей BlackBerry Java» найдите флажок «BlackBerry Java SDK v7.0.0.X» и нажмите «ДАЛЕЕ».

Шаг 1e) Примите лицензионные соглашения и продолжите процесс загрузки и установки.

Шаг 2 - Перейдите в каталог установки для вашего недавно добавленного SDK. Мы собираемся получить копию пути к утилите JavaLoader и использовать его в файле BAT, который будет автоматизировать захват и присвоение имен снимкам экрана. Это можно найти в /plugins/net.rim.ejde.componentpack7.0.0_7.0.0.28/components/bin/JavaLoader.exe

.

Шаг 3 - Создайте папку, которую хотите использовать для сохранения снимков экрана. Это также будет содержать ваш BAT-файл, поскольку BAT-файл является специфическим для данного конкретного проекта.

Шаг 4 - Создайте файл BAT. В моем примере я держу все свои IDE, SDK ... фактически все среды разработки на жестком диске, отличном от моей ОС. Я сохраняю их на диске D, но изменяю свой BAT, чтобы отразить местоположение и потребности вашей конфигурации.

Шаг 4а) Важно отключить эхо, иначе вы, вероятно, не сможете использовать значок на рабочем столе для запуска этого скрипта / утилиты.

Шаг 4b) Если ваш BAT-файл работает локально (в той же папке), что и JavaLoader, тогда этот шаг будет ненужным. С другой стороны, если ваш JavaLoader находится на другом жестком диске и спрятан глубоко в папках, вам придется «сменить каталог», чтобы добраться до него. Обратите внимание на параметр «/ D», который используется с командой «change directory - cd», чтобы мы могли изменить диски и пути за один шаг.

Шаг 4c) Поскольку мне нравится использовать временные метки для части моих имен файлов ... установите локальные переменные для представления текущей даты и времени.

шаг 4d) Следующие операторы for анализируют текущую дату и время с моего компьютера с Windows 7 в формат, который я хочу включить в качестве имен файлов для снимков экрана ... file name == BlackBerry_<date image was taken>_<time image was taken>.bmp.

Шаг 4e) Скопируйте только что созданный снимок экрана устройства, захваченный JavaLoader, в вашу целевую папку и используйте имя файла, которое мы только что создали.

Шаг 4f) Теперь, когда мы успешно получили копиюснимок экрана, сохраненный в нашей целевой папке, мы можем удалить временное изображение, созданное JavaLoader.

Шаг 4g) Я повторяю небольшое утверждение, которое позволяет мне знать, что все работает.

Пример BAT-файла:

@echo off

cd /D D:\Program Files (x86)\EclipseBlackBerry\plugins\net.rim.ejde.componentpack7.0.0_7.0.0.28\components\bin

JavaLoader screenshot tempImage.bmp

set timestampdate=%date%

set timestamptime=%time%

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set timestampdate=%%c-%%a-%%b)

For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set timestamptime=%%a%%b)

copy tempImage.bmp "C:\Users\CirrusFlyer\Desktop\<project name>\Testing\Screenshots\BlackBerry_%timestampdate%_%timestamptime%.bmp"

DEL tempImage.bmp

echo Completed "...\<project name>\Testing\Screenshots\BlackBerry_%timestampdate%_%timestamptime%.bmp"

Шаг 5 - Закройте и сохраните файл BAT.Я сохранил BAT в своей реальной папке проекта, затем создал ярлык и поместил его на рабочий стол.Таким образом, я могу запустить и запустить Eclipse и отлаживать приложение на своем телефоне, а когда я захочу сделать снимок экрана, просто дважды щелкните ярлык, чтобы выполнить захват.

Это создаст снимки экранаи поместите их в целевой каталог: например, BlackBerry_2011-10-07_1015 PM.bmp.

Шаг 6 - Готово.Удачного кодирования.Надеюсь, это поможет.

Мой следующий проект: расширение Eclipse, чтобы я мог делать снимки экрана непосредственно из IDE так же, как при программировании на Android.

...