1 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 18:09:15 ] NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。 ※DoCoMo以外は下記スレへ。 CLDC+MIDP+携帯電話用Javaスレッド part 5 pc8.2ch.net/test/read.cgi/tech/1132493827/ ■ iアプリ特有ではなくJava一般に関する質問はこちらへ 【初心者】Java質問・相談スレッド88【大歓迎】 pc8.2ch.net/test/read.cgi/tech/1153834996/ ■ iモード携帯電話用Java(iアプリ)まとめサイト ton.my-sv.net/ ■関連スレ 【日本携帯】Mascot Capsule/Micro3D【標準】 pc8.2ch.net/test/read.cgi/tech/1117773530/ 過去スレ Part 1 piza2.2ch.net/tech/kako/975/975428633.html Part 2 pc3.2ch.net/tech/kako/1000/10007/1000723476.html Part 3 pc2.2ch.net/test/read.cgi/tech/1040898596/ Part 4 pc5.2ch.net/test/read.cgi/tech/1067139509/ Part 5 pc5.2ch.net/test/read.cgi/tech/1084246226/ Part 6 pc5.2ch.net/test/read.cgi/tech/1091286071/ Part 7 pc5.2ch.net/test/read.cgi/tech/1102844217/ Part 8 pc8.2ch.net/test/read.cgi/tech/1110946222/ Part 9 pc8.2ch.net/test/read.cgi/tech/1120411353/ Part 10 pc8.2ch.net/test/read.cgi/tech/1131603113/ Part 11 pc8.2ch.net/test/read.cgi/tech/1141796982/
520 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 13:28:27 ] >>519 本人乙。 最適化ソフトは、容量を減らすかわりにメモリー使用量を増やす場合があることが書かれてるはず。 結果スタックにのっからなくなっただけ。 仕様どおりの動きだっての。 1クラスとか、1関数とかが大きすぎるんだよ!ダイエットしろ! べ、別にやらなくて後で問題が起きたって知らないんだからね!
521 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 13:37:23 ] Classファイルのスタックサイズの項を手動で0xFFとかにしてやればなんとかなるんじゃねw
522 名前:502 mailto:sage [2006/09/30(土) 13:59:59 ] >>520 519は502ではないです。 実機でスタックオーバーで動かなくなるのなら私のプログラムに問題があると思いますが、 proguardの処理中にStackOverflowErrorがでるのでproguardの方の問題だと思います。 スタックはクラス、メソッドの大きさより、ローカルで使用する変数の使用量が一番影響あると 思っていたのですが、クラスやメソッドの大きさも関係あるのでしょうか? ちなみにスタックを大量に消費しやすい再起呼び出しなどのルーチンは作成していません。
523 名前:503 mailto:sage [2006/09/30(土) 14:02:45 ] >>520 メモリ使用量が増えるってのはアプリの実行時の話でしょ、無関係。 ttp://proguard.sourceforge.net/manual/troubleshooting.html に、 複雑なメソッドを(Windows上で)最適化すると StackOverflowError が起こるかもしれないって書いてある。
524 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 14:14:35 ] StackOverflowError You can try increasing the stack size of the Java virtual machine (with the usual -Xss option). This error also seems to occur occasionally when optimizing complex methods on Windows (surprisingly, not on Linux). You can then work around it by using ProGuard's -dontoptimize option. hmhm
525 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 14:16:22 ] >>502 503が解決方法載せてくれてんじゃん java実行時のスタックメモリ量を増やせば大抵大丈夫だって 4Mで足りなかったら20Mでも50Mでも指定して実行するべし
526 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 16:04:26 ] 何百メガ設定してもだめなターゲットはだめ。 どうしても proguard 使いたかったら自分の側を変えるしか無さそうだ。
527 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 16:04:56 ] StackサイズがHeapサイズを超えそうだな
528 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 16:18:18 ] 1クラス内の変数が多すぎてコンパイルが通らないことはあったな。違う話だけど。
529 名前:502 mailto:sage [2006/09/30(土) 17:23:58 ] >>525 503さんの助言で10Mまでは試したんだが駄目だった。 それでjavacの最適化を切ったら動いたのでそれで作業してました。 今、試しにjavacの最適化にして、依然駄目だった10mでやると正常に動いた。 メッソドやクラスのサイズは増え、より複雑になってるはずなんだが・・・・。 orz >>526 自分の側を変えるにしても、proguardがどのクラス、メソッドを処理中に StackOverしているのかエラーメッセージを出してくれないと対処が難しいな。 コツとかあれば教えて欲しい。
530 名前:526 mailto:sage [2006/09/30(土) 18:33:06 ] proguard はあきらめた。
531 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 18:49:22 ] てかproguardって容量減る? エミュレータでコンパイルしたのだと大して変わらなかった
532 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:48:06 ] 書き方にもよるが、そこそこ減るぞ。
533 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:59:51 ] 2KBは減る。
534 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 20:00:11 ] 難読化させるとかなり容量減るんだが、 動かなくなる(笑)
535 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 01:20:32 ] >>496 です。 過去の書籍と現状についての比較について教えてくれたかた ありがとうございました。
536 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 01:28:26 ] >>534 難読化で動かなくなってりゃ世話無いよw preverify忘れてるとかいうオチと違うのか
537 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 03:31:38 ] >>536 いや、ロジック内で Hoge hoge=new Hoge(); があるかないかで おちる/落ちない が確定された。
538 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 03:35:13 ] バカはほっといてCLDC1.1の日本語ドキュメントどこかにありませんか?
539 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 04:12:32 ] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J >>538 / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
540 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 04:30:23 ] おれはprguardで57KBが30KBになるぞ
541 名前:538 mailto:sage [2006/10/01(日) 04:38:21 ] つーか一言でproguardっつってもバージョン一杯あるし そもそもサイト(source forge)で不具合報告されてるだろ? >>539 いや釣りじゃなくてw
542 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 08:25:57 ] CLDCってことは微妙にスレ違いか。
543 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 08:35:54 ] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J >>542 / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
544 名前:デフォルトの名無しさん [2006/10/01(日) 22:37:17 ] 携帯のJavaってベクターとかハッシュは使えるの?
545 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 22:42:20 ] がんばれば
546 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 23:47:27 ] がんばればというか、ベクターは普通に使えるはずだが。 重くなるからやらんがね
547 名前:デフォルトの名無しさん [2006/10/02(月) 22:48:11 ] >>544 ハッシュとか自分で実装しちゃえばいいだろ
548 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 01:37:33 ] いいからCLDCのAPIリファレンス読めや
549 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 01:52:29 ] この速度なら言える! 俺はStringTokenizerが大好きなのに! 大好きなのにー!!
550 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 04:15:51 ] StringTokenizerはサイズが小さいから、J2SE SDKに同梱のソースから引っ張ってこればすぐ使える
551 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 08:27:46 ] そうなんだよ。 だから毎回自前で組み込んでる。 この位最初から入っててくれてもバチはあたらないと思うんだ… 俺だけかなあ。
552 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 10:23:18 ] 自前で組み込めるから切ったんだろ
553 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 12:15:18 ] 903って902とまったく性能変わらんのだね。 まあ902で十分速いんだけども。でも…うーん…。 FとかDとか、少し遅かったのが底上げされてんのかな。
554 名前:デフォルトの名無しさん [2006/10/04(水) 20:42:39 ] いきなり質問してすみません。 今、学際に向けてiアプリを作っているのですが、どうしても使えるKEYを増やすことができません。 下のようなプログラムで、決定キーだけは使えるのですが、色々なキーを使えるようにしたいのですが、どうしたらよいかわかりませんか? int key=getKeypadState(); if (((1<<Display.KEY_SELECT)&key)!=0) { if (unomiV>-8) unomiV--; } else { if (unomiV<8) unomiV++; } unomiY+=unomiV;
555 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:45:38 ] 学際領域か。
556 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:57:02 ] どこから突っ込むべきか… とりあえず、公式マニュアルを嫁
557 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 21:12:48 ] >>554 >if (((1<<Display.KEY_SELECT)&key)!=0) { この行に注目。 セレクトキーが押されたかどうかしか判定していない。 だから「決定キーだけは使えるのですが」という結果も当然のこと。 他に例えば「1キーが押されてるかどうか」を判定するには if (((1<<Display.KEY_1)&key)!=0) { とすればよい。 調べたいキーについていちいちこのような記述をすることになる。 でもそれだと非常に面倒だよな。だったらどう工夫すればよいか? そこを考えるのがプログラマの仕事だ。がんばって〜
558 名前:デフォルトの名無しさん [2006/10/04(水) 23:01:59 ] もっとがんばってみます、ありがとうございす。
559 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 09:31:48 ] サーバーと何度かやり取りを行うアプリを作っているのですが、 keep-aliveは不可能なのでしょうか? ----------- con = (HttpConnection)Connector.open(url,Connector.READ_WRITE,true); con.setRequestMethod(HttpConnection.POST); con.setRequestProperty("Content-type","application"); con.setRequestProperty("Connection","Keep-Alive"); ----------- こんな感じの初期化で接続を維持してくれるかと思ったのですが、 1回毎に接続が切れてしまいます。 (しかも一度切れると次回接続が1〜2秒かかるのでちょっとイラつく・・) 携帯はSH902iです。
560 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 11:35:57 ] >>554 混乱するだけかもしれないが・・・気になったんでレス。 キーの判定そのもののやり方は>>557 さんのアドバイスで判るはず。 だが・・・サンプルだからかも知れないがこのソースでは 「ボタンを押しっぱなし」でないと反応しないプログラム くさいがそれでいいのか?試しに「ちょん」とボタンかなり短く押してみ。 プログラム自体のループ速度によるが反応しないことがあるはず。 もし反応がない時があって気になるようなら processEventについて勉強してみるべし。 Display.KEY_PRESSED_EVENTとかの使い方が判るようになる。 学際までがんばれ!
561 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 12:00:16 ] 学際領域か。
562 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 12:40:13 ] >>559 APIリファレンス HttpConnection#setRequestProperty() >設定できるプロパティ値は、"Content-Type"と"If-Modified-Since"の いずれかです。
563 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 18:12:37 ] 番号ポータビリティ始まったらDoCoMoに変えてiアプリ始めようと思ってるんだが 30KBって小さすぎね? 一枚絵の画像5、6個入れて音楽入れたら余裕でオーバーするじゃん ロープレとかサウンドノベルは無理だなこりゃ
564 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 18:27:53 ] ヒント:スクラッチパッド、メガアプリ
565 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 18:29:21 ] いやいや スクラッチパッドはともかく 今メガアプリ作っても遊んでくれるのごく一部じゃん
566 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:01:32 ] >563 ならDQとかFFはどうやってるのさw
567 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:04:54 ] DQとかFFは900i以降だから100KBじゃね
568 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:17:45 ] 10kBのRPGもありますよ。俺の知る限り5個。
569 名前:デフォルトの名無しさん [2006/10/07(土) 19:31:53 ] 音楽無しでマップチップが単一色1色で 戦闘で敵キャラグラフィック無し、とかなら何とかいけるな
570 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:43:30 ] 本気で言っているのなら、お前の技術不足。 某100円のアプリの体験版はその条件すべてに当てはまらない。
571 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:56:50 ] じゃあどうやんの? お前の知識を披露しておくれ。
572 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 20:12:33 ] >>569 ヒント:ttp://appget.com/im/pc/
573 名前:デフォルトの名無しさん [2006/10/07(土) 20:20:38 ] 最高におもしろい無料ケータイRPG hp00.avi.jp/40/motokimm/
574 名前:デフォルトの名無しさん [2006/10/07(土) 20:33:41 ] どこに10KBのRPGがあんの?
575 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 20:42:57 ] すげえ初心者が紛れてるな
576 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 20:53:12 ] 初心者の俺に教えてくれよ
577 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 20:53:52 ] (・∀・)カエレ!!
578 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 20:55:02 ] やっぱり答えられないの?
579 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 21:48:14 ] っ www.nttdocomo.co.jp/service/imode/make/content/iappli/about/index.html#004
580 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 21:48:20 ] 無理だと思うまえにやってみろ 初めから無理だと思い込むようではiアプリ開発は不可能
581 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 22:11:11 ] ここは他人に説教するのがデフォなのか?
582 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:00:25 ] iアプリはプログラムをダウンロードしたドメインとhttpで通信できるんだよ。 だから、そこからデータを落とすようにすれば事実上無限にデータを使える。 実際はいちいちデータをダウンロードするのはつらいので、ある程度スクラッチパッドに キャッシュするんだけど、それでも一度にスクラッチパッドの容量分は確保できるぜ。 今、データを含めてスクラッチパッドのサイズまでに抑えて、一回データをロードすれば 最後まで遊べるRPGを作成中。
583 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:49:46 ] >>578 503時代はそもそもJARのサイズが10KB、スクラッチパッドが5KBないしは10KBしか使えなかった。 でもって当時から(街出入りするたびに通信発生する様な、かなり無理やりなものではあるけれど) ちゃんとした体裁のRPGは存在した。 誰もかついでないから安心汁。 作ってみりゃわかるが、30KBあれば相当な規模のRPGも入るもんだぞ。 もっとも、スクラッチパッドのサイズ合わせれば100KBとかになるわけだが。
584 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 09:02:02 ] >>581 おまえ、ここム板だぞ? 説教するのもされるのも好きじゃなきゃ、技術職になんてついてないぜ
585 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 09:37:24 ] この程度で説教って…びっくりだわ
586 名前:デフォルトの名無しさん [2006/10/08(日) 09:49:41 ] 説教大好きだなお前ら
587 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 09:59:43 ] それは同意。 でもされるのは大嫌い。
588 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 10:29:52 ] 全角・半角の区別ってどうしてますか? 表示領域いっぱいまで文字を表示して改行したいのですが、 1文字ずつFont.stringWidth()で計算するのもいまいちな気がして。。。
589 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 10:38:54 ] stringWidth()の使い方がおかしい。 初めに完全なStringを用意してそれを第一引数にいれる。改行位置が返るから、substringで抜き出す。 文字サイズが固定なら自前でいいが、幅は極小と中以外は機種依存なはずだし、全部やるのは面倒だし容量の無駄。
590 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 11:51:57 ] Font#stringWidth()が返すのは文字列全体の幅。 表示領域幅の改行位置を取得するにはFont#getLineBreak()を使う。 そして1行分をString#substring()で切り出し。以降、繰り返し。
591 名前:588 mailto:sage [2006/10/08(日) 20:12:20 ] >>589 >>590 Font#getLineBreak()を知りませんでした。 恐らく589さんの言うところも、このメソッドを使えということですね。 これで目的は十分に達成できます。どうもありがとうございました。
592 名前:デフォルトの名無しさん [2006/10/09(月) 17:24:34 ] ちょっと興味出てきたからやろうとか考えてる俺が来ましたよ。 やったことないから分からないんだけど これって画像動かしたら再描画しなくちゃならないっぽくね? そんなことないの? VB使用者だからよく分からん。
593 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:58:57 ] >画像動かしたら 意味分からん
594 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 18:13:11 ] 俺もそこが疑問なんだけど 描画したImageをどっかに保持しておくことってできるの?
595 名前:594 mailto:sage [2006/10/09(月) 18:14:19 ] 脊髄反射でレスしちゃったけど我ながらアホなこと言ってるな 聞き流してくれ
596 名前:デフォルトの名無しさん [2006/10/09(月) 18:21:11 ] x座標とか動かしたら再描画になるんじゃね? 違うのか…?なら放置でorz
597 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 19:53:17 ] VBでもWM_PAINTで再描画するだろ
598 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 19:56:40 ] VBはWINAPI使ってないよ
599 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 14:23:54 ] 毎フレーム全部再描画する必要があるかってことだろ? 基本的にそれはない。 ないが、普通は全部再描画してしまうな。 マシンパワーもあがってきたし、画面全体が動かないゲームも珍しくなってきたしな。
600 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 18:10:26 ] 903iが発表されたな。 資料も落とせるぞ。
601 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 18:23:27 ] あーもー画面サイズ変えるなよ馬鹿
602 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:26:02 ] DrawAreaも知らない香具師発見〜♪。 ま、俺も昨日まで知らないであせった口だけどなw。
603 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 22:44:01 ] 画面サイズ変えるとさ、それだけ詰め込めって言い出すばかもいるのさ。
604 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:09:19 ] 多少の誤差じゃなくて、VGAだもの DrawAreaレベルの問題じゃない
605 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:16:13 ] こういう馬鹿がiアプリを支えてるのか・・・
606 名前:デフォルトの名無しさん [2006/10/12(木) 23:45:58 ] LocationProviderはトラステッドのみだけど、 LocationRecordで位置履歴は非トラステッドでも使えるね。 位置履歴って、GPS使ったら勝手に残ってくれるのかな? それが使えるなら楽しみ。
607 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:56:31 ] ドコモの鯖重すぎ エミュが落とせない クラス増えすぎ
608 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 00:18:06 ] 俺が見た時は5.0のエミュは近日公開になってた。
609 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 00:42:16 ] >>606 え?本当?
610 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 01:00:40 ] とりあえず俺は使ってる。 ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_20864gif.html
611 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 22:48:29 ] >>605 じゃねーとこんなにゴミゲー増えねーよ
612 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 22:49:54 ] 糸通しのゲーム気付いたら2時間くらいやってて俺何やってんだと思って死にたくなった
613 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 14:15:36 ] 解像度が4倍になると、描画性能が実質4分の1になりますww Xbox360やPS3も直面している現実。
614 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 14:25:13 ] 4分の1とまではいかないけど、Nが一番遅いってのは聞いたな。 実際VodaのVGA機もそこまで悲惨じゃなかった気がする。 メモリ以外はなwww
615 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 16:27:50 ] iアプリ開発の依頼がきているのですが 企画・画像・音楽・プログラムを全て受けて 1ヶ月くらいの期間で作成するゲームのとき おおよそ、いくらぐらいで見積ってますか? 700i対応なので、30KB+100〜200KB の規模かと思うのですが。
616 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 17:03:01 ] 50万
617 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 19:30:04 ] 100万
618 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 19:31:58 ] 全部か(´・ω・`) じゃ、とりあえず150
619 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 20:02:12 ] 1ヶ月って………ボタン押してシャーペンの芯出す様なやつ? 80万ぐらいかな。
620 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 20:03:50 ] シャーペンの芯出す様なやつで80万もらえるのか。