<?xml version="1.0" encoding="shift_jis"?>
<rss version="2.0">
   <channel>
      <title>BREW FAQ</title>
      <link>http://www.s-cradle.com/developer/brew/tqbr/</link>
      <description></description>
      <language>ja</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Fri, 11 Apr 2008 13:37:57 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.21-ja</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>エミュレーターでは正常に動作していたのに、実機では異常終了するのですが … ？</title>
         <description><![CDATA[<p>下記の項目についてチェックします。</p>
<ol>
<li>AEECallback 構造体は初期化されていますか？</li>
<li>変数の初期化を忘れてませんか？</li>
<li>ファイルやネットワークなど MIF ファイルの特権レベルは正しく設定されていますか？</li>
<li>実機で動作させたとき、アプリ実行に必要なヒープ容量は確保されてますか？</li>
<li>不正な境界でメモリアクセスしていませんか？<br />ARM CPU の場合、奇数番地から２バイトや４バイトのデータをアクセスすると、CPU 例外
が発生します。</li>
<li>大域変数や 静的変数を使っていませんか？</li>
<li>DBGPRINTF() などを使って、実機上での動作を追跡してみてください。<br />
※ 大量に DBGPRINTF() を実行すると端末のバッファが溢れてログが欠損することがあります。<br /><br />
そのような場合、端末を sync dbgprintf モードに設定します。<br /><br />
BREW 3.1 端末ならば、<br /><br />
　　###273933284#  (  ###BREWDEBUGbrewdebug# )<br />
　　###4#<br /><br />
と続けて押すと sync モードに移行できます。<br /><br />
　　###0#<br /><br />
または<br /><br />
　　###273933284#  (  ###BREWDEBUGbrewdebug# )<br /><br />
で解除できます。(※)<br /><br />
詳細は下記の BREW JAPAN .COM サイトからダウンロードできる BREW Technical Tips [ p. 49 〜 52 ] をご覧ください。</li></ol>

<p>※ SYNC モードを解除できない場合:</p>

<p>デバッグキーモードから解除されるタイミングには機種依存があります。ある機種は端末再起動でデバッグに関する設定がすべて解除されるの
に対して、ある機種ではデバッグキーモードの設定のみ解除されたりします。</p>

<p>端末再起動後も SYNC モードが解除されない場合は、再度デバッグキーモードに移行し、 ###0# を押します。</p>

<p>このとき、端末は SYNC モードでキー入力への応答が非常に遅くなっていますので、ゆっくりとキーを押して、確実にキー入力を処理させるこ
とがポイントです。</p>

<p>ロガーを表示させて、キーイベントがログに表示されたら、次のキーを押す操作を繰り返せば確実に設定できます。</p>
<br />

<div class="r_information">
<p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" alt="" />&nbsp;関連情報</p>
<ul>
<li><a href="<$MTLink entry_id="2036"$>">MIF ファイルの特権レベルの設定とは？</a></li>
<li><a href="<$MTLink entry_id="2055"$>">大域変数 （ グローバル変数 ） や 静的変数 ( static 変数 ) は使えますか？</a></li>
<li><a href="http://www.brewjapan.com/technical/pdf/BREW_Programming_Tips_Public.pdf">BREW Technical Tips 「デバッグモードについて」
[ p. 49 〜 52 ]( PDF ファイル)</a></li>
<li><a href="http://brewforums.qualcomm.com/showthread.php?t=3979&highlight=debug+sequence">BREW Forums:  Debug Sequence Information</a></li>
</ul>
</div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/handset/post_81.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/handset/post_81.html</guid>
         <category>006|handset|実機</category>
         <pubDate>Fri, 11 Apr 2008 13:37:57 +0900</pubDate>
      </item>
            <item>
         <title>デバッグキーモードとは … ？</title>
         <description><![CDATA[<p>実機の DBGPRINTF() は処理の優先順位が低く、リセット直前のログの多くは失われます。そのため、バグの特定が困難な状況となります。このような場合、実機をデバッグキーモードにして、DBGPRINTF() の動作を同期させることでログ喪失が回避され、バグを特定しやすくなります。</p>
<p>デバッグキーモードの設定および操作方法は関連情報をご覧ください。</p>
<p>※ その他、ログ喪失を回避する手段として ILogger インターフェースを使ってログをファイルに出力させる方法もあります。</p>


<div class="r_information">
<p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" alt="" />&nbsp;関連情報</p>
<ul>
<li><a href="<$MTLink entry_id="2262"$>">エミュレーターでは正常に動作していたのに、実機では異常終了するのですが … ？</a></li>
<li><a href="http://www.brewjapan.com/technical/pdf/BREW_Programming_Tips_Public.pdf">BREW Technical Tips 「デバッグモードについて」[ p. 49 〜 52 ]( PDF ファイル)</a></li>
<li><a href="http://brewforums.qualcomm.com/showthread.php?t=3979&highlight=debug+sequence">BREW Forums:  Debug Sequence Information</a></li>
</ul>
</div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/handset/post_66.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/handset/post_66.html</guid>
         <category>006|handset|実機</category>
         <pubDate>Fri, 11 Apr 2008 13:15:00 +0900</pubDate>
      </item>
            <item>
         <title>BREW 標準のルートＣＡ証明書は？</title>
         <description><![CDATA[<p>BREW では、SSL接続に必要なルートＣＡ証明書がいくつか SSLRootCerts に標準で登録されています。

<p>以下の証明書が標準で利用可能です。それ以外のルートＣＡ証明書は登録する必要があります。(参照：関連情報)</p>

<ul>
<li>Thawte Server CA </li>
<li>Thawte Premium Server CA </li>
<li>Verisign Class3 Primary CA </li>
<li>Verisign Class2 Primary CA </li>
<li>RSA Secure Server Certification Authority </li>
<li>Equifax Secure Certificate Authority</li>
<li>Equifax Secure eBusiness CA-1</li>
</ul>

<div class="r_information">
<p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p>
<ul>
<li><a href="http://brewforums.qualcomm.com/ja/showthread.php?t=220&highlight=ssl">ＢＲＥＷ フォーラム(QUALCOMM):[SSL通信をするためについて]</a></li>
</ul>
</div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/network/brew_1.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/network/brew_1.html</guid>
         <category>015|network|ネットワーク</category>
         <pubDate>Mon, 07 Jan 2008 16:57:48 +0900</pubDate>
      </item>
            <item>
         <title>BREW 2.1 のエミュレーターが動作しないのですが…</title>
         <description><![CDATA[<p>MIF ファイルのパスに日本語が入っていると正常に動作しない場合があります。</p>

<p>「ツール」 から 「設定」を選択し、MIF 初期ディレクトリを確認してください。</p>

<div class="r_information">
<p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p>
<ul>
<li><a href="<$MTLink entry_id="2045"$>">エミュレーターとは？</a></li>
<li><a href="<$MTLink entry_id="2035"$>">MIF ファイルとは？</a></li>
</ul>
</div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/emulator/brew_21.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/emulator/brew_21.html</guid>
         <category>005|emulator|エミュレータ</category>
         <pubDate>Wed, 20 Jun 2007 12:29:55 +0900</pubDate>
      </item>
            <item>
         <title>ファイル名に大文字小文字が混じっていても大丈夫ですか？</title>
         <description><![CDATA[<p>BREW SDK v3.1 では、ファイル名がすべて小文字である必要があります。</p>

<p>アプリケーションクラス名などは大文字が混じっていても、警告が出るだけで、BREW 3.1 上で問題なく動作することを確認しております。</p>

<p>リソースファイル名などに関しては、大文字が混じっていると動作しない場合があるので、すべて小文字にすることを推奨します。</p>

<p>BREW 3.1 用プロジェクトを新しく作成する場合も、小文字にすることを推奨します。</p>
]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/file_sys/post_33.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/file_sys/post_33.html</guid>
         <category>014|file_sys|ファイルシステム</category>
         <pubDate>Mon, 28 Aug 2006 19:31:55 +0900</pubDate>
      </item>
            <item>
         <title>Microsoft Visual C++ 2005 で BREW アプリを開発できますか？</title>
         <description><![CDATA[<p>Microsoft Visual C++ 2005 Express Edition は無償でダウンロードできる C++ 開発環境で、BREW 開発にも使用できます。</p>
<p> ただし、Qualcom 提供の BREW 用アドインは VC2005 に 対応していないため、 BREW アプリウィザードと、make ファイル作成機能は使用できません。</p>
<h3>■Microsoft Visual C++ 2005 のセットアップ</h3>
<p> 以下のURLから入手します。ダウンロードしたインストーラ(vcsetup.exe)からインストールします。<br />
  <a href="http://www.microsoft.com/japan/msdn/vstudio/express/visualc/" target="_blank">http://www.microsoft.com/japan/msdn/vstudio/express/visualc/</a></p>
<h3> ■BREW アプリの作成</h3>
<p> BREW アプリの作成は VC2003 の場合と同じです。ただし、BREW アプリウィザードは VC2005 には対応していないため、アプリの骨組みに当たる部分から自分で書いていく必要があります。<a href="http://www.s-cradle.com/developer/itmedia/helloworld1.html">BREW プログラミング入門の HelloWorld</a> を参考にしてください。</p>
<p>（HelloWorld には VC6 のプロジェクトファイルが同梱されています。これを VC2005 で開いてそのまま使用できます）</p>
<h3>■エミュレータでの実行</h3>
<p>エミュレータでの実行も VC2003 と同様です。</p>
<p>コンパイル時に「ファイル 'XXX.lib' を開くことができません」というエラーが出る場合、メニューから [プロジェクト] → [プロパティ] を選択し、[構成プロパティ] → [リンカ] → [入力] → [追加の依存ファイル] から、XXX.lib を削除します。  </p>
<h3>■SophiaFramework</h3>
<p>SophiaFramework を用いる場合も同様です。ただし、include フォルダと library フォルダの場所を指定する必要があります。( ただし、アプリウィザードと make ファイル作成機能は使用できません。 )</p>
<p>メニューから [ツール] → [オプション] を選択し、[プロジェクトおよびソリューション] → [VC++ ディレクトリ] → [インクルード ファイル] に include フォルダ (SophiaFramework\4.1\Include) を指定します。</p>
<p>同様に [ライブラリ ファイル] に library フォルダ (SophiaFramework\4.1\Library) を指定します。</p>
<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul>
	<li>Microsoft : <a href="http://www.microsoft.com/japan/msdn/vstudio/express/visualc/" target="_blank">Visual C++ 2005 Express Edition 日本語版</a></li>
    <li><a href="http://www.s-cradle.com/developer/itmedia/helloworld1_3_1.html">BREW プログラミング入門 　「&quot;HelloWorld&quot; プログラムを作ろう」</a></li>
    <li><a href="http://www.s-cradle.com/developer/brew/toolkit2003.html">Microsoft Visual C++ Toolkit 2003 の使用方法</a></li>
    <li><a href="http://www.s-cradle.com/products/sophiaframework/index.html">SophiaFramework</a></li>
</ul>
</div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_env/microsoft_visual_c_2005_brew.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_env/microsoft_visual_c_2005_brew.html</guid>
         <category>002|brew_env|BREW 開発環境</category>
         <pubDate>Wed, 19 Jul 2006 19:48:41 +0900</pubDate>
      </item>
            <item>
         <title>カメラのアプリが BREW 2.1 エミュレータで動作しないのですが…</title>
         <description><![CDATA[BREW 2.1 エミュレータは、 ICAMERA インターフェースをサポートしておりません。

弊社では、Camulator という ICAMERA インターフェースをシミュレートするツールを
公開しております。

Camulator を使うと、 ICAMERA インターフェースを使うカメラのアプリは BREW 2.1 エミュレータで動作します。

※ BREW 3.1 以降、ＰＣにカメラを接続することによりカメラのアプリをエミュレータ上で動作させることが可能になっています。

<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul><li><a href="http://www.s-cradle.com/products/brewtools/camulator.html">Camulator</a></li></ul></div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/camera/post_6.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/camera/post_6.html</guid>
         <category>019|camera|カメラ</category>
         <pubDate>Tue, 18 Jul 2006 09:17:00 +0900</pubDate>
      </item>
            <item>
         <title>HelloWorld アプリを携帯で動かすまでの流れは？</title>
         <description><![CDATA[<p>HelloWorld アプリを携帯で動かすまでの流れについては、下図をご覧ください。</p>
<p>（クリックすると、詳しい解説にジャンプします）</p>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_intro/helloworld.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_intro/helloworld.html</guid>
         <category>001|brew_intro|BREW 入門</category>
         <pubDate>Tue, 13 Jun 2006 17:09:51 +0900</pubDate>
      </item>
            <item>
         <title>メモリの扱いに関する注意点は？　</title>
         <description><![CDATA[BREW プログラミングでは、メモリの確保と解放はプログラマが明示的に行なわなければなりません。

Java のようにガベージコレクションが働いて、使われなくなったメモリが自動的に再利用されることはありません。

確保したメモリを解放し忘れると、使用可能なメモリ容量が次第に減少する、いわゆる「メモリリーク」という現象が発生します。

「メモリリーク」は検出が困難なバグのひとつでとても厄介です。

「メモリリーク」の問題を避けるには、確保したメモリは必ず解放する必要があります。

また、メモリの確保と解放を何度も繰り返していると、空きのメモリ領域が断片化し、時間の経過と共にまとまったメモリ領域を確保することが次第に困難になります。

このような事態を避けるには、滅多に必要とされないものを除いて、アプリの開始時またはレジューム時にアプリ全体が必要とするメモリをまとめて確保し、アプリの終了時またはサスペンド時にそのメモリをまとめて解放するようなプログラミングスタイルが必要です。

<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul><li><a href="<$MTLink entry_id="1934"$>">端末のメモリの全容量と空き容量を知るには？</a></li><li><a href="<$MTLink entry_id="1936"$>">ヒープに空きがあるのに MALLOC() でメモリ確保に失敗します！？</a></li><li><a href="<$MTLink entry_id="1934"$>">BREW にガベージコレクションを行うAPIはありますか？</a></li></ul></div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/memory/post_53.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/memory/post_53.html</guid>
         <category>011|memory|メモリ</category>
         <pubDate>Tue, 06 Jun 2006 19:50:45 +0900</pubDate>
      </item>
            <item>
         <title>Q3D ファイル形式とは?</title>
         <description><![CDATA[<p>Q3D ファイル形式とは、Qualcomm 社独自の 3D モデリングデータを扱うファイル形式のことです。</P>
<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul><li><a href="<$MTLink entry_id="1917"$>">I3D Sample を BREW 2.1 のエミュレーターで動作させるには？</a></li><li><a href="<$MTLink entry_id="2091"$>">Q3D コンバーターとは何ですか？</a></li></ul></div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/glossary/q3d_1.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/glossary/q3d_1.html</guid>
         <category>025|glossary|用語集</category>
         <pubDate>Mon, 05 Jun 2006 22:11:41 +0900</pubDate>
      </item>
            <item>
         <title>レジュームするとき、ICamera インターフェースはどのように処理すればいいですか？</title>
         <description><![CDATA[<p>レジューム時の処理として、 ICamera インターフェースのインスタンスの生成をプログラムとして記述する必要があります</p>
<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul><li><a href="<$MTLink entry_id="2014"$>">サスペンドするとき、ICamera インターフェースはどのように処理すればいいですか？</a></li><li><a href="<$MTLink entry_id="2002"$>">サスペンド / レジュームのとき、アプリのコンテキストはどうなりますか？</a></li><li><a href="http://www.s-cradle.com/developer/itmedia/camera1.html">BREW プログラミング入門　「BREW でカメラ」</a></li><li><a href="http://www.s-cradle.com/developer/itmedia/suspend1.html">BREW プログラミング入門 「サスペンドとレジューム」</a></li></ul></div>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/event/icamera_1.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/event/icamera_1.html</guid>
         <category>008|event|イベント</category>
         <pubDate>Mon, 05 Jun 2006 19:09:58 +0900</pubDate>
      </item>
            <item>
         <title>BCI ファイルとは？</title>
         <description><![CDATA[BCI ファイルとは、<a href="<$MTLink entry_id="1951"$>">BREW Compressed Image 作成ツール</a> ( BCI ツール )で作成される圧縮ファイルのことです。

IImage インターフェイスを使って、画像やアニメーションなどの BCI ファイルを表示します。

<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul><li><a href="<$MTLink entry_id="1951"$>">BREW Compressed Image (圧縮画像) 作成ツールとは</a>？</li></ul></div>
]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_app_set/bci.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_app_set/bci.html</guid>
         <category>003|brew_app_set|BREW アプリ構成</category>
         <pubDate>Mon, 05 Jun 2006 13:03:05 +0900</pubDate>
      </item>
            <item>
         <title>世界マーケットでの BREW 普及状況は？</title>
         <description><![CDATA[QUALCOMM社サイトの　<a href="http://brew.qualcomm.com/brew/ja/about/brew_today.html" target="_blank">「BREW の今日」</a>をご覧ください。]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_intro/_brew_1.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_intro/_brew_1.html</guid>
         <category>001|brew_intro|BREW 入門</category>
         <pubDate>Thu, 01 Jun 2006 20:30:13 +0900</pubDate>
      </item>
            <item>
         <title>BREW アプリの処理の流れは？</title>
         <description><![CDATA[<p>アプリケーションマネジャーが BREW アプリの AEEClsCreateInstance() 関数を呼び出すことでBREW アプリは開始します。</p>

<table border="0" width="98%">
 <tr>
  <th>【 BREW アプリの処理の流れ 】</th>
 </tr>
 <tr>
  <td id="center"><img src="<$MTBlogURL$>/img/brew_app_flow.jpg" alt="BREW アプリの 処理の流れ"  /></td>
 </tr>
</table>]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_programming/brew_17.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_programming/brew_17.html</guid>
         <category>004|brew_programming|BREW プログラミング</category>
         <pubDate>Thu, 01 Jun 2006 18:32:17 +0900</pubDate>
      </item>
            <item>
         <title>大きな音声ファイルを再生するには？</title>
         <description><![CDATA[<p>一括で読み込むには大きすぎる音声ファイルを途切れずに再生するには、IMediaUtil インターフェイス、または IMedia 派生インターフェイスを使います。</p>
<p>このとき、メディアデータ構造体 (AEEMediaData) に音声ファイル名を設定し、IMediaUtil_CreateMedia() や IMEDIA_SetMediaData() を呼び出します。</p>
<p>IMediaUtil インターフェイスを使うときの手順は以下のとおりです。</p>

<ol>
<li>ISHELL_CreateInstance() を呼び出し、IMediaUtil インタフェースを作成します。</li>
<li>メディアデータ構造体に音声ファイル名を設定します。<pre style="margin-top:10px">  AEEMediaData {
  clsData = MMD_FILE_NAME
  pData   = 音声ファイル名
  dwSize  = 0
  }</pre></li>
<li>IMediaUtil_CreateMedia() を呼び出し、IMedia 派生インタフェースを作成します。</li>
<li>IMedia_Play() を呼び出し、音声を再生します。</li>
</ol>
<div class="r_information"><p><img src="http://www.s-cradle.com/images/small_icons/button_tri_r12.gif" al="" />&nbsp;関連情報</p><ul>
  <li><a href="http://www.s-cradle.com/developer/itmedia/playmedia1.html">BREW プログラミング入門　「音を出してみよう」</a></li>
</ul></div> ]]></description>
         <link>http://www.s-cradle.com/developer/brew/tqbr/brew_programming/post_80.html</link>
         <guid>http://www.s-cradle.com/developer/brew/tqbr/brew_programming/post_80.html</guid>
         <category>004|brew_programming|BREW プログラミング</category>
         <pubDate>Thu, 01 Jun 2006 15:30:06 +0900</pubDate>
      </item>
      
   </channel>
</rss>
