これを提供するのは、これを自分で見つけて脳に損傷を与えないようにするためです。
さまざまなデバイスで実行される BlackBerry プロジェクトに取り組んでいるとき、ハンドセット (Torch 9850 を含む) からスクリーンショットを取得する際に問題が発生しました。iPhone や Android EVO や Infuse ほどではありませんが、はるかに優れています。ストームよりも本物のスマートフォンのように見えるようになりました - 優れたパフォーマンスとバッテリー寿命も)。
通常、私は信頼できる BBScreenShooter を使用し、すべて問題ありませんが、9850 で画像をキャプチャしようとするとクラッシュし続けました。このサイトにヘルプのリクエストをいくつか投稿しましたが、BBScreenShooter がクラッシュした理由や理由を誰も教えてくれませんでした。"Retrieving screen <active> data ... Error: buffer too small"
RIM の JavaLoader ユーティリティを直接使用した場合に 得られる理由。
BBScreenShooter が画像を取得するための「面倒な作業」を JavaLoader に委任していることを知らなかった人のために説明します。
Mark Sohm (私が地球上を歩いていることを知っている最も知識豊富な BB 担当者の 1 人です) の助けを借りて、彼は v7 SDK に含まれている JavaLoader を使用していることを確認するように私に依頼しました。私はそうではなかったことがわかりました。良いキャッチマーク、そしてありがとう!
見た目からすると、以前のバージョンの JavaLoader ユーティリティには、ハードコードされたイメージ キャプチャに使用する byte[] バッファがあり、小さすぎます。
そのため、RIM の新しい 480 x 800 ベースのハンドセットからスクリーン ショットをキャプチャする必要があるすべての人のために、できるだけ早く生産性を高めるのに役立つ簡単な「ハウツー」ガイドを含めました。
ステップ 1 - v7.0 SDK がダウンロードされていることを確認します (インストールする必要はありませんが、インストールしない正当な理由は思いつきません)。Eclipse ユーザーの場合:
ステップ 1a) ヘルプ メニューに移動します。
ステップ 1b) [新しいソフトウェアのインストール] メニューの選択
ステップ 1c) 「Work with」フィールドに「BlackBerry - http://www.blackberry.com/go/eclipseUpdate/3.6/java」項目を追加します。
ステップ 1d) [BlackBerry Java Plug-in カテゴリ] の下で、[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、...事実上すべての開発環境を OS とは別のハード ドライブに保持しています。これらはドライブ D に保持しますが、BAT を変更して、構成の場所とニーズを反映させます。
ステップ 4a) エコーをオフにすることが重要です。オフにしないと、おそらくデスクトップ上のアイコンを使用してこのスクリプト/ユーティリティを起動できなくなります。
ステップ 4b) BAT ファイルが JavaLoader としてローカル (同じフォルダー) で実行されている場合、このステップは不要です。一方、JavaLoader が別のハード ドライブにあり、フォルダの奥深くに隠れている場合は、「ディレクトリを変更」してアクセスする必要があります。同じステップでドライブとパスを変更できるように、「change directory - cd」コマンドで使用される「/D」スイッチに注意してください。
ステップ 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 を拡張して、Android ベースのプログラミングを行うときと同じように、IDE 内から直接スクリーン キャプチャを実行できるようにします。