Panel/Formと不揮発性メモリ

[目次|前回|次回|携帯Javaのページ|ローカルドキュメント]
Time-stamp: "2006-11-02 Thu 13:12 JST hig"

Panel/Form

ユーザに, 選択肢から一つを選んでもらったり, テキストを入力してもらったりする GUI 画面をPanel(Doja), Form(MIDP)といいます. そのなかでももっとも簡単な, TextBoxの使い方の例TextBoxSample.java を見てみましょう. 入力結果は, GUI 画面の中に反映させることもできますし, Canvas に反映させることもできます.

他にもいろいろな部品があります. 使い方の例 PanelSample.java を見てみましょう. イメージも使っていますので, 下の画像ファイルをresフォルダにいれましょう.

ファイル名gifpng
pose0

デフォルトでは, 部品は上からつまっていきますが, レイアウトマネージャを使うと, ある程度, 配置を制御できます.

また, 上の例TextBoxSample.javaでは, キー操作でアプリを正常終了できるようになっています. IApplication.terminate(), Midlet.destroyApp() を 呼び出せばいいのです.

不揮発性メモリ(スクラッチパッド, レコード)の使用

アプリの起動から終了までは, 変数に情報を保存しておくことができます. アプリの終了後も情報を保存し, 次回の起動の際に再び読み込む, という仕組みも用意されています. それが DoJa のスクラッチパッド, MIDP のレコード です. この2つは, アプリからみるとファイル入出力のようなものですが, だいぶ仕組みは違います. また, これらの仕組みは, 情報漏洩などセキュリティ上の弱点となりうるため, いろいろな制限が課されています.

サンプルは, MemorySample.javaです. ADF 設定で, DoJa なら SPSize を必要なバイト数(下の例なら16)に, MIDP なら MIDlet-Data-Size を必要なバイト数(下の例なら1000くらい?)に設定して, メモリーを確保する必要があります.

課題