忍者ブログ

ごはんどきプログラミング

主にプログラミングに関する記事を掲載。 まあ開発メモです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

携帯アプリ開発記②③

■Java ME の Form クラスについての結論

ことさらMIDP2.0についていえば

「結論:Formクラスでまともなアプリは作れない」
という結論に達しました。

テストならFormクラスでもいいですが
ユーザに配布するアプリ向きではないようです。

CustomItemを、かなりカスタマイズすれば
ある程度のものはできるかもしれません

しかし「工数」を考えたときが問題となります。
CustomItemを継承して、いろいろ自作する工数と
Canvasクラスを継承して、いろいろ自作する工数は
あまり変わらない気がします。

だとすれば汎用性の高いCanvasクラスを選択するほうがよいと思います。


あとは操作性の問題があります。

私は「アプリはその操作している時間をユーザから奪っている」と
考えています。
その「ユーザから奪っている時間」に価値があればいいですが
Formクラスに、その操作性を実現するための機能は
備わっていないと感じています。


「開発者の使用する時間」
「エンドユーザの使用する時間」

を考えないといけませんね。


テキストボックスのように規定の入力を
させるときは
DisplayクラスのsetCurrent関数で
TextBoxを指定するなどして
対応すると良いかと思います。



拍手[0回]

PR

携帯アプリ開発記②②


■Java ME でのFormクラス
Canvasクラスの学習が一段落したので
今度はFormクラスについて学習
だいぶ違う。

・Canvasクラス … 自前で描画、キー入力を制御する。
         ゲーム向き。
・Formクラス  … Windowsのようにコントロールを配置して制御する。
         ツール向き?

Item … 子コントロールの事。
    Formの中にItemは置けるが、Canvasの中には置けない。

StringItem … Labelコントロール(VC6のスタティックテキストみたいなの)
ChoiceGroup … ラジオボタンのリスト
CustomItem … 汎用コントロール(継承して自前描画)
DateField … 日付コントロール
Gauge … ゲージ(プログレスバーみたいなの)
ImageItem … ピクチャボックス
Spacer … スペーサー(空白をあけるためのアイテム)
TextField … テキストボックス

・コントロールの種類はとても少ないが
 Java ME独特のコントロールもある。

・コントロールはHTMLのように行単位で配置していく。
 (Javaユーザなら普通)
 座標指定では置けない。
 setLayout関数で配置方法を指定するのだが、
 MIDP2.0では、必ず LAYOUT_2 を指定する

・パネルやグループボックスといった概念がないので
 正直「レイアウトどうせいっちゅうねん」と
 ツッコミを入れたくなった。
 HTMLのようなテーブルすらない。

・上記にないコントロールを自作したい場合は
 「CustomItem」を継承して作成する
 (CustomItemのサブクラスを作成する)

・上記のコントロールには背景色の指定もできない
 背景色を指定したければ
 画像を用意するか
 「CustomItem」を継承して自作コントロールにする

・Windowsアプリケーションでいうとこの「フォーカス」は
 ここでは「トラバース」という言葉になっている
 トラバースは、CustomItemでのみ使用可能。

・Windowsアプリケーション(.NET)でいうとこの
 「コントロールのイベント」は
 Commandになる。
 Commandを作成→Itemに設定
 CommandListenerでユーザの入力を検知する
 (Javaユーザなら普通)

・テキストボックスの動作に注意。
 実機では、テキスト入力画面に切り替わるが
 エミュレータではそのまま入力できる

・Formに背景は設定できない?

拍手[0回]

携帯アプリ開発記②①

■オチデジdocomo版公開中
ソースとか
http://dencha.ojaru.jp/software/dropdig.html

アプリ
http://dencha.ojaru.jp/software/dropdig_i/index.html

docomo版は知人の携帯で確認した。

さすがに人の携帯なので、頼むとして1回か2回が限度だろう。

今回は初iアプリなので多少の不備があるのはしかたがない
小さな不備を挙げるとキリがないので問題点として列挙し
次回作に活かす

拍手[0回]

eclipseのエラー

eclipse 再起動したらswingのプロジェクトで変なエラー発生。
Visual Editorがエラーを出す

「IWAV0168E 式のマーク・ステートメントが不適切にネストされています。 現在のマークの前にポップしようとしたか、または endMark を設定しようとしました。 Mark# 0 の範囲外に移動しようとしました。」

http://www.eclipsewiki.net/eclipse/index.php?%C3%CC%2F473
によれば
>メニューのプロジェクトでクリーンを実行したら自分の環境では復活しました。 
という事なのでやってみたらうまくいった。


★原因の予測としては・・・
eclipseの終了時にバックグラウンドで動いてるVisual Editorが強制終了する?

binフォルダ下のファイルが異常なまま終了?

eclipse再起動時にbinフォルダのファイルを参照しながら
visual editor起動??

エラー?
・・・・・とかかなぁ。雰囲気的にはそんな感じだった。

拍手[2回]

携帯アプリ開発記②◎

■乱数について

乱数について調べていったら・・・ガンマ関数や密度関数にたどりついた。
果たしてコレ要る?

コンピュータにでたらめな数値を生成させる都合上、どうしても擬似乱数になるのは仕方がない。

しかも
どんな乱数も最初の100個なり1000個なりを捨てないとあまりいい値がとれない
と口をそろえたようにどこのサイトも紹介してる。

でも。。。


携帯ゲームに特化させるなら!


最初の10000個がデタラメな値のほうがよくない?
残り999万回同じ値がでてもいいから。

だって携帯の場合、最初の起動時間重要だから。

あとどこのサイト見ても「分布」についてはこだわってるケド
値の「発生順序」について記載がない。。。

1~6まで発生させるとして
1、2、3、4、5、6ってでたら、分布は一様だけど、
ゲームとしては失敗になる (・ω・)


というわけで

今後の方針けってーい。
「最初の10000個の値」
「発生順序」
にこだわった乱数作りだっ。


。。。もう面倒くさいからRamdomクラスそのまま使えばいい気がしてきた。


拍手[0回]

ブログ内検索

カテゴリー

最新記事

月間リスト

カウンタ

バーコード

広告①

カレンダー

04 2017/05 06
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

リンク

広告②

プロフィール

HN:
G丸
性別:
男性
職業:
プログラマー
趣味:
プログラミング
自己紹介:
群馬のプログラマーです。

正式な役職上はSEじゃないけど、顧客交渉、仕様策定、コーディング、テスト、全部やります。

技術的にはC/C++、C#が超得意。
他にはOracle、Sql Server も扱えます。
人材育成もやります。

Javaの技術力は…まあブログ読んでください。笑
C++・C#の技術者らしい文面になってます。笑

gmaruz@gmail.com

(c)どろんこソフト