CLDC+MIDP+携帯電話用 ..
116:デフォルトの名無しさん
07/07/07 10:18:57
>>115
ありがとうございます。
実はiアプリ用に作った紙芝居アプリをSアプリに移植しようとしています。
220×220の画像の上で物語が表示させるような感じのアプリです。
ちなみに古い機種でも使えるようにMIDP1.0で作成しています。
っで、家族が811SHという機種を持っているので試しにダウンロードして
みたのですが、画面の中央にめちゃくちゃ小さくしか画像が表示され
ません。文字も全然検討違いの所に表示されるし…。
ソフトバンクの機種情報を見ると、811SHは480×640となっているのが
原因だと思うのですが、こういう高解像度の機種の場合のみ別仕様で
作り直すという感じでしょうか?他の機種みたいに240×320とかならば
空白も気にならないと思いますが…。
どの機種においてもプログラム側で「240×260」の画像モードとかって
決められると一番楽だと思うのですが、どうやらないみたいですよね。
質問ばかりですみません。よろしくお願い致します。
117:115
07/07/07 16:50:47
>>116
一度開発ガイドをきちんと読んだ方がいいよ。
画面サイズの指定についても書いてあるし。
URLリンク(developers.softbankmobile.co.jp)
ここから「Sアプリ」の「技術資料」で。
118:デフォルトの名無しさん
07/07/07 17:02:01
>>116
Jadファイル内に
MIDxlet-ScreenSize: 240,260
を記述すれば、240x260 モードになる。
119:116
07/07/07 23:21:56
>>117 >>118
ありがとうございました!!
ひたすらgoogleで検索しても出てこなかったのは
逆に「当たり前」すぎるからだったんですね…。
ちゃんと開発ガイドを熟読してみます!
本当に助かりました。ありがとうございました。
120:デフォルトの名無しさん
07/07/10 07:36:39
S!アプリ(MIDP2.0、MEXA)について質問です。S!アプリでの開発は初めてです。教えて頂けたら幸いです。
待ち受けアプリを作成しようと思い、メール受信イベントを検出したいのですが‥‥
DeviceControl.setMailListenerを使用するとSecurityExceptionとなってしまいます。(エミュレータ上にて)
ビルドは成功しており、該当行をコメント化するとちゃんと動きます。
jadファイルには、
MIDlet-Application-Security: Y
MIDlet-Permissions: com.j_phone.system.DeviceControl.read
を書いてみましたが結果はSecurityExceptionとなり動きません。
(MIDlet-Permissions: com.j_phone.system.DeviceControlとMIDlet-Permissions: com.j_phone.system.DeviceControl.setMailListenerでも試してみましたがダメでした。)
開発ガイドをみると、DeviceControl.setMailListenerはSecurityダイアログの表示対象となっています。
またTrustedDomainでないと使用不可能な機能には指定されておらず、Untrustedでも使用できると思うのですが‥‥
解決策をご存知の方、注意すべき点をご存知の方がいらっしゃいましたら、ご教授下さいますようお願いします。
宜しくお願いします。
(もちろんググってはみましたが、自分では有効な解決策を見つけられませんでした‥)
121:デフォルトの名無しさん
07/07/10 12:06:13
それってどの開発ガイド?
予想で書くとcom.j_phone.system.DeviceControl.readだから
Read User Data Access(個人情報取得)に当てはまるとかはないかな?
122:デフォルトの名無しさん
07/07/10 12:06:31
>>120
SecurityExceptionはエミュレータのみで実機では正常に動作するの?
後、MIDlet-Application-SecurityはMIDP1.0の属性で
MIDP2.0ではMIDxlet-Application-Securityだが、
SoftBankのMIDP2.0端末では、そもそもこの属性自体が対応していないので
入れても無視される。
123:120
07/07/10 15:12:43
ありがとうございます。
実機が手元になくまだテストができていません。申し訳ありません‥‥
数日中に実機を手に入れる予定なので、手に入れ次第試してみたいと思います。
また使用不可能な機能一覧は、『MIDP 2.0対応端末編 1.0.1 2007-05-25(P62)』を参照しました。
(文脈からもうご覧になられたと思いますが)
もしご回答戴いた予想通りなら使用は不可能ですね。
MIDPのVersionが違うのかもしれませんが、
『メールの記憶』というアプリ(個人作成と思われます‥)ではこの機能を使用しているのではないかと思われるアプリが、
『KVMゲームプログラミング』というホームページにてsetMailListenerを使用するV!アプリの作成方法が紹介されています。
それを見たこともあり、MIDP2.0でも作成が可能ではないかと判断したのですが、うまくいかず質問させて戴きました。
宜しくお願いします。
124:デフォルトの名無しさん
07/07/10 16:11:57
>123を読んだ感じ、その「メールの記憶」というアプリはMIDP-1.0用のアプリのようだけど、
MIDP-1.0とMIDP-2.0では規格上、セキュリティの管理の仕方が違うから
MIDP-1.0のアプリでできるからといって、同じソースの記述でMIDP-2.0でもできるとは限らないよ。
125:120
07/07/10 18:30:03
>>123
ありがとうございます。
全くその通りなのですが‥‥
出来ている方がもしいればとの思いで質問しました。
自分だけなら規格の変更のため使用が不可能だとは判断しきれないので。
120でも申し上げた通り、ダイアログの表示条件に当てはまっているように解釈できる資料もありますし‥
もし何か分りましたら宜しくお願いします。
126:デフォルトの名無しさん
07/07/10 19:00:52
MEXA1.1くらいののjavadocによると
DeviceControl.setMailListenerは
機能グループ "Read User Data Access" のパーミッションだそうです
Trustedじゃないと無理
127:120
07/07/10 19:33:32
>>126
ありがとうございました。
お陰様ですっきりしました。
助言を下さった皆様、またこの掲示板をご覧の皆様、
色々と本当にありがとうございました。
128:デフォルトの名無しさん
07/07/13 09:35:35
ランダムアクセスって無いの?そんな文を見たけど
みんなどーやって一つのファイルから上手く読み出してるんだろぅ?
129:デフォルトの名無しさん
07/07/13 12:47:17
?
130:デフォルトの名無しさん
07/07/13 14:18:12
SDの話じゃね?
まぁ、いくらでもやりようはあると。
131:デフォルトの名無しさん
07/07/15 20:12:36
fillRoundRectについて質問があります
g.fillRect(0, 0, 40, 10);
g.fillRoundRect(0, 0, 40, 10, 0, 0);
↑の二つの四角は全く同じ四角が描画されてここまではいいんですが
g.fillRoundRect(0, 0, 40, 10, 1, 1);
↑みたいに角を丸くしようとすると,fillRectに対して幅が小さくなってしまいます
幅は3番目と4番目の引数で決定されると思ったのですが違うのでしょうか?
132:デフォルトの名無しさん
07/07/15 21:09:37
データベースに接続して検索するアプリケーションを作ろうと思っています。
やはりMIDPでもJDBCを使って接続する方法はありますでしょうか?
133:デフォルトの名無しさん
07/07/15 23:50:40
>>132
携帯でやらずに、バックエンド(サーバー側)でやるようにした方がいいよ。
134:デフォルトの名無しさん
07/07/16 00:58:57
MIDP2.0のGameCanvasクラスのgetKeyStates()では数字キーの状態を取得できませんよね?
数字キーの状態を取得するのはMIDP2.0だけでは無理ですか?
135:デフォルトの名無しさん
07/07/16 07:25:44
>>133
もちろんサーバ側でやりますよ。
容量がもったいないですし。
136:デフォルトの名無しさん
07/07/16 12:57:34
operaminiの鯖側は何で書いてるんかな?
137:デフォルトの名無しさん
07/07/17 02:54:51
質問させて下さい。
iアプリ用に作成したゲームをSoftBank、AUに移植しようとしているのですが
画面のフェードアウト処理が出来ずに困っています。
iアプリではgetColorOfRGBで徐々に画面を白や黒にしていたのですが
MIDPで解決する方法を教えて頂けないでしょうか?
ただPixelごとに処理していると処理時間が凄く遅くなりそうで怖いです。。
画面自体の明るさを変更するような命令でもあれば楽そうですが…。
138:デフォルトの名無しさん
07/07/17 09:43:49
>>137
ソフバンならrenderPrimitivesで一枚でかいのを上からのっければカラー減算、加算、半透明といろいろできるよ。
AUは切捨て。
139:デフォルトの名無しさん
07/07/17 15:16:29
>>137
対象画面の画像をオフスクリーンバッファに描くようにして、
Image#getRGB()で1画面分の色を取得して一括処理、
その配列からImage#createRGBImage()で画像生成、描画。
拡大/縮小処理でやったことあるが速さは期待できない。しかし他に方法はない。
オープンアプリでは板ポリゴンを描画できないし。
速さが必要ならメッシュパターン(市松模様)をいくつか用意して重ね描き。
むかーしむかし、セガサターンというゲーム機があってのう…ゴホゴホ
ア、オジイチャン、ネテナキャダメヨ
140:デフォルトの名無しさん
07/07/17 15:18:03
>>131
fillRoundRect()の最後2つの引数は弧の直径だとAPIリファレンスに書いてある。
直径1ドット(半径0.5ドット)の弧は描けないから
描画結果が微妙なことになっても、それは引数が悪いせい。
141:デフォルトの名無しさん
07/07/17 22:39:15
>>140
thx
勝手に半径だと勘違いしてました
というか布留川氏の本でも半径っぽい絵が書かれてますね・・
142:デフォルトの名無しさん
07/07/19 08:37:29
>>135
そうじゃなくて、携帯側は結果を表示するだけで、それ以外は全部サーバー側でやれってことだよ。
143:デフォルトの名無しさん
07/07/19 13:21:53
そういやMIDPでDBと通信するミドルウェアがあったな。
MIDPなのにCDCが動くようなスマートフォンやPDAを前提としてたが。
144:デフォルトの名無しさん
07/07/20 18:48:17
MIDP1.0でアプリを作成しています。
その中でブラウザを起動しようとしているのですが
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.close();
の部分が、コンパイルは通るのですが実際にはブラウザ起動してくれません。
エラー表示は
java.lang.ClassNotFoundException: com/sun/midp/io/j2me/url/Protocol
となっています。
JADファイルでMIDlet-Network: Yにも指定しています。
どなたかご教授願えませんでしょうか?
145:デフォルトの名無しさん
07/07/20 21:41:07
>>144
普通に考えればその端末にBrowserConnectionクラスがないんじゃ。
BrowserConnectionってMIDPのクラスじゃないし。
まあ、使ったことないから知らんけど。
146:144
07/07/20 21:52:35
ありがとうございます。
実機でも試してみたんですが、それ以前にエミュレータでもWTKでも駄目なんです。
コンパイルはWTKのmidpapiにエミュレータのmidpapiを上書きして使っているんですが
これが原因という事はないでしょうか?
今のところコンパイル時に他に不具合などは出ていないですが…
結局何がやりたいかと言うと、アプリ内に自サイトの紹介ページを作りたいんです。
要するに自サイトへの誘導が出来れば他の方法でもいいんですが、色々調べてみても
分からないんですよ。。
147:デフォルトの名無しさん
07/07/20 22:16:50
>>144
APIリファレンスでBrowserConnectionのとこ確認な
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.connect();
browser.close();
148:144
07/07/20 22:47:05
>>146
ありがとうございます!エミュレータで動きました。
こんな単純なミスに気付かなかったとは… お恥ずかしい限りです。。
とは言え実機の811SHで試した所、ブラウザは起動してくれず…。
参考サイトを見た限りではこの機種はBrowserConnection使えると思ったんだけどなぁ。。
やっぱりMIDP1.0端末は切捨てて、MIDP2.0専用でMIDlet#platformRequestを使うのが
ベストなのかなぁ。そもそもMIDP1.0端末のユーザってどれくらい残ってるんだろう?
149:デフォルトの名無しさん
07/07/20 23:04:33
MIDlet-Network: Y
は書いてあるか?
150:デフォルトの名無しさん
07/07/20 23:18:15
>>149
はい。書いてあるんです。
エミュレータで実行するとアクセス許可のような画面が正常に出てきて、ブラウザも起動されます。
でも実機で試してみると、うんともすんとも言わない…。
なんでだろう…
151:デフォルトの名無しさん
07/07/20 23:31:16
アプリの仕事始めて半年くらいだけど、
MIDP1.0端末対応してくれってのはなかった。
MIDP2.0端末全部ってのはあったけど。
152:デフォルトの名無しさん
07/07/21 00:33:36
>>134
以前同じことで悩んで,結局は,全部自分で実装した。GameCanvas をあきらめ,
キー情報を管理するクラスを作って Canvas の keyPressed などで,その情報を書き換える。
メイン処理では別にスレッドを動かしながら,その中でキー情報を管理するクラスにアクセスする。
非常に遠回りだけど,汎用的でいいよ。
153:デフォルトの名無しさん
07/07/21 00:48:01
俺もDoJaと同じ仕様のCanvasクラス作ったけど、一つ問題が。
携帯のボディ部を擦るようにガリガリガリガリって数字キー連打すると、
たまにkeyPressedが来るのにkeyReleasedがこないときがあって、キー情報がバグる。
JSCLだけどDeviceControl.getDeviceState()で数字キーとれるよ。
154:134
07/07/21 01:03:39
>>152-153
確かにキーイベントでやれば汎用的になりますね
JSCLが使えない機種にも対応したいので
keyReleasedの問題には目を瞑って,キーイベントの方法でいこうと思います
155:デフォルトの名無しさん
07/07/21 01:16:18
>>154
参考にあげる。
URLリンク(www.sepia.dti.ne.jp)
156:デフォルトの名無しさん
07/07/21 01:40:19
>150
811SHか、それなら MIDlet-Network: Y じゃなかった。この行は不要。
MIDlet-Permissions: javax.microedition.io.Connector.http
MIDxlet-API: JSCL-1.2.2
これ書いてある? それでダメなら自分には分からん。
自分はMIDP-1.0端末(P5以降)とMIDP-2.0端末で2つのアプリを作ってる。
MIDP-1.0端末ではBrowserConnectionを使う(それしか方法がない)。
MIDP-2.0端末では全てplatformRequest()にしている。
BrowserConnectionは対応してない端末があるが、
platformRequest()はどの端末でも使えるので、場合分けを考えなくて済む。
157:デフォルトの名無しさん
07/07/21 01:51:45
>>155
ども
参考にさせていただきます
158:デフォルトの名無しさん
07/07/21 02:01:43
>>156
ありがとうございます!!出来ました(T^T)
自分はJAVA初心者なので調べ方すらも良く分からず困っていたので、本当に助かりました!
platformRequest()についても色々やってみようと思います。
159:デフォルトの名無しさん
07/07/21 02:18:05
アプリゲットのユーザ利用ブラウザ傾向を見ると、Softbankの携帯を使用しているユーザのうち
97.21%が3G型だと出ている。この統計を見る限り、今後はMIDP2.0のみでも特に問題なさそう。
こういう解釈でいいんですよね?
160:デフォルトの名無しさん
07/07/21 14:16:31
喪前らはMIDPプログラミングするときはEclipseを使うのかい?
161:デフォルトの名無しさん
07/07/21 15:31:53
>>160
自分はただのテキストビューワとWTKだけです。
Eclipseって使いやすいの?
一度使おうかなと思ったけど環境設定でつまづいて辞めたw
162:デフォルトの名無しさん
07/07/21 15:46:59
>>160
Eclipse無しのコーディングは考えられないなあ。
>>161
趣味でやるぶんには使わなくてもいいんでない?
使いやすさはなんとも…。(個人的にはもう一歩足りない
感じだけど、おおむね満足。たまに秀丸を併用するけど)
ただ、生産効率、デバッグ、タダで手に入るところ等等を
考えると、使えるなら使ったほうが良いよ的な意見。
ちゅうか、環境設定そんなに難しかった?
163:デフォルトの名無しさん
07/07/21 16:14:42
みんなオープンアプリ作る時って、WTKで実行→実機で実行の流れでやってる?
AUのezplusEmulatorってMIDP2.0には対応してないよね??
164:デフォルトの名無しさん
07/07/21 17:04:05
S!アプリのエミュレータと実機だとフォントの描画位置ってずれてる?
同一画面サイズの同一フォントでも、どうしても描画位置がずれるんですよね〜。
一つの実機に合わせても他の実機でずれてる場合ってやっぱりあるんですかね?
165:デフォルトの名無しさん
07/07/21 17:17:51
>>163
ezplusEmulatorはオープンアプリとは無関係。
公式サイトに書いてあるように開発すればよし。
>■アプリの作成
>オープンアプリはサン・マイクロシステムズが提供するJ2ME Wireless Toolkit等で開発することが出来ます。
>開発ツールに関してはサン・マイクロシステムズのホームページなどをご参照ください。
>>164
>>114-119 これがヒントになるんじゃね?
166:160
07/07/21 21:04:44
さっそくEclipseをインストールしてみたが
プロジェクトの切り替え・実行も簡単だし入力補完機能もあって素晴らしいじゃないか。
Eclipseの無いMIDPプログラミングはネギのないネギまのようなものだな(藁
167:デフォルトの名無しさん
07/07/21 21:19:30
Eclipse使うとプリプロセッサが使えなくなるから、俺は使わないなぁ。
168:デフォルトの名無しさん
07/07/21 23:46:35
ほうほう、なかなか使い勝手が良いという事ですな。
どうしよう、入れてみようかなぁ?
すっごく初心者的な質問で悪いんだけど…、Eclipse自体にビルドと実行機能はあるの?
あるんだったらToolkitは使う必要なくなるよね?
あと…、プリプロセッサって何?
169:デフォルトの名無しさん
07/07/22 00:32:19
ビルドはantファイルを書く。
メガアプリ(3G)なら容量そんなに厳しくないから
プリプロセッサ使う必要ないんじゃないかな。
170:デフォルトの名無しさん
07/07/22 00:42:53
EclipseMEが便利
171:デフォルトの名無しさん
07/07/22 00:53:01
>>161
ビューアだけでどうやって書くのか気になるwktk!!
>>168
javaにプリプロセッサ使ってもソース管理が複雑になるだけだから止めとけ
172:167
07/07/22 01:16:22
MIDPだけのアプリであればプリプロセッサを使用する必要はないが
DoCoMoやAuのJava等に対応する必要があるため、必然とプリプロセッサを
使用せざる得ない。
この場合、プリプロセッサを使用しないと一つのアプリで複数のソースが
出来てしまうため、余計ソース管理が複雑になる。
プリプロセッサを使用すれば、同一ソースで3キャリアのアプリを作成できる。
173:デフォルトの名無しさん
07/07/22 01:29:05
>>171
えっ、コツコツと一から入力してるけど…もちろんコピペは多様するが。。
もしかして時代遅れ!?
174:デフォルトの名無しさん
07/07/22 02:01:29
>>173
ビューア→閲覧するもの(書き込み不可)
エディタ→編集するもの(書き込み可)
ということで、>>171が
>ビューアだけでどうやって書くのか気になるwktk!!
というのは、誰もが思うことだぜ。
余談
「テキストビューアなんてツールであるわけねぇだろ。
あってDOSのtypeコマンドくらいなんじゃねぇ」って
思って検索してみたら結構あるもんだな。
Vectorで124個もツールが存在していてびっくりしたよ。
175:173
07/07/22 04:28:48
おぉぅ、お恥ずかしい…
こうなったら実際にテキストビューアで開発するしか反論できないなw
じっと画面を見つめるだけでコードがスラスラと…
これぞ眼力プログラム!!
なんてね、勉強になりました。
176:デフォルトの名無しさん
07/07/22 08:15:45
>>167
俺はプリプロセスかけたソースをEclipseで扱う方法で
デバッガだけは利用したことある。
ある程度規模がでかくなったら便利。
177:デフォルトの名無しさん
07/07/22 09:04:01
当方 NetBeans の Mobility Pack を使ってるけどなかなかいいよ。
標準でのキー設定が Visual C++ と Visual Basic の間みたいな設定で,
もともと両方使っていた私は,すんなりとなじめました。
ちょっと重いのが難点かな?
178:デフォルトの名無しさん
07/07/22 13:49:09
当方MIDP2始めて一週間です
WTKでエミュレート→OK
W52Hで実行→画面が固まったままキー押してもソフトキー以外全く反応なし
の時はどの辺でつまづいているのでしょうか?
179:デフォルトの名無しさん
07/07/22 16:42:49
>>178
とりあえず、どんな機能を使用しているのか示さないと、なんともいえませんね。
180:デフォルトの名無しさん
07/07/22 17:14:24
>>179
曖昧過ぎてすいません
他の方のをやってみるとスタート時にnow loadingとかして読み込んでいるみたいですが
そういうのをしないと携帯ではイメージとか読み込みきれないのでしょうか?
181:デフォルトの名無しさん
07/07/22 20:24:53
>>180
それをやっとかないと、時間がかかる場合、動いてるのか止まってるのか分からなくなるでしょ。
実行速度が違うから、エミュでの印象とはまた違う。
182:デフォルトの名無しさん
07/07/22 21:32:34
まず、Hello Worldが動かせてるのかどうかから尻隊
183:デフォルトの名無しさん
07/07/22 21:52:24
>>181
WTKの実行速度っては変えられないですかね?
>>182
一応WTK上では240*240の六マソのボスフロア内を想定しての動作は出来ているつもりです
184:デフォルトの名無しさん
07/07/23 00:13:16
横レスすまないが
何かもう意思の疎通が図れてないというか意味が通じてないというかw
スレがグダグダになりそうな気配
>>178=180=183
せっかくアドバイスをくれる人がいるんだから質問されたことに的確に答えようよ。
>>182は「Hello World」(代表的なサンプルプログラム)をやってみたかと聞いている。
それに対して>>183で意味不明な答えはないだろう。
それに>>179のツッコミに対して>>180が全然説明になってない。
自分が組んだプログラムの説明をしろって言ってるのさ。
さらに、>>178の解決にエミュレータの実行速度は関係ない。
いま質問すべきはそこじゃないだろ。1つずつ解決しろって。
185:デフォルトの名無しさん
07/07/23 06:50:21
>>184
グダグダにしてしまいすいません
HWは最初に試しました
次に低レベルイメージ、コマンド
応用でランダムの高さのブロックをジャンプで避けるアクションは実機でも出来たのです
ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
ある程度以上の動作が実機だと追いついていないみたく困っております
説明下手なので自分のソース晒したらピンポイントで指摘して頂けますか?
186:デフォルトの名無しさん
07/07/23 08:48:02
問題に取り組もうとする姿勢は伝わるんだけどもコミュニケーション能力を何とかしてw
>HWは最初に試しました
自分で勝手な言葉を作って話したってわからないよ。
>ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
だから、わからないことを次々書くんじゃなくて>>178のプログラムを説明せよと。
何をやろうとしてどういう処理を記述してるのか、それを他人にわかるよう説明せよと。
>説明下手なので
そういうことじゃなくて、まず聞かれたことを理解して、そのことについて答えて欲しい。
そうしないと問題解決の糸口すらつかめなくて誰もアドバイスできないよ。
>自分のソース晒したらピンポイントで指摘して頂けますか?
どうして書き込みの度に話がすっ飛ぶのさ。>>179の続きからやり直しだな。
車を運転してたら止まった。サーキットを1周したいんだけど方法がわからない。
車を見せたら原因と方法を教えてくれますか? …そんなのJAFだってお手上げだよ。
187:デフォルトの名無しさん
07/07/23 23:26:30
>>185
画像や音は最初に全部読み込んで、すぐ使えるImageなどの状態にして、
HashTableや配列に入れとく。
ベストな方法かは知らんし、メモリ不足には気をつけにゃならんけど、
使うたびに読み込むよりは断然速い。
あと、もうちょっと他人が何を言いたいのか考えて、それに答えるべき。
小学校で習うことだぜ。
指摘できるか分からんが、ソース晒すなら見てみよう。
188:デフォルトの名無しさん
07/07/23 23:59:39
まず、「何が問題で、どうしたいのか」がよく分からんというのがなあ。
携帯Javaは初心者かもしれないが、日本語の作文も初心者なの?
189:デフォルトの名無しさん
07/07/24 03:00:01
いや、それ以前に問題に取り組もうとする姿勢は見れるけど人の話聞いてない。
言われてることを冷静に考えて返答しないと会話が成立しない。
190:デフォルトの名無しさん
07/07/24 11:07:21
>>186-189
プログラム以前のヘタレですいません
こちらにまたヘタレ文書くと他のかたに迷惑になりそうなので
URLリンク(www.uploda.net)
にソースと自分なりの説明書きました
それを見て解決方法教えていだたける方がいたらお願いします
passはjapanesepoorです
191:デフォルトの名無しさん
07/07/24 13:44:53
>>190
俺だったらGWCanvasのコンストラクタの中身ほとんどを
run()のwhile(true)の直前に書くね。
Display.setCurrent()の前でしかもコンストラクタ内で
getGraphics()はしないほうがいいんじゃないかな。
コンストラクタ内では、リソースに依存しない変数の初期化程度にしとくと良いよ。
192:デフォルトの名無しさん
07/07/24 17:28:46
Graphicsの有効なライフサイクルは描画前から描画後だしな。
何かしらプールが必要な場合は保持してるGraphicsが有効かどうか調べて有効ではない場合
確保し直さなければならない。JOGLはこれをある程度やってくれてたな。
まあ、環境依存のリソースをコンストラクタで拾うこと自体ちゃんと考えた方が良いかも。
193:デフォルトの名無しさん
07/07/24 18:29:46
すみません、テキストビューアでアプリ開発していると言った者です。
手に負えない事が一つあるので質問させて下さい…。
当方MIPD2.0でプログラミング中なのですが、全く同じソースで全く同じJAD/MFのソースを
クラス名/ファイル名のみ変えて新規プロジェクトで実行すると下記のエラーが発生してしまいます。
Unable to create MIDlet null
java.lang.NullPointerException
設定も何もかも同じなのにどうして新規プロジェクトだと実行できないのか…。
もうちょっと具体的に書かないと分からないのかもしれませんが、何をどう書けばよいやら、、
上記のエラーMSGでググってみると英語のサイトしか発見出来ず、翻訳したら意味不明な
文章になってしまい参考にも何もなりませんでした。
どうかよろしくお願い致します。。
194:193
07/07/24 18:39:42
申し訳ありませーーん!!自己解決しました!!
なんと…、プロジェクト作成時にClassNameを入れてませんでした…(汗)
さすがテキストビューアでソースが書ける男だと笑ってやって下さい。。
195:187
07/07/24 22:44:06
>>190
見ると言ったので、いちお。
ぱっと見いいように見える。
SoftBankだけど810SHでは普通に動いたし。
とりあえず、コンストラクタで色々やらない方がいいんでないかな。
Canvas作る→setCurrent→画像読込→getGraphics()→メインループとか、
setCurrentした後には少し間を空けた方がいい。
あと思いつくのは、ループの間隔60msecが速すぎて処理できないとか。
ブロック描画を最初の一回だけにしたり、loop()を軽くしてみるのもイイかもね。
EZ Javaはやったことないから、機種・キャリア依存だったらなんとも。
196:デフォルトの名無しさん
07/07/25 12:12:51
こんなヘタレに指示を下さった
>>191さんと>>192さんと>>195さん
の的確なアドバイスのおかげで携帯でも動作可能になりました
でも動作途中フリーズする場合があるので改良していきたいと思います
本当にありがとうございました
197:デフォルトの名無しさん
07/07/25 12:41:21
解決しちゃったのね
コンストラクタでは最低限の初期化のみで初期処理は別に切り出す
初期処理時にメッセージなりプログレスバーを表示すると
待ってる人の待たされてる感がかなり軽減できるのでお勧め
ソース見てると整理する力はあるから焦らずにがんばれ
198:デフォルトの名無しさん
07/07/25 21:16:08
すいません、質問です。
無職になった記念に、外部ストレージに日記をつけるようなS!アプリを作ろうかと
思ったんだけど、MEXAエミュレータでStorageConnectionを使うとSecurityException
が出ます。
これはもうなんらかの間抜けな設定ミスだろうと思うんですが、エミュレータの
アプリ毎のパーミッション設定「WriteData」を変えようとしても「*許可しない」
しか選択できず困ってます。
ストレージの空サイズはインストール時のデフォルト(内部8000KB、外部16000KB)で、
jadファイルにはMIDlet-Permissions:com.j-phone.io.Connector.StorageConnection.write
を書いてます。
他に見落とし易い所が有ったら教えてください。
199:デフォルトの名無しさん
07/07/25 22:16:05
>>198
URLリンク(memories.cocolog-nifty.com)
200:デフォルトの名無しさん
07/07/25 23:59:53
なにはともあれ、MIDxlet-API: JSCL-1.2.2
StorageConnectionはどうか忘れたけど、怪しい機能を使うときは
MEXAエミュ端末設定のオプション全部入れとこう。
201:198
07/07/26 11:45:48
>>200
"JSCL-1.2.2"と"JSCL-1.4.2"ついでに"MEXA"も試しましたが、だめでした。
他の要素も試してみます
202:デフォルトの名無しさん
07/07/26 14:11:37
パーミッションにj_phone.io.Connector.StorageConnection.readが
入っていないのが原因じゃない?
203:198
07/07/26 14:48:20
198では省略しましたが、readも入れてありました。
で、昼まで寝たら、恥ずかしい原因判明。
たぶんUntrustでインストールしているのが悪いのかと。
資料を読むと、このせいでSecurityExceptionが出るようなこと
は書いてあるんですが、なんか変な思い込みが有ってエミュレータ
ではいらないのかと思ってました。
すいません。
でも証明書や署名って、取得の窓口すらわからんです。
最初にコンテンツアグリゲータに作者登録してから始めれば
良かったんでしょうか
もう一回寝よう。無職だし。
204:198
07/07/26 14:59:10
寝る前にググったら、なんでだかnokiaのサイトに
それっぽい資料が有りましたので、いろいろ調べてみます。
ありがとうございました。
205:デフォルトの名無しさん
07/07/26 22:25:05
実機?MEXAエミュレータの話じゃないの?
エミュならオプションのセキュリティ設定するだけでTrustedにできるけど。
MEXAエミュでStorageConnectionやったことがあるから普通にできるはず。
実機だと、色々登録が必要。
206:デフォルトの名無しさん
07/07/27 01:08:22
質問させて下さい。
S!アプリでパズルアプリを作っています。
完成したので703SH,905SH,912SHで実機テストをしてみました。
実行結果を見ると圧倒的に703shの方が動作が速いのです。
動作速度は「703SH>>>>905SH>912SH」の順番でした。
URLリンク(www.moreread.net)
上記サイトのベンチマークをみると実行速度の順番は
「912SH>905SH>703SH」になっています。
原因を調べてみたのですが、オフスクリーンに書き込みを
行う時に912SH,905SHは時間がかかるようなのです。
912SH,905SH,703SHの端末仕様書には目を通したのですが
原因がわかりませんでした。
912SH,905SHでオフスクリーンを使うと実行速度が遅くなる
などの端末仕様などがあるのでしょうか?
または同じ症状になった人はいますか?
207:デフォルトの名無しさん
07/07/27 08:32:28
経験的に、描画は新しい機種が古い機種より速いとは一概に言えない。
これで何に時間かかってるか細かく測ってみるといいよ。
Calendar start = Calendar.getInstance();
//時間を測る処理
Calendar end = Calendar.getInstance();
long time = end.getTime().getTime() - start.getTime().getTime();
208:198
07/07/27 13:38:55
>>205
はい、MEXAエミュレータでの話です。
Trusted(3rd Party Domain)でインストール、を選択すると
コンソールに「Attempted to update MIDlet as other protection domain」
液晶画面には「910 Authorization failu」
となっていたんですが、一度アンインストールしたら出なくなりました。
お世話様でした
209:デフォルトの名無しさん
07/07/27 17:49:55
>>207
システムの時間は充てにならんからなぁ。特にjava MEベンダのCalendarは。
プロファイラなんかでボトルネックみるとかマトリクス書きだすとかの方が良いんだけど実機じゃできないかー。
210:207
07/07/28 09:32:13
>>209
そうなの?
Calenderよく使うけど、今まで問題を感じたことなかった。
暇があれば、正確かどうか測ってみます。
211:デフォルトの名無しさん
07/07/28 10:31:00
俺もそうだが、どうしても体が
Calender と打ってしまうな(´・ω・`)
212:デフォルトの名無しさん
07/07/28 19:03:55
Calendarは可憐だ、、、
213:デフォルトの名無しさん
07/08/01 06:00:03
ダウンロードしようとすると無効なデータですって言われる…なぜだ
214:デフォルトの名無しさん
07/08/01 21:04:30
>>213
理由はいっぱい考えられる。
もう少し詳しく状況を書くがよい。
215:デフォルトの名無しさん
07/08/02 04:52:32
御免、解決しました
ジャーファイルを手動で作ってたのがまずかったみたいです
216:デフォルトの名無しさん
07/08/02 08:24:38
ジャーだめだな
217:デフォルトの名無しさん
07/08/02 15:03:37
なんというオヤジギャグ…
218:デフォルトの名無しさん
07/08/02 18:42:39
JARファイルは手動で作ってはだめじゃー
219:デフォルトの名無しさん
07/08/02 21:14:26
MANIFESTちゃんと書けば、手動でJAR作ってもいけるけどね。
まあ、SDKにやってもらった方が便利かつ安全なのは言うまでもない。
220:デフォルトの名無しさん
07/08/04 01:07:42
JARもJADもAntに作らせてるわ。
JADは生成用のAntタスク作った。
221:デフォルトの名無しさん
07/08/04 01:23:07
お前がどうやってるかなんぞ訊いてないんじゃー
222:デフォルトの名無しさん
07/08/04 02:18:09
なんで無意味にひがむんだ?
MANIFESTをちょっといじればいいだけなんだからantタスクなり、スクリプトなり書けば良いだけの話じゃないか。
223:デフォルトの名無しさん
07/08/05 21:41:53
もう解決してるから
224:デフォルトの名無しさん
07/08/06 17:00:33
そりゃ20時間もあれば解決するわな。
225:デフォルトの名無しさん
07/08/06 22:29:57
というか>>215の時点で解決してると言ってるのに>>220で俺はこうしてると言われてもんなことどうでもいいって話
226:デフォルトの名無しさん
07/08/06 23:40:28
話を膨らませてはだめなの?じゃー
227:デフォルトの名無しさん
07/08/07 13:34:24
最近MEXAでSアプリに初めて触れたものですが、質問があります。
とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
調べてみたら他にもJSCLとかMIDPとかいろいろあり、僕個人の見解では
「MEXAは新しい。対応端末(新しい機種)じゃないとダメ。
古いのでも動かす(シンプルなゲームとか)は最初からJSCLで作る」
ていうイメージになったのですが、あってますでしょうか?
幅広い機種で動かすには最初からJSCLとやらで作った方が良かったのでしょうか?
あと、よくゲームダウンロードするときに、100kアプリ、256kアプリとかありますが、
これって最終的にできたjarファイルのサイズで決まるものなんでしょうか?
最初から「256kアプリ用の何かを使って開発しなければいけない」とか
そういうのはあるのでしょうか?
長文な上に超初心者で申し訳ありませんが、何を使ってどう開発したら良いか
個人では行き詰ってしまいましたので、質問させて頂きます。よろしくお願いします。
228:デフォルトの名無しさん
07/08/07 15:00:48
>>227
MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
JSCL-1.2.2を指定しておけば問題ないかと。
最近はほとんど3Gの端末だろうし、jarの容量は1M以内で使って問題ない。
100kアプリ、256kアプリはjarのサイズとも関係あるが、
JSCLのバージョンによって区別されてた昔の名残。
エミュレータの違いはあるが、それ専用の開発ツールなどがあるわけではない。
今は気にする必要はほとんど無い。
2G端末を動作対象としているなら別だが、
3G端末でMIDP-2.0、MEXA(JSCL-1.2.2)を使っておけば良いかと。
229:デフォルトの名無しさん
07/08/07 16:46:19
>227
>とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
あわてるな、先にやることがあるぞ。
まずSアプリ公式技術サイトURLリンク(developers.softbankmobile.co.jp)
で開発に必要な資料を手に入れて。
左側のSアプリ→技術資料→
・基礎編
・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
この2つは必ず全部読むこと。
そもそもSアプリがどういうモノなのか、それが大体頭に入ってないと
今みたいに何やるにしてもどうしていいか困るわけで。
230:デフォルトの名無しさん
07/08/07 21:33:47
>>229
まずやってみて実感を掴むってのも大事だと思う。
技術資料は当然必要だけどさ。
231:227
07/08/07 22:42:06
丁寧な解答ありがとうございます!
>>229
>・基礎編
>・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
>この2つは必ず全部読むこと。
すみませんでした。これから読むことにします。
とりあえず動かしてみて、それから納得するという悪い癖が・・・
その上で理解できなかった点は改めて質問させて頂きますので、
その際はまたよろしくお願いします!
>>228
>MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
>JSCL-1.2.2を指定しておけば問題ないかと
ありがとうございます。まず上記のドキュメントを読んでみますが、
読む前にもう1つだけ・・・
「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
jad ファイルの 「MIDxlet-API: MEXA」 の辺りでしょうか?
この指定をすれば、例えばMEXAのオプション機能を使おうとしたときに
エラーを吐いてくれて、JSCL-1.2.2 準拠のプログラムにできる、
という解釈で良いでしょうか?
232:デフォルトの名無しさん
07/08/07 22:43:40
JSCL-1.2.2 準拠のプログラムにしたいなら
MIDxlet-API: JSCL-1.2.2
233:デフォルトの名無しさん
07/08/07 22:55:22
まず実感を掴むのは大切かもしれないけど、
それにしても最低限先に読んで理解すべきことはあるよ。
>まず上記のドキュメントを読んでみますが、読む前にもう1つだけ・・・
>「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
こういった、ズバリ答えが書いてあることは質問するのも答えるのも馬鹿らしい。
234:デフォルトの名無しさん
07/08/07 23:14:57
まぁ作る気満々の初心者だし
はやる気持ちは抑えられないってのもわかる
235:デフォルトの名無しさん
07/08/07 23:22:55
わかるが、残念ながら地味にいくしかない。
236:デフォルトの名無しさん
07/08/08 05:42:36
地味にいくも派手にいくも、本人の性格次第でしょ。
S!アプリ作るときはまず最初に「MIDxlet-API: JSCL-1.2.2」入れるようにしてる、
MEXA SDKは入れないとコンソールに日本語表示できないし、
MIDxlet-APIはよく書くの忘れてしまうので。
237:デフォルトの名無しさん
07/08/08 17:58:03
snesでファイアーエンブレム聖戦の系譜をやっていたところ、
攻略サイトの情報とボスのレベルが違ってて(10高いなど)
そのせいで普通なら使える戦法が出来ません、
(サイレスを使えば楽なところで、敵のレベルが高すぎて使えないなど)
これはこのデータ諦めたほうがいいのかなあ?
俺なんか違うデータ持ってきてしまったのでしょうか?
238:デフォルトの名無しさん
07/08/08 18:04:50
板違い
239:デフォルトの名無しさん
07/08/08 20:47:55
聖戦などぬるいトラキアやれ!
240:デフォルトの名無しさん
07/08/09 17:27:31
ファイルを読み込みたいんですけど、1メガあるのは読み込めないですよね…
241:デフォルトの名無しさん
07/08/09 23:29:18
Sアプリに限って言えば、データフォルダに1MBのファイルがあって
メモリが1MB以上あまっていれば読めるんじゃねぇ?
242:デフォルトの名無しさん
07/08/10 00:01:59
ちょいと質問したい
暇つぶしかつ勉強にS!アプリ作ってみたいプログラム初心者なんだが、
環境としてJ2ME、Wireless Toolkit、MEXA SDK、MEXA for Eclipse、あと手持ちの実機用意して
実機でHelloWorld作ってみたんだが、Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズはいいとして、ソフトキーの配置は何とかならんもんなの?
あと、EclipseまたはMEXAのエミュからはWireless Toolkitのエミュのオプションのように
JADファイルって手軽にイジったりすることはできないの?
あ、一応実機は911T
243:デフォルトの名無しさん
07/08/10 00:53:16
> ソフトキー
気にするほどだっけか……。
> JAD ファイル
やめておいた方がいい。
244:デフォルトの名無しさん
07/08/10 00:56:11
>Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズがいくつから知らんが、一般的だと240x260なので
jadに「MIDxlet-ScreenSize: 240,260」を書く。
>ソフトキーの配置は何とかならんもんなの?
おそらく、addCommandとremoveCommandの使い方が悪い。
>JADファイルって手軽にイジったりすることはできないの?
すまんが、バッチファイルで全部やっているのでわからん。
245:242
07/08/10 01:10:12
>>243、244
トンクス
画面サイズは>>244の言う通りMIDxlet-ScreenSizeで適当にやったらしっくりきたので解決したつもり
ソフトキーは右に『設定』左に『終了』置いたつもりが、
逆になってたり片方に『メニュー』として固められたりして気持ち悪かったんよ
気にするなといわれればそれまでだが・・・
> > JAD ファイル
> やめておいた方がいい。
どゆこと?JADはいちいちテキストエディタで編集せなかんの
つか、一般的にどの開発環境で作るのがベタなん?Eclipseは邪道?
246:デフォルトの名無しさん
07/08/10 01:19:21
わからないこと全部聴くつもりか?
優先度があるだろう
247:デフォルトの名無しさん
07/08/10 02:46:25
>>242 暇つぶしで勉強したいなら、人に聞くのはどうかと思うけど…
ゲームでチートしてるようなモンじゃん
248:デフォルトの名無しさん
07/08/10 10:07:07
開発環境なんて自分の作りやすいので良いだろうに邪道とか意味わかんね
人に聞く前に自分で調べたり検証したらどうなんだ
249:デフォルトの名無しさん
07/08/10 11:04:11
人に聞く方がよっぽど邪道
250:デフォルトの名無しさん
07/08/10 18:06:41
誰かが導入までのまとめサイト作ればいいんだよ
俺はやらんがな
251:デフォルトの名無しさん
07/08/10 18:57:07
わざわざ作らなくても説明好きな人が解説してるサイトはいくつもある
そういったサイトを複数個見て自分なりに取捨選択していけばいいだけ
252:デフォルトの名無しさん
07/08/10 19:04:22
>245
JAD ファイルに関して言えば、WTK 使った方が
微妙なミスとか文字コードに悩まなくて済むから。
253:デフォルトの名無しさん
07/08/11 00:28:51
>>242 ソフトキー
MIDP 2.0の説明(javadoc)をちゃんと読めばわかるが、
ある程度はコントロールできるけど最後の最後は実装依存だよ
完全にコントロールしたければアプリの描画エリアに自分で描け
254:デフォルトの名無しさん
07/08/11 01:21:02
現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
WTKはMIDxlet-APIとか勝手に入れてくれるから、初心者向きかもしれんけど、
慣れればJADもEclipseプラグインで編集した方が便利じゃね。
255:デフォルトの名無しさん
07/08/11 02:37:51
今日からSアプリ開発環境を何とか揃えてテストし始めたのですが、
実行すると、
SOFTBANK_MEXA_EMULATOR11
が無いって言われてしまいます・・・。
インストールしたのはSOFTBANK_MEXA_EMULATOR12だったので、
12を11に書き直せば実行できましたが気持ち悪いです・・・。
これは何かインストールや設定が間違ったりしているのでしょうか。
お手数ですがご回答いただけますと幸いです・・・。
256:255
07/08/11 02:39:38
ああ、環境はEclipseを使っています
257:デフォルトの名無しさん
07/08/11 03:38:46
>現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
「一番いい」とかそんなもん無いよ
個人の技量&価値観次第
>実行すると、 SOFTBANK_MEXA_EMULATOR11 が無いって言われてしまいます・・・。
>ああ、環境はEclipseを使っています
だからほれ見ろこんな人もいる
WTK22一つならこんなつまずきは起こらない
258:デフォルトの名無しさん
07/08/11 12:06:31
>>255
>12を11に書き直せば
何を書き直したの?情報量が少なくてよく分からん。
俺は10(FeliCa用)と11を2つとも同じEclipseで使ってるけど、
特に問題起きたことない。
>>257
>個人の技量&価値観次第
当たり前。WTKのが初心者向きかもって書いてるっしょ。
「一番いい」は何らかの評価基準の上にある。
259:デフォルトの名無しさん
07/08/11 13:54:55
Eclipseのプラグインがディレクトリ名を10もしくは11って決め打ちにしてるんだろ
で、MEXAの最新版はバージョンが上がっててディレクトリ名が12になってるんじゃないか
260:デフォルトの名無しさん
07/08/11 18:46:46
いや、中身が同じなら適当なフォルダ名でも動く。
261:デフォルトの名無しさん
07/08/11 18:57:39
>>259が正解
フォルダの名前を変えるか
設定のとこの実行パスを指定でフォルダ指定しなきゃいけない
262:デフォルトの名無しさん
07/08/11 19:25:15
ああ、そういうことか。
いつもパス指定してたから、デフォルト実行パスがあるの忘れてた。
>>255
つまり、プロジェクトを作成するときか、
プロジェクトのプロパティー→MEXA Emulator実行パスに、
"SOFTBANK_MEXA_EMULATOR12"のフォルダを指定すればそのまま使える。
263:255
07/08/12 02:13:40
皆さんありがとうございました!
MEXA Emulator設定で実行パスを設定したら無事に起動することが出来ました。
プラグインで最新になっているかと思ったのですが、そんな落とし穴があったのですね・・・。
まだまだ初心者ですが、勉強していきたいと思います!
>>258さん
書き直す・・・すみません、情報が不足していました。
フォルダ名を直接変更したら、ということでしょうか。
11が無いというんだから、11にしたらどうなるか?と思ったら起動したのですが、
それだとなんだか気持ち悪いな・・・というところでした。
264:デフォルトの名無しさん
07/08/13 20:55:20
誰か>>109に答えてくれまいか
ググってここにきたが、返信は書かれてなくてショボン
265:デフォルトの名無しさん
07/08/13 21:31:01
>>264
APIはない
266:デフォルトの名無しさん
07/08/13 22:07:52
>>265
そっか、Dojaからの移植はメンドいな
267:デフォルトの名無しさん
07/08/13 23:15:15
なんとかターミナルIDとりたいよね。
iアプリ→S!アプリ移植を半年ほどやってて、
最近はラッパークラスかますだけで大概移植できるようにしたけど、
Phone.getPropertyはいまだ手つかず。
268:デフォルトの名無しさん
07/08/14 01:47:46
超初心者です。ひとつわからない点があるので、
どなたか教えていただけないでしょうか??
FEPControl.getDefaultFEPControl()を実行すると、
エミュレータのコンソールでjava.lang.NoClassDefFoundErrorが発生します。
パスとか環境の問題だと思うけど、どこをいじればいいのか教えてもらいないでしょうか?
■Eclipse
バージョン: 3.1.1
ビルド ID: M20050929-0840
■Mexa
MEXA Emulator exlips-plugin
バージョン1.0.0
■エミュレータS! Appli MEXA Emulator 1.2
パス:C:\Program Files\SOFTBANK_MEXA_EMULATOR12
■プロジェクト
C:\SOFTBANK_MEXA_EMULATOR12
269:198
07/08/14 02:11:46
とりあえずjadファイルをコピペすれ
sageで
270:デフォルトの名無しさん
07/08/15 00:53:17
>>268
まずはjadに、「MIDxlet-API: JSCL-1.2.2」 追加。
あとはMEXA Emulatorのプロジェクト→端末設定→MEXAオプションの
必要なものにチェックが入ってないとかかなあ。
271:268
07/08/15 01:48:12
>>269
>>270
遅くなってすんません!
jadに「MIDxlet-API: MEXA」を追加したら動きました!
環境の問題だとばっかり思ってたんだけど、jadの方だったとは、、
一歩前進しました。
ありがとうございました!
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5386日前に更新/284 KB
担当:undef