1 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 21:44:32 ] J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。 質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。 前スレ: CLDC+MIDP+携帯電話用Javaスレッド part 6 pc11.2ch.net/test/read.cgi/tech/1155174514/l50 過去スレ 携帯JAVAのスレッド pc2.2ch.net/test/read.cgi/tech/1011977260/ (DAT落ち) CLDC+MIDP+携帯電話用Javaスレッド part 2 pc5.2ch.net/test/read.cgi/tech/1070858996/ CLDC+MIDP+携帯電話用Javaスレッド part 3 pc5.2ch.net/test/read.cgi/tech/1091798483/ CLDC+MIDP+携帯電話用Javaスレッド part 4 pc8.2ch.net/test/read.cgi/tech/1108781476/ CLDC+MIDP+携帯電話用Javaスレッド part 5 pc8.2ch.net/test/read.cgi/tech/1132493827 -- Java一般に関しては: 【初心者】Java質問・相談スレッド88【大歓迎】 pc8.2ch.net/test/read.cgi/tech/1153834996 NTT DoCoMoのiモード携帯電話用Java(iアプリ)については: iモード携帯電話用Java(iアプリ) Part12 pc8.2ch.net/test/read.cgi/tech/1154336955 >>2-5 あたりにリンク集
116 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 10:18:57 ] >>115 ありがとうございます。 実はiアプリ用に作った紙芝居アプリをSアプリに移植しようとしています。 220×220の画像の上で物語が表示させるような感じのアプリです。 ちなみに古い機種でも使えるようにMIDP1.0で作成しています。 っで、家族が811SHという機種を持っているので試しにダウンロードして みたのですが、画面の中央にめちゃくちゃ小さくしか画像が表示され ません。文字も全然検討違いの所に表示されるし…。 ソフトバンクの機種情報を見ると、811SHは480×640となっているのが 原因だと思うのですが、こういう高解像度の機種の場合のみ別仕様で 作り直すという感じでしょうか?他の機種みたいに240×320とかならば 空白も気にならないと思いますが…。 どの機種においてもプログラム側で「240×260」の画像モードとかって 決められると一番楽だと思うのですが、どうやらないみたいですよね。 質問ばかりですみません。よろしくお願い致します。
117 名前:115 mailto:sage [2007/07/07(土) 16:50:47 ] >>116 一度開発ガイドをきちんと読んだ方がいいよ。 画面サイズの指定についても書いてあるし。 ttp://developers.softbankmobile.co.jp/dp/ ここから「Sアプリ」の「技術資料」で。
118 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 17:02:01 ] >>116 Jadファイル内に MIDxlet-ScreenSize: 240,260 を記述すれば、240x260 モードになる。
119 名前:116 mailto:sage [2007/07/07(土) 23:21:56 ] >>117 >>118 ありがとうございました!! ひたすらgoogleで検索しても出てこなかったのは 逆に「当たり前」すぎるからだったんですね…。 ちゃんと開発ガイドを熟読してみます! 本当に助かりました。ありがとうございました。
120 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:06:13 ] それってどの開発ガイド? 予想で書くとcom.j_phone.system.DeviceControl.readだから Read User Data Access(個人情報取得)に当てはまるとかはないかな?
122 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:06:31 ] >>120 SecurityExceptionはエミュレータのみで実機では正常に動作するの? 後、MIDlet-Application-SecurityはMIDP1.0の属性で MIDP2.0ではMIDxlet-Application-Securityだが、 SoftBankのMIDP2.0端末では、そもそもこの属性自体が対応していないので 入れても無視される。
123 名前:120 [2007/07/10(火) 15:12:43 ] ありがとうございます。 実機が手元になくまだテストができていません。申し訳ありません‥‥ 数日中に実機を手に入れる予定なので、手に入れ次第試してみたいと思います。 また使用不可能な機能一覧は、『MIDP 2.0対応端末編 1.0.1 2007-05-25(P62)』を参照しました。 (文脈からもうご覧になられたと思いますが) もしご回答戴いた予想通りなら使用は不可能ですね。 MIDPのVersionが違うのかもしれませんが、 『メールの記憶』というアプリ(個人作成と思われます‥)ではこの機能を使用しているのではないかと思われるアプリが、 『KVMゲームプログラミング』というホームページにてsetMailListenerを使用するV!アプリの作成方法が紹介されています。 それを見たこともあり、MIDP2.0でも作成が可能ではないかと判断したのですが、うまくいかず質問させて戴きました。 宜しくお願いします。
124 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:11:57 ] >123を読んだ感じ、その「メールの記憶」というアプリはMIDP-1.0用のアプリのようだけど、 MIDP-1.0とMIDP-2.0では規格上、セキュリティの管理の仕方が違うから MIDP-1.0のアプリでできるからといって、同じソースの記述でMIDP-2.0でもできるとは限らないよ。
125 名前:120 [2007/07/10(火) 18:30:03 ] >>123 ありがとうございます。 全くその通りなのですが‥‥ 出来ている方がもしいればとの思いで質問しました。 自分だけなら規格の変更のため使用が不可能だとは判断しきれないので。 120でも申し上げた通り、ダイアログの表示条件に当てはまっているように解釈できる資料もありますし‥ もし何か分りましたら宜しくお願いします。
126 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:00:52 ] MEXA1.1くらいののjavadocによると DeviceControl.setMailListenerは 機能グループ "Read User Data Access" のパーミッションだそうです Trustedじゃないと無理
127 名前:120 [2007/07/10(火) 19:33:32 ] >>126 ありがとうございました。 お陰様ですっきりしました。 助言を下さった皆様、またこの掲示板をご覧の皆様、 色々と本当にありがとうございました。
128 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 09:35:35 ] ランダムアクセスって無いの?そんな文を見たけど みんなどーやって一つのファイルから上手く読み出してるんだろぅ?
129 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 12:47:17 ] ?
130 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:18:12 ] SDの話じゃね? まぁ、いくらでもやりようはあると。
131 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん [2007/07/15(日) 21:09:37 ] データベースに接続して検索するアプリケーションを作ろうと思っています。 やはりMIDPでもJDBCを使って接続する方法はありますでしょうか?
133 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 23:50:40 ] >>132 携帯でやらずに、バックエンド(サーバー側)でやるようにした方がいいよ。
134 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 00:58:57 ] MIDP2.0のGameCanvasクラスのgetKeyStates()では数字キーの状態を取得できませんよね? 数字キーの状態を取得するのはMIDP2.0だけでは無理ですか?
135 名前:デフォルトの名無しさん [2007/07/16(月) 07:25:44 ] >>133 もちろんサーバ側でやりますよ。 容量がもったいないですし。
136 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 12:57:34 ] operaminiの鯖側は何で書いてるんかな?
137 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 02:54:51 ] 質問させて下さい。 iアプリ用に作成したゲームをSoftBank、AUに移植しようとしているのですが 画面のフェードアウト処理が出来ずに困っています。 iアプリではgetColorOfRGBで徐々に画面を白や黒にしていたのですが MIDPで解決する方法を教えて頂けないでしょうか? ただPixelごとに処理していると処理時間が凄く遅くなりそうで怖いです。。 画面自体の明るさを変更するような命令でもあれば楽そうですが…。
138 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 09:43:49 ] >>137 ソフバンならrenderPrimitivesで一枚でかいのを上からのっければカラー減算、加算、半透明といろいろできるよ。 AUは切捨て。
139 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 15:16:29 ] >>137 対象画面の画像をオフスクリーンバッファに描くようにして、 Image#getRGB()で1画面分の色を取得して一括処理、 その配列からImage#createRGBImage()で画像生成、描画。 拡大/縮小処理でやったことあるが速さは期待できない。しかし他に方法はない。 オープンアプリでは板ポリゴンを描画できないし。 速さが必要ならメッシュパターン(市松模様)をいくつか用意して重ね描き。 むかーしむかし、セガサターンというゲーム機があってのう…ゴホゴホ ア、オジイチャン、ネテナキャダメヨ
140 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 15:18:03 ] >>131 fillRoundRect()の最後2つの引数は弧の直径だとAPIリファレンスに書いてある。 直径1ドット(半径0.5ドット)の弧は描けないから 描画結果が微妙なことになっても、それは引数が悪いせい。
141 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:39:15 ] >>140 thx 勝手に半径だと勘違いしてました というか布留川氏の本でも半径っぽい絵が書かれてますね・・
142 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 08:37:29 ] >>135 そうじゃなくて、携帯側は結果を表示するだけで、それ以外は全部サーバー側でやれってことだよ。
143 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:21:53 ] そういやMIDPでDBと通信するミドルウェアがあったな。 MIDPなのにCDCが動くようなスマートフォンやPDAを前提としてたが。
144 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:41:07 ] >>144 普通に考えればその端末にBrowserConnectionクラスがないんじゃ。 BrowserConnectionってMIDPのクラスじゃないし。 まあ、使ったことないから知らんけど。
146 名前:144 mailto:sage [2007/07/20(金) 21:52:35 ] ありがとうございます。 実機でも試してみたんですが、それ以前にエミュレータでもWTKでも駄目なんです。 コンパイルはWTKのmidpapiにエミュレータのmidpapiを上書きして使っているんですが これが原因という事はないでしょうか? 今のところコンパイル時に他に不具合などは出ていないですが… 結局何がやりたいかと言うと、アプリ内に自サイトの紹介ページを作りたいんです。 要するに自サイトへの誘導が出来れば他の方法でもいいんですが、色々調べてみても 分からないんですよ。。
147 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:16:50 ] >>144 APIリファレンスでBrowserConnectionのとこ確認な BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス"); browser.connect(); browser.close();
148 名前:144 mailto:sage [2007/07/20(金) 22:47:05 ] >>146 ありがとうございます!エミュレータで動きました。 こんな単純なミスに気付かなかったとは… お恥ずかしい限りです。。 とは言え実機の811SHで試した所、ブラウザは起動してくれず…。 参考サイトを見た限りではこの機種はBrowserConnection使えると思ったんだけどなぁ。。 やっぱりMIDP1.0端末は切捨てて、MIDP2.0専用でMIDlet#platformRequestを使うのが ベストなのかなぁ。そもそもMIDP1.0端末のユーザってどれくらい残ってるんだろう?
149 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:04:33 ] MIDlet-Network: Y は書いてあるか?
150 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:18:15 ] >>149 はい。書いてあるんです。 エミュレータで実行するとアクセス許可のような画面が正常に出てきて、ブラウザも起動されます。 でも実機で試してみると、うんともすんとも言わない…。 なんでだろう…
151 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:31:16 ] アプリの仕事始めて半年くらいだけど、 MIDP1.0端末対応してくれってのはなかった。 MIDP2.0端末全部ってのはあったけど。
152 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:33:36 ] >>134 以前同じことで悩んで,結局は,全部自分で実装した。GameCanvas をあきらめ, キー情報を管理するクラスを作って Canvas の keyPressed などで,その情報を書き換える。 メイン処理では別にスレッドを動かしながら,その中でキー情報を管理するクラスにアクセスする。 非常に遠回りだけど,汎用的でいいよ。
153 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:48:01 ] 俺もDoJaと同じ仕様のCanvasクラス作ったけど、一つ問題が。 携帯のボディ部を擦るようにガリガリガリガリって数字キー連打すると、 たまにkeyPressedが来るのにkeyReleasedがこないときがあって、キー情報がバグる。 JSCLだけどDeviceControl.getDeviceState()で数字キーとれるよ。
154 名前:134 mailto:sage [2007/07/21(土) 01:03:39 ] >>152-153 確かにキーイベントでやれば汎用的になりますね JSCLが使えない機種にも対応したいので keyReleasedの問題には目を瞑って,キーイベントの方法でいこうと思います
155 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:16:18 ] >>154 参考にあげる。 www.sepia.dti.ne.jp/zigzag/Canvas.java
156 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:51:45 ] >>155 ども 参考にさせていただきます
158 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 02:01:43 ] >>156 ありがとうございます!!出来ました(T^T) 自分はJAVA初心者なので調べ方すらも良く分からず困っていたので、本当に助かりました! platformRequest()についても色々やってみようと思います。
159 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 02:18:05 ] アプリゲットのユーザ利用ブラウザ傾向を見ると、Softbankの携帯を使用しているユーザのうち 97.21%が3G型だと出ている。この統計を見る限り、今後はMIDP2.0のみでも特に問題なさそう。 こういう解釈でいいんですよね?
160 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 14:16:31 ] 喪前らはMIDPプログラミングするときはEclipseを使うのかい?
161 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:31:53 ] >>160 自分はただのテキストビューワとWTKだけです。 Eclipseって使いやすいの? 一度使おうかなと思ったけど環境設定でつまづいて辞めたw
162 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:46:59 ] >>160 Eclipse無しのコーディングは考えられないなあ。 >>161 趣味でやるぶんには使わなくてもいいんでない? 使いやすさはなんとも…。(個人的にはもう一歩足りない 感じだけど、おおむね満足。たまに秀丸を併用するけど) ただ、生産効率、デバッグ、タダで手に入るところ等等を 考えると、使えるなら使ったほうが良いよ的な意見。 ちゅうか、環境設定そんなに難しかった?
163 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:14:42 ] みんなオープンアプリ作る時って、WTKで実行→実機で実行の流れでやってる? AUのezplusEmulatorってMIDP2.0には対応してないよね??
164 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:04:05 ] S!アプリのエミュレータと実機だとフォントの描画位置ってずれてる? 同一画面サイズの同一フォントでも、どうしても描画位置がずれるんですよね〜。 一つの実機に合わせても他の実機でずれてる場合ってやっぱりあるんですかね?
165 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:17:51 ] >>163 ezplusEmulatorはオープンアプリとは無関係。 公式サイトに書いてあるように開発すればよし。 >■アプリの作成 >オープンアプリはサン・マイクロシステムズが提供するJ2ME Wireless Toolkit等で開発することが出来ます。 >開発ツールに関してはサン・マイクロシステムズのホームページなどをご参照ください。 >>164 >>114-119 これがヒントになるんじゃね?
166 名前:160 mailto:sage [2007/07/21(土) 21:04:44 ] さっそくEclipseをインストールしてみたが プロジェクトの切り替え・実行も簡単だし入力補完機能もあって素晴らしいじゃないか。 Eclipseの無いMIDPプログラミングはネギのないネギまのようなものだな(藁
167 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 21:19:30 ] Eclipse使うとプリプロセッサが使えなくなるから、俺は使わないなぁ。
168 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:46:35 ] ほうほう、なかなか使い勝手が良いという事ですな。 どうしよう、入れてみようかなぁ? すっごく初心者的な質問で悪いんだけど…、Eclipse自体にビルドと実行機能はあるの? あるんだったらToolkitは使う必要なくなるよね? あと…、プリプロセッサって何?
169 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:32:19 ] ビルドはantファイルを書く。 メガアプリ(3G)なら容量そんなに厳しくないから プリプロセッサ使う必要ないんじゃないかな。
170 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:42:53 ] EclipseMEが便利
171 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:53:01 ] >>161 ビューアだけでどうやって書くのか気になるwktk!! >>168 javaにプリプロセッサ使ってもソース管理が複雑になるだけだから止めとけ
172 名前:167 mailto:sage [2007/07/22(日) 01:16:22 ] MIDPだけのアプリであればプリプロセッサを使用する必要はないが DoCoMoやAuのJava等に対応する必要があるため、必然とプリプロセッサを 使用せざる得ない。 この場合、プリプロセッサを使用しないと一つのアプリで複数のソースが 出来てしまうため、余計ソース管理が複雑になる。 プリプロセッサを使用すれば、同一ソースで3キャリアのアプリを作成できる。
173 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:29:05 ] >>171 えっ、コツコツと一から入力してるけど…もちろんコピペは多様するが。。 もしかして時代遅れ!?
174 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:01:29 ] >>173 ビューア→閲覧するもの(書き込み不可) エディタ→編集するもの(書き込み可) ということで、>>171 が >ビューアだけでどうやって書くのか気になるwktk!! というのは、誰もが思うことだぜ。 余談 「テキストビューアなんてツールであるわけねぇだろ。 あってDOSのtypeコマンドくらいなんじゃねぇ」って 思って検索してみたら結構あるもんだな。 Vectorで124個もツールが存在していてびっくりしたよ。
175 名前:173 mailto:sage [2007/07/22(日) 04:28:48 ] おぉぅ、お恥ずかしい… こうなったら実際にテキストビューアで開発するしか反論できないなw じっと画面を見つめるだけでコードがスラスラと… これぞ眼力プログラム!! なんてね、勉強になりました。
176 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 08:15:45 ] >>167 俺はプリプロセスかけたソースをEclipseで扱う方法で デバッガだけは利用したことある。 ある程度規模がでかくなったら便利。
177 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 09:04:01 ] 当方 NetBeans の Mobility Pack を使ってるけどなかなかいいよ。 標準でのキー設定が Visual C++ と Visual Basic の間みたいな設定で, もともと両方使っていた私は,すんなりとなじめました。 ちょっと重いのが難点かな?
178 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 13:49:09 ] 当方MIDP2始めて一週間です WTKでエミュレート→OK W52Hで実行→画面が固まったままキー押してもソフトキー以外全く反応なし の時はどの辺でつまづいているのでしょうか?
179 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:42:49 ] >>178 とりあえず、どんな機能を使用しているのか示さないと、なんともいえませんね。
180 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 17:14:24 ] >>179 曖昧過ぎてすいません 他の方のをやってみるとスタート時にnow loadingとかして読み込んでいるみたいですが そういうのをしないと携帯ではイメージとか読み込みきれないのでしょうか?
181 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:24:53 ] >>180 それをやっとかないと、時間がかかる場合、動いてるのか止まってるのか分からなくなるでしょ。 実行速度が違うから、エミュでの印象とはまた違う。
182 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:32:34 ] まず、Hello Worldが動かせてるのかどうかから尻隊
183 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:52:24 ] >>181 WTKの実行速度っては変えられないですかね? >>182 一応WTK上では240*240の六マソのボスフロア内を想定しての動作は出来ているつもりです
184 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 00:13:16 ] 横レスすまないが 何かもう意思の疎通が図れてないというか意味が通じてないというかw スレがグダグダになりそうな気配 >>178 =180=183 せっかくアドバイスをくれる人がいるんだから質問されたことに的確に答えようよ。 >>182 は「Hello World」(代表的なサンプルプログラム)をやってみたかと聞いている。 それに対して>>183 で意味不明な答えはないだろう。 それに>>179 のツッコミに対して>>180 が全然説明になってない。 自分が組んだプログラムの説明をしろって言ってるのさ。 さらに、>>178 の解決にエミュレータの実行速度は関係ない。 いま質問すべきはそこじゃないだろ。1つずつ解決しろって。
185 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 06:50:21 ] >>184 グダグダにしてしまいすいません HWは最初に試しました 次に低レベルイメージ、コマンド 応用でランダムの高さのブロックをジャンプで避けるアクションは実機でも出来たのです ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので ある程度以上の動作が実機だと追いついていないみたく困っております 説明下手なので自分のソース晒したらピンポイントで指摘して頂けますか?
186 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 08:48:02 ] 問題に取り組もうとする姿勢は伝わるんだけどもコミュニケーション能力を何とかしてw >HWは最初に試しました 自分で勝手な言葉を作って話したってわからないよ。 >ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので だから、わからないことを次々書くんじゃなくて>>178 のプログラムを説明せよと。 何をやろうとしてどういう処理を記述してるのか、それを他人にわかるよう説明せよと。 >説明下手なので そういうことじゃなくて、まず聞かれたことを理解して、そのことについて答えて欲しい。 そうしないと問題解決の糸口すらつかめなくて誰もアドバイスできないよ。 >自分のソース晒したらピンポイントで指摘して頂けますか? どうして書き込みの度に話がすっ飛ぶのさ。>>179 の続きからやり直しだな。 車を運転してたら止まった。サーキットを1周したいんだけど方法がわからない。 車を見せたら原因と方法を教えてくれますか? …そんなのJAFだってお手上げだよ。
187 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:26:30 ] >>185 画像や音は最初に全部読み込んで、すぐ使えるImageなどの状態にして、 HashTableや配列に入れとく。 ベストな方法かは知らんし、メモリ不足には気をつけにゃならんけど、 使うたびに読み込むよりは断然速い。 あと、もうちょっと他人が何を言いたいのか考えて、それに答えるべき。 小学校で習うことだぜ。 指摘できるか分からんが、ソース晒すなら見てみよう。
188 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:59:39 ] まず、「何が問題で、どうしたいのか」がよく分からんというのがなあ。 携帯Javaは初心者かもしれないが、日本語の作文も初心者なの?
189 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:00:01 ] いや、それ以前に問題に取り組もうとする姿勢は見れるけど人の話聞いてない。 言われてることを冷静に考えて返答しないと会話が成立しない。
190 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:07:21 ] >>186-189 プログラム以前のヘタレですいません こちらにまたヘタレ文書くと他のかたに迷惑になりそうなので www.uploda.net/cgi/uploader4/index.php?file_id=0000016893.zip にソースと自分なりの説明書きました それを見て解決方法教えていだたける方がいたらお願いします passはjapanesepoorです
191 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 13:44:53 ] >>190 俺だったらGWCanvasのコンストラクタの中身ほとんどを run()のwhile(true)の直前に書くね。 Display.setCurrent()の前でしかもコンストラクタ内で getGraphics()はしないほうがいいんじゃないかな。 コンストラクタ内では、リソースに依存しない変数の初期化程度にしとくと良いよ。
192 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:28:46 ] Graphicsの有効なライフサイクルは描画前から描画後だしな。 何かしらプールが必要な場合は保持してるGraphicsが有効かどうか調べて有効ではない場合 確保し直さなければならない。JOGLはこれをある程度やってくれてたな。 まあ、環境依存のリソースをコンストラクタで拾うこと自体ちゃんと考えた方が良いかも。
193 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:29:46 ] すみません、テキストビューアでアプリ開発していると言った者です。 手に負えない事が一つあるので質問させて下さい…。 当方MIPD2.0でプログラミング中なのですが、全く同じソースで全く同じJAD/MFのソースを クラス名/ファイル名のみ変えて新規プロジェクトで実行すると下記のエラーが発生してしまいます。 Unable to create MIDlet null java.lang.NullPointerException 設定も何もかも同じなのにどうして新規プロジェクトだと実行できないのか…。 もうちょっと具体的に書かないと分からないのかもしれませんが、何をどう書けばよいやら、、 上記のエラーMSGでググってみると英語のサイトしか発見出来ず、翻訳したら意味不明な 文章になってしまい参考にも何もなりませんでした。 どうかよろしくお願い致します。。
194 名前:193 mailto:sage [2007/07/24(火) 18:39:42 ] 申し訳ありませーーん!!自己解決しました!! なんと…、プロジェクト作成時にClassNameを入れてませんでした…(汗) さすがテキストビューアでソースが書ける男だと笑ってやって下さい。。
195 名前:187 mailto:sage [2007/07/24(火) 22:44:06 ] >>190 見ると言ったので、いちお。 ぱっと見いいように見える。 SoftBankだけど810SHでは普通に動いたし。 とりあえず、コンストラクタで色々やらない方がいいんでないかな。 Canvas作る→setCurrent→画像読込→getGraphics()→メインループとか、 setCurrentした後には少し間を空けた方がいい。 あと思いつくのは、ループの間隔60msecが速すぎて処理できないとか。 ブロック描画を最初の一回だけにしたり、loop()を軽くしてみるのもイイかもね。 EZ Javaはやったことないから、機種・キャリア依存だったらなんとも。
196 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:12:51 ] こんなヘタレに指示を下さった >>191 さんと>>192 さんと>>195 さん の的確なアドバイスのおかげで携帯でも動作可能になりました でも動作途中フリーズする場合があるので改良していきたいと思います 本当にありがとうございました
197 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:41:21 ] 解決しちゃったのね コンストラクタでは最低限の初期化のみで初期処理は別に切り出す 初期処理時にメッセージなりプログレスバーを表示すると 待ってる人の待たされてる感がかなり軽減できるのでお勧め ソース見てると整理する力はあるから焦らずにがんばれ
198 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:16:08 ] すいません、質問です。 無職になった記念に、外部ストレージに日記をつけるようなS!アプリを作ろうかと 思ったんだけど、MEXAエミュレータでStorageConnectionを使うとSecurityException が出ます。 これはもうなんらかの間抜けな設定ミスだろうと思うんですが、エミュレータの アプリ毎のパーミッション設定「WriteData」を変えようとしても「*許可しない」 しか選択できず困ってます。 ストレージの空サイズはインストール時のデフォルト(内部8000KB、外部16000KB)で、 jadファイルにはMIDlet-Permissions:com.j-phone.io.Connector.StorageConnection.write を書いてます。 他に見落とし易い所が有ったら教えてください。
199 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:16:05 ] >>198 memories.cocolog-nifty.com/diary/2006/03/vodafone_3gc_9f2a.html
200 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:59:53 ] なにはともあれ、MIDxlet-API: JSCL-1.2.2 StorageConnectionはどうか忘れたけど、怪しい機能を使うときは MEXAエミュ端末設定のオプション全部入れとこう。
201 名前:198 mailto:sage [2007/07/26(木) 11:45:48 ] >>200 "JSCL-1.2.2"と"JSCL-1.4.2"ついでに"MEXA"も試しましたが、だめでした。 他の要素も試してみます
202 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:11:37 ] パーミッションにj_phone.io.Connector.StorageConnection.readが 入っていないのが原因じゃない?
203 名前:198 mailto:sage [2007/07/26(木) 14:48:20 ] 198では省略しましたが、readも入れてありました。 で、昼まで寝たら、恥ずかしい原因判明。 たぶんUntrustでインストールしているのが悪いのかと。 資料を読むと、このせいでSecurityExceptionが出るようなこと は書いてあるんですが、なんか変な思い込みが有ってエミュレータ ではいらないのかと思ってました。 すいません。 でも証明書や署名って、取得の窓口すらわからんです。 最初にコンテンツアグリゲータに作者登録してから始めれば 良かったんでしょうか もう一回寝よう。無職だし。
204 名前:198 mailto:sage [2007/07/26(木) 14:59:10 ] 寝る前にググったら、なんでだかnokiaのサイトに それっぽい資料が有りましたので、いろいろ調べてみます。 ありがとうございました。
205 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 22:25:05 ] 実機?MEXAエミュレータの話じゃないの? エミュならオプションのセキュリティ設定するだけでTrustedにできるけど。 MEXAエミュでStorageConnectionやったことがあるから普通にできるはず。 実機だと、色々登録が必要。
206 名前:デフォルトの名無しさん [2007/07/27(金) 01:08:22 ] 質問させて下さい。 S!アプリでパズルアプリを作っています。 完成したので703SH,905SH,912SHで実機テストをしてみました。 実行結果を見ると圧倒的に703shの方が動作が速いのです。 動作速度は「703SH>>>>905SH>912SH」の順番でした。 ttp://www.moreread.net/mario/Any/appli/s_bench/list.php 上記サイトのベンチマークをみると実行速度の順番は 「912SH>905SH>703SH」になっています。 原因を調べてみたのですが、オフスクリーンに書き込みを 行う時に912SH,905SHは時間がかかるようなのです。 912SH,905SH,703SHの端末仕様書には目を通したのですが 原因がわかりませんでした。 912SH,905SHでオフスクリーンを使うと実行速度が遅くなる などの端末仕様などがあるのでしょうか? または同じ症状になった人はいますか?
207 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:32:28 ] 経験的に、描画は新しい機種が古い機種より速いとは一概に言えない。 これで何に時間かかってるか細かく測ってみるといいよ。 Calendar start = Calendar.getInstance(); //時間を測る処理 Calendar end = Calendar.getInstance(); long time = end.getTime().getTime() - start.getTime().getTime();
208 名前:198 mailto:sage [2007/07/27(金) 13:38:55 ] >>205 はい、MEXAエミュレータでの話です。 Trusted(3rd Party Domain)でインストール、を選択すると コンソールに「Attempted to update MIDlet as other protection domain」 液晶画面には「910 Authorization failu」 となっていたんですが、一度アンインストールしたら出なくなりました。 お世話様でした
209 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 17:49:55 ] >>207 システムの時間は充てにならんからなぁ。特にjava MEベンダのCalendarは。 プロファイラなんかでボトルネックみるとかマトリクス書きだすとかの方が良いんだけど実機じゃできないかー。
210 名前:207 mailto:sage [2007/07/28(土) 09:32:13 ] >>209 そうなの? Calenderよく使うけど、今まで問題を感じたことなかった。 暇があれば、正確かどうか測ってみます。
211 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 10:31:00 ] 俺もそうだが、どうしても体が Calender と打ってしまうな(´・ω・`)
212 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 19:03:55 ] Calendarは可憐だ、、、
213 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 06:00:03 ] ダウンロードしようとすると無効なデータですって言われる…なぜだ
214 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:04:30 ] >>213 理由はいっぱい考えられる。 もう少し詳しく状況を書くがよい。
215 名前:デフォルトの名無しさん [2007/08/02(木) 04:52:32 ] 御免、解決しました ジャーファイルを手動で作ってたのがまずかったみたいです
216 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 08:24:38 ] ジャーだめだな