CLDC+MIDP+携帯電話用Javaスレッド part 4
1 :
デフォルトの名無しさん :
05/02/19 11:51:16
2 :
デフォルトの名無しさん :05/02/19 11:52:17
>>1 乙!
Vodafone 3GのVアプリ仕様公開マダ〜?
>>1-6 超乙彼夏
前スレでVのバージョンを変えろと教えてくださった方ありがとう。
8 :
デフォルトの名無しさん :05/02/20 01:33:26
P6型で3Dアプリを作っているのですが、1〜2秒おきに処理がとまってしまいます。 これって何が原因かわかりますか?(ウェイトをはずしても変わらない)
sage
10 :
デフォルトの名無しさん :05/02/22 02:23:49
すごい基本的なことかもしれないんだけど。。 JSCL1.2を使ってるアプリって、JSCL1.1しか対応してない端末でもロードできるの? もちろん最初に機種判定して、JSCL1.1端末の場合は、 JSCL1.2の固有機能を使うルーチンは呼ばないようにはするけど、そもそもロードできるの?
11 :
デフォルトの名無しさん :05/02/22 02:45:56
V601SHを使っています。 timer.scheduleAtFixedRate(task, 1000, 1000); このようにタイマーをセットして、 taskのrun()で経過時間をカウントして経過時間を描画しています。 1秒おきに経過時間が1ずつ増えていくのですが、 たまに2秒増えるときがあります。 どのようにしたら解決できるのでしょうか?
>>10 「ロード」ってのが何を示しているのかは知らんが、実行時エラーになるんじゃないかと思う。
MIDlet-OCLなりアプリゲット登録時の端末チェックなりをしとけば、ダウンロード時にはじいてくれると思う。
プログラムの組みようによっては混在もできると思うけど。
>>11 「1秒後に呼んでくれ」とタイマーに頼んでも、1秒後きっかりに呼んでくれる保証はないぞ。
説明読む限り、scheduleAtFixedRateは呼ぶ回数と長期的な時間のずれは問題ないようにしてくれるが、
常に1秒きっかりで毎回呼んでくれる保証はない。(gcにとられる時間など)
>>9 メモリの使い方が悪かったみたいです。JAVAの基礎からやりなおしかな・・・。
P5型用の画像を表示するVアプリを作成しています。 とりあえず画像(JPEG、PNG)をそのまま表示する所 までは作れました。そこで、表示した画像を自由に拡大、 縮小できるようにしたいのですが、JPEG画像を簡単に 拡大、縮小する方法はないですか? BMPならデータ構造が単純だから拡大、縮小する処理 ぐらい自力で作れそうですけど、やはりJPEGはそんな 簡単に拡大などできませんか?
Vで質問です。 アプリのバージョンアップで、前のセーブデータを引き継がない場合、どうすればいいんでしたっけ・・? Midlet Data Size を変えれば良かったんだっけなって思って増やしてみたけど引き継いじゃいました。
16 :
デフォルトの名無しさん :05/02/22 15:23:23
EZアプリの質問です。 Javaアプリが走る携帯で、アプリを使っての通信と その携帯に搭載されているブラウザを使っての通信とを 見分ける方法はありますか?お分かりになる方おられましたら ご回答、よろしくお願いいたします。
すいません、減らしたらできました。
>>16 サーバ側の話だよね。ヘッダ見て判断して。詳しくは
>>2 のEZアプリ技術情報
>>14 その質問はP5のVアプリとかそういうの関係なしに、画像加工の面から調べることだな。
携帯アプリの画像の変形について一般に言えることは次の通り。
1.まず画像の変形用のAPIがあるか確認し、あれば使う。
2.任意サイズの拡大縮小や任意角度の回転といった場合も、
そういったAPIがあるか確認し、あれば使う。
上記2つがない場合
3.描画済みの画像に対してピクセル単位で色情報を取得できるAPIがあれば
それを使って色を取得しながら、自力で変形や色計算を行う。とても遅い。
4.元にする画像ファイルのフォーマットが簡単なピクセル並びの色情報で
できているなら、3.の方法が使える。3.より速い。
5.変形後の画像をあらかじめ用意しておいてそれを描画する。
---
P5のVアプリでJPEGの任意サイズの拡大縮小は「3.」。自分は実際にやった。
>>16 ,18
今の開発ガイド読んだら「ブラウジングと同一」って書いてるよね。
実際自分でやってみたら(5403)少なくともUser-Agentは同じだった。
自分で作るアプリならヘッダに適当なパラメータつければいいけど
多分アプリで設定するヘッダが優先されるから、偽装可能な希ガス。
まぁ普通そこまで(端末毎のパラメータを用意)しないかもしんないけど。
・・もしかして僕勘違いしてます?
21 :
デフォルトの名無しさん :05/02/22 18:18:21
>>18 , 20
ご回答ありがとうございます。
サーバー側の問題なんですが、Javaアプリで定期的にアクセスされて
アタックのような状態で困ってるんです。それでもしJavaアプリ
のアクセスならはじければありがたいんですが・・・。
22 :
デフォルトの名無しさん :05/02/22 18:22:37
追記です。 技術情報にはそれらしいことは何ものっていませんでした。 KDDIにも聞いてみたのですが、技術的な事はお答えできないと 言われました。質問した部署が悪いのかもしれませんが・・・。
>>19 ご回答ありがとうございます。
やはりP5のVアプリでJPEG画像を素早く
拡大、縮小することはできないんですね。
3.の方法でとりあえず試してみます。
>>21 アプリの話じゃなくなるんだけど、ブラウザにしろアクセス集中は困るわけだから
鯖で同一アドレスからのアクセス回数に制限かけたら?
ApacheならMaxKeepAliveRequestsとか。
25 :
デフォルトの名無しさん :05/02/22 19:16:52
>>24 うーん、そうするとほかの携帯ユーザーにも迷惑がかかるので
それは避けたいんです・・・。
>>25 いや、他のユーザーはアドレス違うじゃん。
携帯は固定IP(ネットは)だったとおもうけど・・。
「Javaアプリからアクセスされて」ってのは本当か?どうやって確認したんだ? アプリなのかブラウザなのかは区別できないんだろ?
>>16 =21
>>20 説明不足スマン。
ブラウザからのアクセスはリクエストヘッダにサブスクライバIDが含まれる。
Javaアプリでは含まれず、プログラム内部で付与することもできない。
これで判定できると思う。具体的なやり方は公式サイトになかった、これもスマン。
「サブスクライバID」でググるといくつも出てくる。
29 :
デフォルトの名無しさん :05/02/22 21:12:44
>>27 ログを見るとアクセスのタイミングがずっと同じなんです。
(セッションIDで確認しています)人間の手でやるには少し
無理があります。ほぼ24時間動いてますし・・・。
30 :
デフォルトの名無しさん :05/02/22 21:16:48
>>28 サブスクライバIDを利用して対策をしたところ、一時期アクセスが
減ったのですが少しすると対処されたのか同じようにアクセスされる
ようになりました。
サブスクライバIDも、Ezアプリの中で設定でき詐称できるようです。
>>16 =30
>サブスクライバIDを利用して対策をしたところ、一時期アクセスが
あのさ、そういうことは最初に言うことでしょ。
今までどんな対策してきたのか挙げたうえで質問しなよ。
サブスクライバID(以下、ID)を取得するAPIはない。
プログラム内で付与してるとすればそれはでっち上げたID。
リクエストヘッダを編集して偽IDを付与してるってこと。
乱数で毎回異なる偽IDを作ってるようなアプリからのアタックで
困っているというなら(そこまでして狙われるサイトって何なのさ)、
メールアドレスや電話番号を登録してもらうような、厳密で明示的に
会員管理するサイトにするしかないだろうね。
>>28 なるほど。知らなかった・・。勉強しとこ・・メモメモ。
>>16 とか
またオイラが無知なだけかも知れんが、ちょっと気になったので・・
そもそも携帯からかどうか、ってのはどう判断してるの?
ヘッダが偽装可能なのでそこで判断してるってのなら実はPCかも知れないでしょ?
っていうか携帯から何度もアクセスなんか出来ない(WINは回数制限がある)ので
PCで偽装(エミュorシュミレータとか?)っていう可能性の方が高い気がする・・。
>>20 PCを弾くには
>>2 のEZアプリ技術情報のIPアドレス帯域のページを参考に。
34 :
デフォルトの名無しさん :05/02/23 02:44:10
>>12 常に1秒きっかりで毎回呼んでくれる保証はないのは分かるんですけど、
1, 2, 3, 4, 5, 6, 8, 9のように、7が飛ばされちゃったりするんです。
時計の秒針と見比べていると、たまにきっかり1秒早くなっているんです。
20秒後に1秒早くなるとか、40秒後に1秒早くなるとかで、再現性が無いのです。
schedule()を使うとどんどんずれていくし、
scheduleAtFixedRate()を使うとたまにきっかり1秒早くなるしで困ってます。
DateのgetTime()を使うしかないんですかね。
>>34 「1秒置き」というのは大げさに言うと「1.1秒置き」なんだよ。
1.0→2.1→3.2→4.3→5.4→6.5→7.6→8.7→9.8→10.9→★12.0
上記だと11が飛ぶわけ。
つまりgetTime()使おうが結果は同じ。
「1秒置き」というところを「0.1秒置き」とかにしてあとは工夫すべし。
>>33 いや、まぁ確かにそうなんですけども
僕が言いたいのは、「携帯の貧弱な通信網でアタックが可能なのか?」ってことで、
それが事実なら納得するしかないですが、どこかで勘違いしてる気がします。
例えば
1.判断をIPで行ってないので、実はPC
2.本当に携帯だけど、実はアタックというほどの頻度ではない
3.単に接続失敗して再接続したみたいなログが残ってるだけ
みたいな。
31でも書かれているように、現状がハッキリしないと判断しにくいし、
わざわざそんなアプリ作る物好きがいるとも思えない・・。
今Phase3専用のEZアプリを作成中なのですが、 ユーザーに文字入力をさせ、その文字列を使いたい場合、どうすればいいのでしょうか?
なんかちょっとだけスレが進んだと思ったら電波系質問者の登場ですか? >サブスクライバIDも、Ezアプリの中で設定でき詐称できるようです ?(゚_゚)(。_。)(゚_゚)(。_。)? そもそもの話の前提の「アタック」て何よ?携帯1台に「アタック」されて何が困るの? 携帯1台に「アタック」されて困るサーバーてどんなんだよ
読み直したらすごいこと書いてるよこの人 >タイミングがずっと同じなんです。人間の手でやるには少し無理があります。ほぼ24時間動いてますし・・・。 だったら携帯と違うじゃん。携帯のアプリは人間の手で携帯を操作するんですよ。 アプリと名前が付いてるからパソコンのアプリケーションのようなイメージでいるんかな? auはサブ巣クライバが強制送信だから(※注:不正請求詐欺対策で任意送信に変わるらしい)「.htaccess」で個別denyが一番容易な端末なんですよ。 アクセスしたIPがau端末のIP帯域に該当しないはずですよ、たぶん。 だれかがPCのダウンロード支援ソフトのUserAgentに冗談でKDDIの携帯のUserAgentを入力して時刻設定の自動運転してるだけだろうが。 うまくダウンロード出来ないから自動で再トライをしてるだけだよ。 ダウンロードが目的じゃなくてもアクセスログにエラーを出して相手をびびらせようとしてるだけかも。 どっちにしても「.htaccess」で弾くか、無視して何もしないかですよ、たいした話じゃない。 アクセスカウンタが進むだけで実害ゼロ。
すみません。
やり方がわかりましたので、
>>37 は無視してください。
vodafoneのeclipseプラグインを使ってるんですが、 antでのproguard連携がうまくいきません。The <proguard> task dosen't support the nested "injar"elementとでます。 どこがおかしいのでしょうか? <taskdef resource="proguard/ant/task.properties" /> <target name="obfuscate" > <proguard overloadaggressively="on" defaultpackage="" allowaccessmodification="on" printseeds="on"> <injar file="${basedir}/${bin}/${jarname}.jar"></injar> <outjar file="${basedir}/${bin}/${jarname}_s.jar" /> <libraryjar file="${classpath}" /> <keep access="public" extends="javax.microedition.midlet.MIDlet" /> <keepclasseswithmembernames> <method access="native" /> </keepclasseswithmembernames> </proguard> </target>
素人目で見ると ><injar file="${basedir}/${bin}/${jarname}.jar"></injar> ><outjar file="${basedir}/${bin}/${jarname}_s.jar" /> 対になるこの2行で行末が違うなーと
<injar file="${basedir}/${bin}/${jarname}.jar" />に直しました。 その後、antを最新版の1.62にしたところproguardが動くところまではいけましたが、 下のようなエラーが出ました。 [proguard] Warning: DatViewText: can't find superclass or interface java.lang.Object [proguard] You may need to specify additional library jars (using '-libraryjars'), [proguard] or perhaps the '-dontskipnonpubliclibraryclasses' option. [proguard] If you are sure the mentioned classes are not used anyway, [proguard] you could try your luck using the '-ignorewarnings' option.
stubclasses.zipをstubclasses.jarにしてから設定したら成功しました。 [proguard] ProGuard, version 3.2 [proguard] Reading program jar [C:\eclipse\workspace\TextMemo\bin\TextMemo.jar] [proguard] Reading library jar [C:\V-appli_SDK_122\lib\stubclasses.jar] [proguard] TextMemo [proguard] Preparing output jar [C:\eclipse\workspace\TextMemo\bin\TextMemo_s.jar] [proguard] Copying resources from program jar [C:\eclipse\workspace\TextMemo\bin\TextMemo.jar]
連投すみません。zipとかjarとかは関係なくてただ設定が間違ってただけでした。
VODAFONE3Gはいつ仕様公開されるんですか?
47 :
デフォルトの名無しさん :05/02/23 20:54:53
>>35 説明が悪くて申し訳ないです。
scheduleAtFixedRate()で指定するtaskのrun()で、
count++;のように1ずつカウントしているので、
1.1秒おきにrun()が実行されたとしても、
1, 2, 3, 4, 5, 6, 7と表示されていくと思います。
なのに、たまに5, 6, 8, 9のようにひとつ飛ばされちゃうのです。
0.1秒おきにgetTime()することにします。
>>47 話聞いてる限り、プログラム側のバグじゃないかと思えてきてしまう。
マルチスレッド考えずに値をいじってるとか。
いずれにしても0.1秒おきにSystem#currentTimeMillis() して毎回差分を計算するのが常套手段だとは思う。
256kアプリで使える、テクスチャーフォーマットの詳細を知っている人が いたら教えてください。(bmpだとサイズが・・)
51 :
デフォルトの名無しさん :05/02/24 17:34:46
リソースフォルダに格納されているjarファイル(txtが圧縮されてます)を レコードストアに保存したいのですが、どなたか教えてください。 簡単なソースでも、書いていただけると嬉しいです お願いします。
>>50 そういうやり方があるのね・・。確かにjarにするからたいして変わらないのかも
とりあえず、あり
BMPのランレングス圧縮にすればそれなりに小さくなる
>>51 バリナリとして読み出して、バイナリでレコードストアに書き出せばいいよ。
でもresにjarを入れてビルドすると2重で圧縮かけてことになるよ?
それたっだたtxtのまま入れたほうが面倒でないぞ。
>>54 ありがとうございます。
なんとかできそうです。
ちなみにresにjarを入れてるのは、テスト用だからです。
実際は、通信から取得する予定です。
jargとか使うとstatic final int TEISU = 3;とかは定数に置き換えてくれますか?
>>56 意味がわからない。static final intはSunのコンパイラなら
最初からインライン展開してくれるけど?
おれは不安になったw
>59 でーじょーぶだそ。いくつものファイルに渡ってその定数を参照してるならともかく、 MIDPの世界でMIDletのサブクラスとCanvasのサブクラスの二つ以外に クラスなんて作るはず……ないよな? orz
結構それの他のクラス作ったことあるけど意外と平気みたい
昔public static finalそのままでjavac通すとclassファイルがやたらでかくなった記憶が・・・ それでjavacを信用せず自分でプリプロセッサ通してたんだけど、最近のは大丈夫になったの? 定数展開されるなら、今度は逆に、 TEISU=3でコンパイルしたclassとTEIS=4でコンパイルしたclassを混ぜれないことになるのか。 依存関係をいちいち書くのもめんどいんで、毎回全部リコンパイルしなきゃいけなくなるなぁ、まぁ知れてるけど。
インライン展開されるが、クラスファイル中にstatic final intは残る static final int a=1; System.out.println(a); ↓ static final int a=1; System.out.println(1); だめじゃんw
Vodafone用のJAVAアプリについて質問です。 携帯折り畳み時、スリープ等を用いて電池の消耗を 防ごうと思ったのですが、携帯を折り畳むと自動的に JAVAアプリが停止する(※携帯電話自体の仕様)ので、 携帯折り畳み時に電池の消耗を防ぐようなプログラムを 作成しても無駄ということですか?
>>64 JAVAアプリを動かすより動かさない方が電池の消耗を防げる。
66 :
デフォルトの名無しさん :05/02/26 12:14:23
>>65 え?
というか、JAVAアプリの停止中(※再び再開可能な状態)って、
JAVAアプリは動いていない(全てのスレッドが停止状態)と
考えてよいのですか?
携帯に既に一時中断する機能があるのに何を作りたいって? それとvodafone用ならVアプリと表記しろよ。名前が変わってどれだけたってんのよ
>>64 Thread.sleep()で電池が持つようになるわけない
VM上で動いてるということを理解すべし
みんな親切だな こういうのは一言でいいんだよ >無駄ということですか? Yes
>>69 おまえのような奴ばっかだったら何の発展もしない罠
70=質問者
みなさん、「System.gc()」は使用してますか?
Runtime.getRuntime().gc()ならたまに使うけど
同じ事
>73 CLDC の API 見ると、すぐにGCしてくれるんじゃないかって 期待したくはなるがな。
GCって自分である程度の間隔でコールした方がいいの? APIリファレンスとか見てると、Java Virtual Machineが自動的に やってくれるという事が書いてあったのだが。
GCの話はこのスレやiアプリ開発のスレでもよく出てくる もし暇があるならこのスレpart1からざっと眺めてみるといいかも
79 :
デフォルトの名無しさん :05/02/27 21:22:28
先生方頼みがある。 WTK2.2でRecordStoreに200KBのデータを書き込んでみるアプリを 作ってデバグしているんだけど、RecordStore#closeRecordStoreで 170秒も止まっちゃう。ハードディスクのアクセスランプはその間真っ赤。 まあ200KB書き込みを見直せというのは置いといて、対処法とか知ってる 人頼む。ほんとどうしたもんか。
>>79 普通に実行する分には大丈夫なんすか?
デバッガに問題ありそうな気がするので、その辺の環境書いてホスィ。
って自分今始めてWTK22で試してみようと思ったけど
KToolBarのDebugの使い方ワカンネェ・・。Eclipseでブレイク置いてとかしか・・。
MIDlet-Data-Size:はちゃんとしてる?
>>81 してなかったらしてなかったで、例外吐くだけのような気が。
>>76 ガベコレタイミングの問題だと思う。
ガベコレ始まると最悪数秒くらいスレッドが止まっちゃうので、
「んなタイミングですんなボケ」という要求があるときはこまめにgc、
そうじゃないならほっときゃいい、必要なときにやってくれる。
でもgcを記述しても本当にガベコレしてくれるかどうかは結局VM次第。
確実なのはガベコレが必要ないように、
つまりインスタンスはかならず使い回し不必要に新しく作らない、
てな対処しかない。
関係ないかも知れないけど、VのC4型の場合コンパクションしないとか明示されてるんで、
ガベコレでメモリ回収の必要があるようなプログラムを書いてると、
そのうちメモリが足りなくなってしまう可能性があるわな。
まぁそこまで継続して動くアプリなんてケータイじゃほとんどないけどね。
最悪Vアプリを再起動すればおしまいだし。
83 :
デフォルトの名無しさん :05/02/28 13:29:41
J-PHONEのコンパイルでこんなエラーが出たのですが対処方法がわかりません ご教授お願いいたします C:\mobiledev\VAppli\test>preverify -d classes -classpath c:\J-PHONE-SDK\stubclasses.zip tmpclasses Error preverifying class test1 java/lang/NoClassDefFoundError: javax/microedition/lcdui/Canvas
>対処方法 1.訳す 2.意味を考える 3.調べる これで解決 原因不明のエラーじゃないんだからさ ご丁寧にエラーメッセージ出てくんだからさ
85 :
デフォルトの名無しさん :05/02/28 16:19:10
英語なんかよめるかボケ
>>85 ほんならおまいは一生「なでしこ」でも使ってろ!
83のエラーなんか初心者がよくやる
1.J2SEかV開発ツールのパスの設定間違い(見た感じ怪しい
2.プロジェクト名とかクラス名とか良く分かってない
だと思うわけで、もう初歩中の初歩で無視されても仕方ないレベル。
何を読みながら作ってるのか知らんが、その過程が分からんと
こっちもどう説明していいものやら。
87 :
デフォルトの名無しさん :05/02/28 18:34:48
すいませんありがとうございます。 C:\mobiledev\VAppli\test>javac -d tmpclasses -bootclasspath C:\V-appli_SDK_121\lib\stubclasses.zip src\*.java C:\mobiledev\VAppli\test>preverify -d classes -classpath C:\V-appli_SDK_121\lib\stubclasses.zip -d classes tmpclasses C:\mobiledev\VAppli\test>jar cmf C:\mobiledev\VAppli\test\bin\test.jar C:\mobiledev\VAppli\test\bin\MANIFEST.MF -C classes . java.io.IOException: invalid header field at java.util.jar.Attributes.read(Attributes.java:383) at java.util.jar.Manifest.read(Manifest.java:167) at java.util.jar.Manifest.<init>(Manifest.java:52) at sun.tools.jar.Main.run(Main.java:124) at sun.tools.jar.Main.main(Main.java:904) で、こうなったわけで、、、、、教えてくださいエロい人 正直これは英語斜め読みしてもまったくわかりません。。
>>87 とりあえず3つ確認しておきたいのだが、
1. 83=85=87 なのか
2. 1だとすれば83とパスが違う気がするが気のせいなのか
3. 2だとすれば87は何を説明してるつもりなのか
の3つにまず納得のいく説明しろ。
んで、
オイラが86で挙げた原因の2点を確認するために
1. 開発環境(使用ツール、パス)と、それをどのサイト・ガイドを参考に設定したのか
2. 作ろうとしているアプリのプロジェクト名・全クラス名
を書け。話はそれからだ。
これも書けない(書きたくない)っていうならカエレ。
89 :
デフォルトの名無しさん :05/02/28 19:27:26
1.はいそうです。 2.えっと実際にはアプリの名前が入っているパスなのですが恥ずかしいので testに変換して書き込んでます、test1とtestの実際の差異はありません、すいません 3.javacでclassファイルを作れて、それをpreverifyして携帯用のclassを作成できました ですが、その事前検証済みのclasファイルからjarファイルを生成できません ということを言いたかったのです。 1.開発環境はj2sdk1.4.2_04です javaコンパイラのパスは C:\j2sdk1.4.2_04\bin\javac.exe jarのパスは C:\j2sdk1.4.2_04\bin\jar.exe stubclasses.zipのパスは C:\V-appli_SDK_121\lib\stubclasses.zip 2.プロジェクト名はtestで統一させてください、すいません、クラス名は test.class gameselect.class getNetData.class MainMenu.class Texts.class bet0.class bet1.class bet2.class bet3.class bet4.class bet5.class bet6_7.class です、お願いします
90 :
デフォルトの名無しさん :05/02/28 19:28:26
追記 test.classの部分に実際のプロジェクト名が入ります
>>89 88で聞いたのは、V-appli_SDKに_121が付いてるとか、
そもそも83ではpreverifyなのに87で「jarでエラー」になってる所だ。
同一人物なら何で違うのかなってな。はじめから変えたって書けよ。
で、
開発環境はj2se1.4.2_04,Vツール121,コマンドプロンプト,でいいか?
多分preverifyの記述が87はおかしい。83が○( _121 が無いが)。
そこでちゃんとclassesにクラスが作れてない気がするので
classes、ついでにtmpclassesにちゃんとファイル出来てるか確認して。
あと、
なんやらクラスが多い(通常は2個程度)が、MIDPは素人じゃないの?
とりあえず初歩的なプログラムで環境確認してからの方が楽だと思うよ。
92 :
デフォルトの名無しさん :05/02/28 20:36:30
すいませんありがとうございました tmpclassesとclassesを確認して jarのパスをいじったらjarファイル作成されてました、お手数おかけしました MANIFESTファイルの設定がどうのってエミュレーターに怒られますが そんくらい自分で調べてアレします、ありがとうございました、エロい人
俺クラス12個も作ってた ora
最終的に容量が収まるなら何ら問題ない。 作業効率が上がるなら10個でも20個でも作る。 それこそ class Point { int x, y; } でも作る。 開発半ばを越えて容量が気になりだしたり、不要かなと思った時点で クラスをまとめたり配列に置き換える。こんな方針でやってる。
でもコンスタントプール幾らなんでも取りすぎですよね 容量気になりだしたらクラスをくっつけてお引越し
>>93 いや別にクラス多いのがダメだと言うつもりは無かったッス。自分も最近は多い。
ただ、Vアプリの開発環境を整えてる段階っぽかったので
そこで複雑なアプリはどうよ?っていう意味です。
あと91でpreverifyおかしいかもとか書いたが別に問題ないかも。
-dが2個あるのが正直アレって感じに見えた。
自分はこの辺ツール(kjxツールとかEclipse)に任せてるからホントは良くシラネ。
とりあえず自分で調べてみる事はすごく重要。超がんがって!
>>82 詳しく解説していただきありがとうございます。
できるだけガベコレが必要ないような作りに
して行きたいと思います。
Vアプリ(JSCL1.2)には、JpegPlayerというクラスがありますが、 このクラスを使うメリットって何ですか? JPEG画像を表示するだけなら、とりあえず「Image.createImage」を 使っておけばいいと思うですが。
Vアプリ(JSCL1.2)でFormにChoiceGroupを乗っけて使ってるんですが V602SH、603SHで(256kVer.2から)挙動が変わって困っています。 具体的にはChoiceGroupにフォーカスがくるとListの一番下がされるようになり Listの先頭にあるカーソルが消えた(実際には画面外の上部にある)ように見えて しばらく↓ボタンを押さないとカーソルが画面に出てきません。 ChoiceGroupの項目数が少ない場合はOKなんですが、項目数が増えて画面に全てが 表示しきれない場合に挙動が変わってしまいます。 601SHまではフォーカスがくるとListの先頭からの表示になっていたので全然 問題なかったので、どう対処したらよいのか… 何か対処法はありますでしょうか?複数のうちから1つだけ選択するインタフェース にしたかっただけなので特にChoiceGroupにこだわってはいません。 アドバイス等よろしくお願い致します。
>>99 256kVer.2てP6型のことか?だったらSystem.getProperty("microedition.profiles")
でJSCL-1.2.2かどうか見て処理を分ければいいんじゃないかな。
それと「ありますでしょうか?」なのに「致しますです」ではないんだな。
>>98 ImageのJPEGサポートはMIDPの仕様外だから。
というのと、MediaPlayerで統一的に各メディアを表示するためだな。
102 :
デフォルトの名無しさん :05/03/01 21:22:29
始めまして、Vアプリを作成してエミュレータで起動させるテストをしているのですが エミュレータで起動する瞬間に以下のエラーで強制終了してしまいます 一番最初に実行される場所でSystem.out.print("test");と出力して どこのステップまで実行されているか確認をしたかったのですが それすらも表示されず対応方法に困っています。。。 どなたかご教授お願いいたします ************** BOOTED EMU ************** ----- MIDlet class name: test ----- MIDlet test creating. cannot run: test java.lang.ClassNotFoundException Application EMERGENCY termination. (-1)
103 :
102 :05/03/01 21:36:43
コンパイル時になんらかの失敗をしているとおもうのですが なにぶん初めてなもので全く原因が特定できません、、、 MANIFEST.MF MIDlet-Name: test MIDlet-Vendor: test MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-1: test,,test test.jad MIDlet-Jar-Size: 29216 MIDlet-Jar-URL: test.jar MIDlet-Name: test MIDlet-Vendor: test MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-Network: Y MIDlet-1: test,,test
104 :
デフォルトの名無しさん :05/03/01 21:39:01
コンパイルのバッチファイル javac -d tmpclasses -bootclasspath C:\V-appli_SDK_121\lib\stubclasses.zip src\*.java preverify -d classes -classpath C:\V-appli_SDK_121\lib\stubclasses.zip -d classes tmpclasses jar cvfm C:\dev\test\bin\test.jar C:\dev\test\bin\MANIFEST.MF -C classes/ .
test.java の中に test クラスが無いんだろう あるいは test.java のコンパイルに失敗したまま test.jar だけ作ってる つうーかバッチってなんだよ・・・
107 :
デフォルトの名無しさん :05/03/01 22:09:10
test.javaのクラスはこれです import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class test extends MIDlet{ public void startApp() { Main m = new Main(this, 0); Display.getDisplay(this).setCurrent(m); } public void pauseApp(){} public void destroyApp(boolean b){} } クラスは存在するはずなんですが・・・・
ok
109 :
デフォルトの名無しさん :05/03/01 22:15:31
で、コンパイルもOKだと思うのですが、でもClassNotFoundExceptionが出てしまうのです。。 C:\dev\test>javac -d tmpclasses -bootclasspath C:\V-appli_SDK_121\lib\stubclasses.zip src\*.java C:\dev\test>preverify -d classes -classpath C:\V-appli_SDK_121\lib\stubclasses.zip -d classes tmpclasses C:\dev\test>jar cfm C:\dev\test\bin\test.jar C:\dev\test\bin\MANIFEST.MF -C classes/ . マニフェストが追加されました。 classes/./ を追加中です。(入 = 0) (出 = 0)(0% 格納されました) classes/./test.class を追加中です。(入 = 659) (出 = 356)(45% 収縮されました) classes/./Main.class を追加中です。(入 = 4173) (出 = 2212)(46% 収縮されました) C:\dev\test>pause 続行するには何かキーを押してください . . .
110 :
98 :05/03/01 22:38:30
111 :
102 :05/03/01 22:45:51
誰か助けて。。。。。
>>109 とりあえず確認のため、出来たJar(test.jar)をzipにリネームして解凍してみたら?
解凍すると出来るtestフォルダにtest.classがあれば動くはずってことになるが・・。
つーか、
なんか83と同一人物である雰囲気とか感じちゃうだが・・。キノセイダロウカ。
>>106 バッチは〜.batで、テキスト形式でコマンド書いておけば、
バッチファイルダブルクリックで一連のコマンド実行してくれるシロモノ。
113 :
デフォルトの名無しさん :05/03/01 22:58:41
すいません実は
>>83 と同一人物です。。。。
なんか解凍中にエラーが発生してます。。。
これはコンパイルに失敗してるんですかね
〇 C:\Documents and Settings\ore\デスクトップ\test.zip - 解凍を開始します。
〇 META-INF\ - 正常に解凍されました。
× META-INF\MANIFEST.MF - アーカイブファイルが壊れている可能性があります。
× classes\.\ - 同じ名前のフォルダが存在するため、解凍できません。
〇 classes\.\bet0.class - 正常に解凍されました。
〇 classes\.\bet1.class - 正常に解凍されました。
〇 classes\.\bet2.class - 正常に解凍されました。
〇 classes\.\bet3.class - 正常に解凍されました。
〇 classes\.\bet4.class - 正常に解凍されました。
〇 classes\.\bet5.class - 正常に解凍されました。
〇 classes\.\bet6_7.class - 正常に解凍されました。
〇 classes\.\gameselect.class - 正常に解凍されました。
〇 classes\.\getNetData.class - 正常に解凍されました。
× classes\.\test.class - アーカイブファイルが壊れている可能性があります。
〇 classes\.\MainMenu.class - 正常に解凍されました。
× classes\.\Texts.class - アーカイブファイルが壊れている可能性があります。
エラーが発生しています。
>>113 やっぱりね(同一人物件と解凍の両方の意味で)。
jarコマンドの最後が classes/ になってるけど / いらないんじゃないか?
「〜を追加中です」の部分が本来のフォルダ名(classes/test.classとか)に比べ
何か(ていうか / ./ の部分)多いから、変にフォルダ構造が出来たんだと思う。
>C:\dev\test\bin\MANIFEST.MF -C classes/ . >マニフェストが追加されました。 >classes/./ を追加中です。(入 = 0) (出 = 0)(0% 格納されました) >classes/./test.class を追加中です。(入 = 659) (出 = 356)(45% 収縮されました) >classes/./Main.class を追加中です。(入 = 4173) (出 = 2212)(46% 収縮されました) ここがヘン >(入 = 0) (出 = 0)(0% 格納されました)
とっととテスト用プロジェクトを丸ごとどっかにうぷれ。 あと、テストを動かすなら2個からやれとあれだけいわれてるのにまだやってないのかよ。 その末がメッセージ全部コピペじゃ、まじめに答えてる人が気の毒すぎる。 こんなペースでやってりゃ、まともなの作るのに1年以上かかる。
117 :
デフォルトの名無しさん :05/03/02 13:15:49
StorageConnectionでテキストを読みたいのですが エミュレーターでファイルを指定するときも StorageConnection conn = null; conn = (StorageConnection)Connector.open("file:///ms/test/test.txt"); でいいのでしょうか? また、このように指定した場合どこのフォルダーが基準になるのでしょうか?
なぜ自分で試そうとしない?
掲示板に張り付いてる奴は所詮この程度
P5を3G携帯で動かす方法ってどこかに載ってます? 個人ではまだむりですかね?
java\utilの中見てもList.classがないのですが 携帯アプリでListは使えないの? 使う方法があれば教えてください
>>123 MIDPのドキュメントくらいちゃんと読め。
javax.microedition.lcdui.List
開いたhttpコネクションを閉じずにアプリを続けたらどうなる? なんかゲームは動いてるのにアプリマークが点滅視点だけど
自己完結、乙。
127 :
デフォルトの名無しさん :05/03/05 04:09:37
Vアプリエミュレータから、サンプルを動かそうとすると、 Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.5', but '1.3'/'1.4' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. とおこられるんだけど誰か対策しらない? 1.5がインストールされてちゃだめなんだろうか 1.4も入ってるんだが、、ちなみにレジストリのCurrentVersionを1.4にしたら、エミュレータ自体が起動しなくなるんだが。
MIDP2.0の仕様書(midp-2_0-fr-spec.pdf。関係ないけど、なんで韓国語版があって
日本語版がないんだ?) を眺めてたんだけど、かな〜り痛いね・・・
>>120 これまではjadファイル中に、
MIDlet-OCL: JSCL-1.0
みたいな記述をしてたけど、3Gではこれが別の書き方に変更されている可能性が大。
[根拠]
MIDP2.0の仕様書の435ページにMIDletの属性の定義に関する仕様が書いてあるけど、そこには、
Any application-specific attributes that do not begin with MIDlet- or MicroEdition-
という記述がある。
つまり、MIDP2.0で定義されていないMIDlet属性のパラメータ名称は、
MIDlet- や MicroEdition- で始まる文字列であってはならない、ということになったみたい。
で、MIDlet-OCLというのはJSCL独自のパラメータなので、MIDP2.0仕様に準拠するために名前を変えたんじゃないかと。
>>121 3Gが悲惨というよりも、MIDP1.0からMIDP2.0への変更に完全上位互換性がないのが問題のような。
たとえば、Canvas.repaint()とかDisplay.setCurrent()が非同期で動作するように変更されてる。
ちょっと凝ったアプリは処理を見直さないと駄目かも。欝だ・・・
>>127 両方入ってるならコンパネのJavaPlug-inで使うランタイム1.4を指定してやれば?
>>128 シャープとNECはその辺の互換がないのを問題と認識していて
902SH,802SH,802NはMIDP2.0とMIDP1.0をデュアルで搭載してる。
だから"動かすだけ"であれば今までのjadで動くはず。
それでも一筋縄ではいかないというのが
>>121 のお話し
>>127 JREの1.5を削除したら動く。
JDK1.5は残しといて大丈夫そう
>>130 そんなことはしてないって…。MIDP2.0だよ〜。
どっちだよw
>>130 今までのjadで動かないから120のような質問が出てくるのでは?
それに、シャープとNECの携帯にMIDP1.0と2.0がデュアルで載っているという根拠は?
ちょい質問。 J-SH53にデフォで入ってる答えてミッフィーの音声認識って どうやってんの? どっかに仕様とか出てんの?
>>135 >>2 からダウンできるP5のエミュの中のJAVADOCの中に書いてある
com.j_phone.io.VoiceRecognition
com.j_phone.io.VoiceRecognitionDictionary
interface VoiceRecognitionListener(interface)
あたりを読めば
137 :
デフォルトの名無しさん :05/03/09 14:18:04
Vアプリを作成してるのですが、resに格納されているtxtを表示したいのですが、 どうしらいいのでしょうか?どなたか教えてください。 String pass = "resource:///" + filename; is = Connector.openInputStream(pass); ここからどうしていいか全然わかりません。
>>137 vodafoneのサンプルのなかにStorageConnectionってのがあるから、
それ見てみましょう〜。
resって、KToolbarで作るプロジェクトの、jarに同封するリソースファイル類っていう認識でいいんだよね? getResourceAsStreamじゃダメなの? ところでresource:///って何?
結局、130は知ったかぶりが適当なことを言っただけ? 紛らわしいことして何が楽しいんだか。
ただ、シャープとNECはJSCLに対応してるから、互換性が高いのは確か。
でもそのままじゃ動かないらしいんだよねぇ。 純粋にMIDP1.0オンリーなら動くらしいけど。
簡単な文字を表示したり線を引いたりするアプリを作ってみたのですが エミュ上では普通に表示されるのに実機で動作させると描写するラインが太いです これを細くする命令とかあるんでしょうか?
>>143 JADファイルに、
MIDlet-Application-Range: 0,0
を追加。
3GでStrageConnectionみたいのはあるのかい?
サーバーから画像を落とす処理を行ってるのですが、画像が化けてしまっています。 エミュ上では問題ないのですが、何が原因かわからないでしょうか・・・
さっぱりわかりません。
>>148 Imageを落とすわけじゃなくbyte[]だろ?
画像云々というよりbyte列を検証してみればいいジャマイカ。
人間の髪の毛が黒かったのが金髪になったとかの変化なら面白いけど
どうせ単に画像生成失敗してるだけだろ?
1度にGETできるサイズは10KB程度だったりする部分じゃない?
byte列で確認したところ、エミュと実機では値が違いました。 画像サイズは5KBほどなのでサイズは問題ないと思うのですが・・
3DのVアプリを作成してみたいので、勉強するための書籍やサイトを教えてください。
アプリタイトルを全角にすると???となってしまいます どうすれば全角文字のタイトルが付けれるのでしょうか?
>>156 UTF-8で保存
XPのメモ帳なら保存時に指定できる
RecordStoreに自身のjarを保存するにはどうすればいいですか? createImageでjar内のpngが読み出せるのだから方法があると思うのですがうまくいきません
>159 何のために?
>>159 目的のjarをサーバに置いといてダウンロードしてRecordStoreに格納すれば?
それをやったところで
>>160 が言う通りだけど
「createImageでjar内のpngが読み出せる」ことを引き合いに出してる意味がわからない
「RecordStoreに自身のjarを保存(しようと)する」ことと何の関連があるの?
>>160 >>161 根本的に何か間違ってるみたいですね
createImageのようにjar内にデータファイルを格納して
プログラムから読み出したいのです
>>162 質問の仕方が悪いと思うんだが…
どういう手順でどういう結果が欲しいのか
順を上げて書いてくれないとアドバイスしようがないと思われ。
RecordStore内のjarを読み出したいって言いたいの?
>>163 えっと、
createImgeのようにプログラムの入っているjarから
データを読み出したいのです
流れは
makeで
jar fu test.jar game.datとしてpng同様に格納し
プログラム側で
InputConnection con = (InputConnection)Connector.open( "jar://test.jar/game.dat",Connector.READ, true );
//InputConnection con = (InputConnection)Connector.open( "/game.dat",Connector.READ, true );//←だとjava.lang.IllegalArgumentException: no ':' in URLとなる
InputStream in = con.openInputStream(); //←ここでjava.io.IOException: Fail to open RecordStore. test.jarが起きる
byte[] buf = new byte[1024];
in.read( buf);
}catch(Exception e){
System.out.println( e );
}finally{
if( con != null ){
try { con.close(); } catch (Exception e) {}
}
}
こんな風になってます
>>164 RecordStore関係なくないかw
リソースへのInputStreamはgetClass().getResourceAsStream()から
取得できるはずだけど…
jar内まで読み出せるかはわかんね。
っていうかjar内にjarを格納するのはどうかと思うが…
>>165 in = getClass().getResourceAsStream()で無事開きました!!!
ありがとうございます
RecordStoreは全然関係ないのでしたか・・・・orz
単にjarの中のファイルを読み込みたかっただけかYO! 今すぐMIDPの入門書買って来い
ようするに質問は
「ビルドしたときにjarに入れたgame.datというファイルをプログラム内で読み込みたい
どうやればいいか」
ということだったのだな。
そして
「jarに入れたpngはcreateImageで読み込めるけどgame.datは読み込み方が分からない」
ということを伝えたかったのだな。
>>163 =165乙。
>>128 今まで意識してなかったけど、
MIDP-1.0の時からユーザー定義の属性には
「MIDlet-」から始まる名前は付けられない仕様ですよ??
だから「MIDlet-OCL〜」は別にボダ独自ではないのかも
170 :
デフォルトの名無しさん :05/03/14 07:32:30
年齢高くて未経験者は採りづらい。 ってか、スキルに自信あるなら、未経験でも経験者だって嘘ついてもばれないので 実際、面接とか受けるときは、ばれない嘘はついてもよし。 一応、応援してるのでがんばってはみろ。
171 :
170 :05/03/14 07:32:52
ごめん誤爆った。
レコードストアってどのくらいのサイズまでいけますか?
175 :
デフォルトの名無しさん :05/03/15 10:05:18
先輩方こんにちは。いつもお世話になります。 RecordStore は「任意のnバイトから、nバイト読み込む」のはムリっすか? (docomo の spad ライクに)。 100K のデカイrecordstoreに任意にアクセスしたいのですが、 丸ごとbyte[]に読んで、いじって、書き戻す、しかないでしょうか。ヒープが不安。
>>175 レコード作る時点で区切っといたら?そこがスクラッチとの違いで利点じゃない?
多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
ファイル毎にレコード作れば特にバイト長とか気にしなくていいし楽だと思うよ。
あと、デカイのはレコードストアじゃなくてレコードでしょ?ミス?マジボケ?
177 :
デフォルトの名無しさん :05/03/15 12:27:23
>>176 >多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
そんな感じです。
結合済みの 100K のバイナリをHttpでダウンして保存、
各ファイルはヘッダのアドレス情報を元にアクセスしてます。
(DoJa から移植なので今のところはこうなってます。)
>レコード作る時点で区切っといたら?
上記の部分を書き直さずに(マクロとか)で済むと幸せだなあ、と。
リニアにアクセスできないものか、と。
Http から落とした時点で別のレコードにして保存するのも考えてみます。
レスありがとう。
ボダでの半透過方法を教えて下さい
>>178 JSCL1.2以上だったらcom.j_phone.util.GraphicsUtilを使おう。
getPixelで色を取得し、色をミックスした後にsetPixelする。遅いのでお勧めできない。
BMP限定になるけどTexture使ったほうがはやいよ
今までJBuilder7 + MobileSet3.01でボダ向けJavaの勉強をしてて、 携帯をV902SHに替えたので、MIDP-2.0をいじる為に、新しいwtkを落として来たのですが、 同じ環境でMIDP-2.0の開発は可能ですか??
182 :
sage :05/03/17 19:44:58
Vアプリ作ろうとしたんですが 下のようなエラーがでます。 javaファイルの置く場所ってsdk1.3.1\binの下に置いちゃ駄目なの? C:\>javac -bootclasspath c:\v-appli_sdk_122\lib\stubclasses.zip -g:none *.java エラー: *.java を読み込めません。 エラー 1 個
current directoryとは何かから説明しないといけない時代になったのか。
Vアプリですから・・・
>>182 まずはWindowsのコマンドプロンプトの使い方を調べ。
これじゃC:\がカレントパスだから
C:\*.javaが見つからないと怒られている。
>>182 そのエラーの場合で一番簡単な回避方法
C:\に*.javaをおきましょう
>>182 もっと簡単な解決方法
C:\>cd sdk1.3.1\bin
C:\sdk1.3.1\bin\>javac -bootclasspath c:\v-appli_sdk_122\lib\stubclasses.zip -g:none *.java
188 :
182 :05/03/18 12:17:17
パス通してるからC:\>javac -bootclasspath…でいいと思ってました。 C:\sdk1.3.1\bin\>javac -bootclasspath…としないとだめなのね。 みなさまありがとうございました、解決できました。
Vアプリでファイル読み込みをしているんですが、大きいファイルで落ちてしまい困っています。 エミュ上のメッセージボックスには Uncaught exception java/lang/OutOfMemoryError とあります。 StrageConnectionを開き、サイズを取得、その後空きメモリを調べて 2KBほど余裕があった場合にサイズ分メモリ確保しているのですが落ちてしまいます。 落ちない場合もあります;; try~catchで囲んでも例外をキャッチできませんし、newの戻り値のnullチェックの前に落ちます。 これ、なんとかなりますか?
>>189 OutOfMemoryErrorって言われてんだから2KBじゃなくて
もっと残りメモリに余裕を持たせればいいだけじゃない。
>>189 > サイズ分メモリ確保
C++とかじゃないんだし、正確に1KBたりとも誤差なしにメモリ確保とか不可能じゃないかと思うんだが。
OutOfMemoryErrorなんだから、おとなしくメモリ減らせ。
あと、catchするのは、例外(=Exception)じゃなくてエラー(Error)ね。
>>190 >>191 2KBは間違いで、200KBでした。なんでこれだけ余ってるのに確保できないんですかね。
サイズ分って言うのはファイルサイズ分ってことです。
すいません、例外じゃなくてエラーなんですね;;勉強不足でした。
エラーをキャッチしたところ落ちることはなくなりました。
ありがとうございました。
補足。 (空きメモリ) - (ファイルサイズ) が204800B以上のときでも ファイルサイズ分確保できないことがあるってことです。 でも、落ちないようにできたのでよかったです。どうもでしたm(_ _ )m
通信で取得したXMLを扱いたいんですが、MIDP用のXMLパーサってあるんでしょうか?
197 :
194 :2005/03/21(月) 11:47:40
198 :
デフォルトの名無しさん :2005/03/21(月) 23:42:46
あげ
3Gまだぁ?(・∀・ )っ/凵 ⌒☆チンチン
else if とswitchってどっちが効率的なんでしょうか?
容量的にも速さ的にもelse if できればifオンリー けど作り方によってはswitchの方が便利なときもあるかも
202 :
200 :2005/03/28(月) 22:41:21
>>201 速さはswitchのほうがいいんでない?
とくに数字が連続してる時はテーブルジャンプになるし
switchの中身はelse if
容量重視→if オンリー 速度重視→else if こんなかんじでいい?
>>205 あと処理コスト一定重視→switch(ただしcase値が連番のときのみ)
なるほろ。処理コスト一定重視とかもあるのね。
一番見やすい奴でいいんじゃないの? 初期機種のアプリなんかもう作らないでしょ
700iが30KBだよ
EZアプリで日本語(UTF-8)のプロジェクト名にするとコンパイルはできるんですがエミュでは動かない
>>211 うんそうだね。ガイドにちゃんと制限書いてるしね。で?
3Gの仕様公開キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
ちょっと見た感じだと MIDxlet-APIの項目をjadに追加すればいいのかな
・新機能導入の手引き2004 〜3GC型端末編〜 Ver1.1.0 を見るといろいろ変わってるねえ。
読み進めていくとorzになるね。 画面の同期とか・・・
塚さ、ストレージコネクションでのアクセスを推奨するfile:///mc/以下のパスって SHがOther Documents NがOther Files と違うんだが作り分けなきゃいかんの?
MIDP-2.0の日本語版リファレンスって公開されてる??
俺の記憶には無い
jadファイルを書き換えるだけでとりあえずは動くのですか???
クラスファイル C:\JSCL122_SDK101\lib\jscl.jar(com/j_phone/ui/FEPControl.class) は不正です。 クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 import com.j_phone.ui.FEPControl; 3GでBuildしなおそうと思ったらこんなエラーが・・助けてください・゚・(つД`)・゚・
やっぱり通信でエラー出るなぁ・・・<3G
MIDlet-Permissions: とか追加しなきゃダメなのか。面倒だな。
KEY_NUM2とUPがかぶってやがる・゚・(つД`)・゚・
エミュだと通信できるけど 端末だと通信できん・・・
3G開発環境を作成したが、うまくコンパイルが通らない。 StringBuilderというクラスなんか使用していないのに、 コンパイルすると「ファイル java\lang\StringBuilder.class が見つかりません。」 とかいうエラーが出てきやがる・・・。 StringBuilder.classファイルがどこかにないか探してみたけど、 「cldcapi11.jar」にも「midpapi20.jar」にも「stubclasses_JSCL.zip」にも 入っていません。もう手の打ちようがないので誰か解決方法を教えて下さい。
>>226 漏れは2Gの開発環境(JSCL1.2.2)でMANIFESTとJADだけを変えたらうまくいったよ。
エミュレータだけ3G用を使ってる。
228 :
226 :2005/04/03(日) 16:20:01
>>227 という事は、Vodafoneのクラスライブラリは、2G開発環境で
使用していた「stubclasses.zip」を使用しているのでしょうか?
3Gエミュレータに同梱されていた「stubclasses_JSCL.zip」を
使用したら、
>>221 のエラー(クラスファイルのバージョン 49.0 は
不正です。48.0 であるべきです)が発生したので、JDK(J2SE)を
Ver1.4.2→Ver1.5.0へバージョンアップしたら、今度は
>>226 の
エラーが発生するようになったので。
3Gで通信に成功した人いる?
3GでStorageConnectionに成功した人はいますか?
3Gで通信とか成功する以前に、エミュレータ上でまともに動作する 所までいってない。エミュレータが起動した直後にすぐ落ちる・゚・(つД`)・゚・ 2Gの頃作ったアプリのjad/MANIFESTファイルをいじってみたが うまく動かなかったので、まずは"Hello World!"を描画するだけの アプリを動かそうと試みましたが、それでも動かず・・・。 jad/MANIFESTファイルが間違っているのかなぁと思うのですが、 下記のjad/MANIFESTファイルでどこか間違いでもあるのでしょうか? ・jadファイル MIDlet-Jar-Size: 44172 MIDlet-Jar-URL: Hello.jar MIDlet-Name: Hello MIDlet-Vendor: A MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 MIDlet-1: Hello,,Hello MIDxlet-API: JSCL-1.2.2 MIDxlet-ScreenSize: 0,0 MIDxlet-Permissions: javax.microedition.io.Connector.http ・MANIFEST MIDlet-Name: Hello MIDlet-Vendor: A MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 MIDlet-1: Hello,,Hello
>>231 MIDlet-1はなぜかjadにかかないとだめ
233 :
232 :2005/04/03(日) 21:13:18
ごめんなんでもない
>>231 2GのときにつくったのだったらMIDP-1.0なんじゃ?
235 :
231 :2005/04/03(日) 21:41:32
>>234 MIDP-1.0、CLDC-1.0にしてもだめでした。
ちなみに私はKJX作成ツールを使用していますが、
下記のように、実行ボタンを押した直後に
「execute finished」が出てしまいます。
・実行ボタン押下直後のメッセージ
executing...
C:\JSCL122_SDK101\bin\emulatorw.exe -gui -Xdescriptor:G:\Vアプリ\project\Hello\bin\Hello.jad
execute finished
KJX作成ツールを使用している方で同じ状態に
なった人いませんか?
236 :
231 :2005/04/03(日) 23:04:24
C:\JSCL122_SDK101\bin\emulatorw.exe -gui -Xdescriptor:G:\Vアプリ \project\Hello\bin\Hello.jad ではなく C:\JSCL122_SDK101\bin\emulator.exe -Xdescriptor:G:\Vアプリ \project\Hello\bin\Hello.jad ならうまく起動しました。jadファイル以前の問題だったとは・・・、 逝ってきます。
237 :
3G :2005/04/03(日) 23:29:10
やっぱり受信しようとしても nullしか帰ってこねぇ・・・ 通信はしてるみたいだけどなぁ・・・
>>231 Hello Worldだけのソフトにしてはでかいなぁ
3Gのエミュって画面でかすぎで等幅フォントじゃないんですが どこで変更できるのでしょうか? あとレコードストアのファイルはどこに保存されているのですか?
ブラウザアプリ作っているんですが、基本的な所で引っかかってしまったので質問です。 HttpConnectionて串に接続するのってどうすればいいんでしょうか? APIドキュメント見たりググったりしたけどいい資料が見つかりませんでした。 APIドキュメント読むと接続先とパスをまとめてStringで指定している様なので、普通の方法では無理なんでしょうか? やはり中間鯖自分で書いて別の方法でURL渡すしかないのかなorz 何かいい方法があったら教えてください。
串っていうか、DL元の鯖としか通信できんし
3GでStorageConnection#list()を使うと フォルダの最後に'/'がついてないのはなぜ?
言われるがままにRuntime更新したらエミュで動かなくなった orz
>>241 そんな事はないぞ・・・制限はキャリア毎にまちまちだが。
そも、240は自分で串立てるの前提で話してないか?中間鯖自分で作る様な事にも言及してるし。
>>240 MIDPの話なら無理。Dojaなら可能。
3GCについて質問です。 StorageConnectionを使用しようと思ったのですが、 どうもUntrushed Domainをつけられてしまっているようで使えません。 Trushed Domainにするにはどうすればよいのでしょうか?
>245 Vodafoneに認めてもらうしか無いんじゃないかなあ。 認証キーが必要な機能なら。 ついでに言うと、ゴミじゃない。 どうも読んでると JSCL と VSCL と VFX が混ざる気がするな。 VFX のアプリ作るなら VFX SDK つかえと言われてもなあ・・・。 まだうち端末が無いから確認できないが、 SH と N 向けに従来通りのAPI使って作るなら 新しいSDKでコンパイルするなってことなのかねえ。 従来通りのAPI入りのコードをコンパイルしたら うちもクラスファイルのバージョンしかられたよ。 j-phone と jblend の import 全削除して書き換え中。 しかし冬モデルはここでも最悪だ・・・。 実装状況がばらばらすぎ。統一するんじゃなかったのか? P5 と SH と N をあわよくば同じコード、同じ jad にして、 それ以外は MIDP2.0 ベースのコードにするか。 アプリケーションによって違うんだろうけどうちはこうするかもしれない。 また管理が面倒だ。 つか FEPControl と URLEncode が未だに見つけられない・・・。 VFX 系の pdf と javadoc は一通りみたつもりなんだが。 つか、P7 とか作るなと言いたい。
247 :
245 :2005/04/05(火) 00:18:12
>>246 Trustedでした。訂正thx。
PKIによる認証メカニズムとかPDFにありますが、どうやればいいのかさっぱりですね。
しかし今頃まで待たせといてこんなとは・・・
http://www.nokia.co.jp/forum/developer/tech_doc/series60_java/index01.html 端末は、.JAD ファイル内で MIDlet-Jar-RSA-SHA1 属性を検出すると、認証および権限付与プロシージャを開始します。
認証中に、端末は、.JAD ファイル内の属性 MIDlet-Certificate-<n>-<m> に記述された証明書チェーンを読みます。
ここで、n と m は証明書チェーンを示す番号です。
MIDlet 証明書をいずれかのルート証明書で確認できた場合、端末は、証明書から公開鍵を抽出し、それを使って .JAR ファイルの署名を計算します。そして、それをルート証明書に割り当てられた保護ドメインと比較します。
.JAD ファイル内の MIDlet-permissions attribute で要求された 1 つ以上の権限が保護ドメインにない場合、インストールは失敗し、続行は許可されません。
通信できない・・・ やはり認証キーが必要な機能は無理なのだろうか?
3GCの話題の中、低レベルな質問ですいません。 vアプリをテスト鯖にupしようとしたところ 「ADFの内容に問題があります。」 という審査メッセージとともに拒否されてました。 これはjadやマニフェストが間違ってるということでいいんですか?
>>251 サンクス
upできた本のサンプルと比べても何が悪いのかわからずorz
>>252 jarファイルをupして3秒まってからjadファイルをUPしてる?
同時にやるとはじかれる場合がある。
>>253 それは知ってたのでその点は大丈夫です。
eclipse(voda公式プラグイン有)で作成したjar,jadをupしていたんですが、
試しにWTKで作成jar,jadを作成してupしてみたところ無事通過しました。
お騒がせしました。
原因は不明ですが、こんな初歩でやる気を失わずに済んでよかったヽ(゚∀゚)ノ
3G開発環境更新されました。 ダウンロード直前まで行かないと更新されていることがわからない、、、
>>255 情報乙です。
ボダのやつこっそりバグ直したのかw
>>254 2つのjadを見比べてどこが違ってるのか調べればいい。
で、何が違ってたのか報告してくれると他の人が参考にできる。
新しいの入れたら、ビルドでエラーでるのはなくなった。
Utilities>Sign MIDlet>Sign MIDlet Suite でjadファイルを選択すると、 MIDlet-Certificate-1-1: MIDlet-Jar-RSA-SHA1: の項目が追加されたけど、これで通信できるかな?
PreferencesツールのSecurityタブのSecurity domainをtrustedにしたら ファイルアクセスできるようになったのですが、 こんな対応でいいのかな。 なんかよくわかりません。
>>260 それはこのアプリがTrustedである状態だとしてエミュレートしてるだけでしょ。
実機では相変わらずUntrusted・・・orz
>254 eclipse のプロジェクトの bin ディレクトリのじゃなく プロジェクトのディレクトリの jad ファイルを使ってたって オチじゃないよね? というか報告ヨロ。
eclipseでビルドしたやつはjadとMFに下のやつが挿入されるけど 挿入されない方法はありますか? Manifest-Version: 1.0 Ant-Version: Apache Ant *.*.* Created-By: **** (Sun Microsystems Inc.)
264 :
254 :2005/04/06(水) 23:49:33
>>262 流石にそれはないですw
今eclipseでビルド、jadやら変更したのをupしてみたら、
審査は通ったものの携帯でダウンロード完了とともに
「データが不正なためダウンロードできません」
jad,MFをいろいろいじったり、WTKでビルドしたりeclipseでビルドしたり
したので、最初審査に通らなかった理由は確認できない&訳分からなくなってきた。
なんかもうぬるぽ
265 :
262 :2005/04/07(木) 00:23:49
私はテスト用で審査を通らなかったことは無かったんだが、 (Shift-JIS でも何故か通った) V602SH でダウンロードできるアプリが V601T や V602T で同じく 「データが不正〜」 と言われたな。jar ファイルのダウンロードの前だが。 そこから jad ファイルが悪い(MANIFEST は jar に入ってるから)と予想して、 結局、jad 込みで内容が公開されているアプリと比較して、 書かれている項目、書かれていない項目をできるだけそろえて (項目の順番、さらに項目とパラメーターの間のスペースまで) それで公開したら動くようになった。 自分でも、どこが悪かったのか分からない。
266 :
265 :2005/04/07(木) 00:24:43
追記。 Shift-JIS で jad 書いてしまったときは、 当然 jar はダウンロードできんかった。
>263 1行目と3行目は難しいんじゃないかなぁ。単純にjarでまとめても入る内容だし。 2行目は漏れもウザイと思ったんで、いろいろ調べたが 結局、antのjarタスクに属性いっこ足して、消せるように改造した。 ……で、ここでその改造したソース(せめてパッチだけでも)あれば良かったんだがなくした、スマソorz ま、まぁ、正直ソース取ってくるのと、ソースからantビルドする方が コードに手を加える時間より圧倒的に長かった覚えがあるから、ちょこちょこっと書き換えて 差し替えればOKだYo (と逃げる)
>>267 結局1行目と3行目は難しいんですか・・・orz
アプリゲットだと「一行目がMIDlet-ではありません。」エラーが出るから
いちいち手で消してます (T 3 T)
SOAP-RPCのライブラリでメジャーなのあるのですか?
何度もすいませんが、J2MEでメジャーなDBというはあるのでしょうか?
>>259 これやってみたけど
不正なデータになる・・・。
>>271 俺も不正なデータになった。
Vodafoneがキーを配布するまで無理なのか?
>268 ん? ……そう言えば、漏れがやってたときは、jadは純正ツールに任せず、 jarのサイズ計ってそれ書き出して、MANIFEST.MFを追記してjadこさえるツール書いて それでやってたような記憶が…… 「1行目が〜」はそれでなんとかならんかな。 参考になるかわからんが、そのツールのソースはあるんで、うpろだとか分かるならうpするけど。 // てか、漏れのターゲットはあうだったんで、もしボダの話だったら話が食い違ってるかもでスマソpart2。
274 :
268 :2005/04/08(金) 00:11:11
下らん事でスマンが、 MANIFEST.MF → エントリポインタなどの実行環境のメタ情報 ***.jad → jarファイルの情報 って認識でいいのかね。 重複した情報を毎回書いてると、なんじゃこらと思えるようになってきてな。
276 :
デフォルトの名無しさん :2005/04/08(金) 21:41:57
調べてはいるのですが中々よくわからないので質問します。 V702NKって電波強度とか取得できるのですか?
4月1日に開発環境が公開されたので、 3GのSHとNECの機種用にと、3G(JSCL1.2.2,MIDP2.0)向けに、 P6(JSCL1.2.1,MIDP1.0)で以前書いたコードを移植しているのですが、 どうも上手くいきません。 つまずいているのはStrageConnectionのセキュリティエラーです。 『問題となってるコード』 String path = "file:///ms/";//ルートフォルダを開く StorageConnection sc = null; try { sc = (StorageConnection)Connector.open( path ); }catch (Exception e){ System.out.println(e.toString()); } 『〜〜以下略〜〜』 開発環境付属のKToolbarにて、ビルドは通り、実行もこの行に入るまでは動くのですが、 Connector.openした時点で、 java.lang.SecurityException: Application not authorized to access restricted API がthrowされます。 ああ。そういえば、jadファイルに、 MIDlet-Application-Security: Y を書き忘れたな と思ってすぐに追記したのですが、それでも駄目で、 開発ガイドを読み直し、 MIDlet-Permissions: com.j_phone.io.Connector.StorageConnection.read,com.j_phone.io.Connector.StorageConnection.write の一行をjadファイルに書き足したのですが、やはり同じエラーが出ます。 P6からP7への移植でStorageConnectionのJAVAコードレベルでの記述に変更はないようなので、 おそらくは、jadファイルの記述が間違っているかJSCL1.2.2エミュレーター側の設定の問題のような気がしますが、 色々いじってみるものの、改善されません。 どなたか原因の分かる方はいらっしゃいませんでしょうか?
>>277 MIDlet-PermissionsやらTrusted/Untrustedやらの詳細が
SDKドキュメントになくてまだかなり苦労していますが、
以下をやるとSecurityExceptionは出なくなりました。
[スタート]-[プログラム]-[JSCL 1.2.2 SDK 1.0.1]-[Preferences]
からtrustedモードに変更
実機持ってないのでわからないが、実機側でアプリ毎に
trustedと設定するところがあるんじゃないかと推測中
P6型のVアプリを3Gに移植中です。P6型エミュレータでは 画面いっぱいに表示されていた画像が、3Gエミュレータでは なぜか右端と下端何ドットか余る状態で画像が表示されます。 これは3Gエミュレータの解像度が元々320×260以上あるから でしょうか?それとも何か設定をしないと、画面いっぱいに 画像等を表示する事ができないのでしょうか?
Trustedは実機で設定するとかじゃないよ 信頼できる署名だからね
>>280 え?え?
一般作者ではTrustedにすることはできない?
つまりJSCL1.2.2でもStorageConnectionは使えないってこと?
通信も無理か・・・
んーーと、Trustedが必要なアプリを実機で走らすのは今のところ不可能。 (通信、データフォルダなど) ってことでOK? オレはドキュメント読むだけで、まだ何もやってないんだけどね。 MIDxlet-API MIDxlet-Resident MIDxlet-ScreenSize MIDlet-Permissions を追加すればおしまいかと思ってたのに。
284 :
277 :2005/04/10(日) 04:53:45
>278さん ありがとうございます! とりあえずエミュレータ上からは、ストレージへのアクセスが出来ました。 実機は持ってないので試せませんが、後の方々のレスを読む限りじゃ、・・・(ぽかーん)・・・って感じですね。 この縛りは正直キツいです…。 作ったのが無駄になる可能性がっ。
Vアプリのテスト鯖にうpしたものを改良して差し替えたいときは 普通に削除してうpしなおすだけでいいんですか? 登録したアプリを差し替えるのは面倒な手順を踏むようですが・・・
286 :
デフォルトの名無しさん :2005/04/13(水) 15:53:50
ちょいと質問させてくれ。 V-appliのライブラリのClientObexConnection/ServerObexConnectionを使ったわけさ。 付属のjavadocには"DoCoMoの仕様書見てね(はあと)"とか書いてあるんだよ。 こいつらやる気ねぇなぁ、とか思いながら、作ってみたんだよ、OBEX通信もののアプリを。 で、ビルド完了。エミュレータはV-appliのを起動して実行。 結果 ALERT: Cannot load class com/j_phone/io/ObexConnection ……ええと? クラス、無いの?
287 :
286 :2005/04/13(水) 16:15:28
補足だが、パッケージは import com.j_phone.io.*; import javax.microedition.io.*; で組み込んでる。 i-appliからの移植で、画面周り以外は殆ど変更してない。 ロードできないってんだから、もしかするとエミュレータでは動かせないのかも知れんな。 動作した!って奴居る?
はいimportの説明好きな人出番ですよ、と↓
,,-‐、______,-''三ヽ し ( ミ,,-――――――-- 、丿 ら /::/ U `ヽ ん /:/ (;;;;;;;;;)ノ ハU(;;;;;;;;;)U ヽ が /:/ U i||| - l - lli i な |;| 、__丿 U i !!! || U ,ニ,ニ、 i. |::| U | |  ̄ | | U <三三 三三> U l iエエ,i 人 |:::::::::ヽ、______ー___,,-''::::: |::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
290 :
デフォルトの名無しさん :2005/04/13(水) 23:17:50
質問失礼します。 Vアプリエミュレータ上で、SMAF/Phrase(*.spf)が再生できずに困っています。 jarファイルは異常も無く出来て、エミュも正常に読み込んでいる様です。 エミュのコンパネ上には ---------------------------------------------- create New Emulator.... at com.jblend.media.smaf.phrase.Phrase.<init>(+5) at PhrasePlayerCanvas.<init>(+21) at PhrasePlayerExv.<init>(+15) at java.lang.Class.runCustomCode(+0) at javax.microedition.midlet.MIDlet.main(+41) ----- VM got stop event. destroy Old Emulator.... ---------------------------------------------- ↑こう表示されるのですが、何か間違ってますでしょうか? もう悩んで丸2日目。。。タスケテ。。。orz 環境は ------------------ jdk1.3.1_15 WTK104 V-appli_SDK_121 batでjarを作成 ------------------ です。 よろしくお願いします。
とりあえずExceptionをcatchすれば?
292 :
290 :2005/04/13(水) 23:40:46
>>291 返答ありがとうございます。
自己解決しました。。。
原因はエミュバージョンの相違にあった様です。
V-appli_SDK_121 ---> V-appli_SDK_122
にしたらガンガンに音が出ました。
*.spf って 1.2.2 からなのでしょうか?
質問してわずか数分で解決する私って、、、
2日間はなんだったのでしょう、、、orz
ありがとうございました。
解決したからよかったけど、1.2.1でもspf対応してるぞ。
>>287 興味わいたから俺もヴォダホンで作ってみたが、動くぞ。
その様子じゃクラスパスも通してるだろうし、別の所の問題じゃねーの?
295 :
294 :2005/04/14(木) 23:48:36
あ、WTKエミュでは動かんぞ。 解ってるだろうけど。
もう16日だけど3Gで通信できたかたはいます?
622 名前:非通知さん@アプリ起動中[sage] 投稿日:2005/04/16(土) 17:49:56 ID:YXzZgnwq 某ブログでは4月下旬から3GC端末に対応予定。 7月下旬をめどに作者向けに署名付きアプリに対応予定だとさ。 7月下旬..orz
MIDP2.0でバイブレータの制御って出来ます? もし出来るならVSCLを使わないで済ませたいので、、
つjavadoc
英語ぐらい読め
302 :
デフォルトの名無しさん :2005/04/17(日) 12:24:10
ググレ厨が24時間貼り付いてるスレはここデツカ?
英語なんて読めるか氏ね
そうも堂々と開き直られるとなんか気持ちいいな
>漏れが見たところ無いみたいだけど。 嘘書くなよ。 MIDP2.0でバックライトの点滅は Display#flashBacklight() バイブレーションの制御は Display#vibrate()
「漏れが見たところ」って書いてんだから嘘じゃないだろ >305が見落としたってだけの話
>>306 おー!そんな所にあったのか。ありがとうございます。完全に見落としてました。
色々とお騒がせしました。
コマンド(ソフトキー)の表示(消去)のみしたいんだけど iアプリのsetSoftLabelみたいなものはありますか?
310 :
デフォルトの名無しさん :2005/04/18(月) 17:04:31
質問です。 Vアプリで機種ID(固体識別番号)を取得したいのですが、 取得するメソッドはありますか? 調べてみたのですが、それらしきものがなかったので、どなたか知っている方 ご教授ください。
au phase3対応エミュどこか落とせるとこないですか?
ない。
313 :
311 :2005/04/18(月) 22:00:43
ぁぅ やっぱりauはjavaをなかったことにする気なんですね…
>>311 少なからず持ってる人はいるんだから頼んでみるといい。俺も持ってるがアップはしたくない。
でも誰かが前どっかにうぷしてたな
315 :
311 :2005/04/19(火) 00:37:08
メアドさらしてみます。 よろしくお願いします。
317 :
311 :2005/04/21(木) 23:23:46
連絡ナッシングです。よろしくお願いします。
再配布は可なのだろうか・・・
(2)お客様は、本ソフトウェアを第三者に配布(ウエブサイトにアップロードさせること、雑誌、書籍等に添付すること等を含みます。)、レンタル、リース、貸与、譲渡および再度使用許諾することはできません。
320 :
デフォルトの名無しさん :2005/04/22(金) 17:06:43
MIDP1.0搭載Vodafone端末ではVアプリからのHTTPS通信は 出来ないのでしょうか?ご教授下さい。
V-appli_gaiyou に書いてあるんじゃないかなあ。
3Gは糞やね。 docomoからの移植が簡単だったから喜んでたら、エミュは実機と違い すぎるわ、実機でのテストができないわ、端末かアプリの不具合の どちらのバグかわからないわで最悪だ・・ vodaがぜんぜんやる気ねぃのがわかる。
実機でのテストができない、ってのは?
>>323 まだコンテンツアグリゲータから256k以上のアプリはダウンロード許可が降りない
学習リモコン作ってみようかと思ったんだけど赤外線の受信を感知する関数が無いのね・・・・残念
AACプレイヤー作ってみようかと思ったけどAACをデコードする関数がないのね・・・・残念
328 :
デフォルトの名無しさん :2005/04/24(日) 21:42:39
>>320 漏れも知りたい。
誰か知らないですか?
それは問題だな・・・・
331 :
デフォルトの名無しさん :2005/04/25(月) 00:50:19
やっと、Vodafone もアプリから HTTPS できるようになったんで 802SH で HTTPS までできたのはいいが、UserAgent に UNTRUSTED 1.0 とか でてきてしまう。これじゃ、端末の特定どころか機種も判別できないよ。 これも Domain の関係か・・・
332 :
デフォルトの名無しさん :2005/04/25(月) 15:24:34
やっぱVアプリのHTTPS通信は3Gからなんですかねぇ
なあ・・・。 P6までの概要.pdf の制約、制限に書いてある 「Vアプリ実行時のSSL通信機能は提供しない」 っていうのがまさにそういうことだと思ってたんだが・・・。
モーションコントロールでよっぱでも作るか
335 :
デフォルトの名無しさん :2005/04/26(火) 13:50:01
>>325 とりあえず、別の学習リモコンで受け取ったデータを
配布すればよくない?学習リモコンがセーフなら
バイナリデータ配ってもよさそうなもんだが・・・
あー、それとも学習はべつの用途か?
>>332 ,333
だな。
以前エミュでも実機でも試してみたが
どっちもだめだったよ。
>>335 学習リモコンを所有してるならわざわざアプリ作る必要が無いわけだが
通信は夏までおあずけ
339 :
335 :2005/04/28(木) 01:38:20
すいませんデバッグができなくて困っているので 助けていただきたいのですが。 Vアプリの勉強をポチポチ始めていまして eclipse2.1.3+V-appli_SDK_122でボーダフォンの マニュアル通り設定したつもりです。 デバッグでリモートjavaアプリケーションをやると 「リモートVMに接続できませんでした。接続は拒否されました」 と、エラーになります。 ちょっと前までちゃんと動いていたのに、あれこれやっているうちに 動かなくなってしまいました。 どの設定あたりに問題がありそうでしょうか。よろしくお願いいたします。
FW
342 :
340 :2005/05/04(水) 02:06:56
自己解決しました。やり方がまずかったようです。 実行した後(エミュレータを立ち上げつつ)、デバッグさせるということ だったんですね。 ですが、イニシャライズまわりの動きが見えないわけですが、 これはSystem.out.printするしかないのでしょうか。。。
>>342 リモートVMの起動オプションでリモートデバッガが接続するまで
実行を停止するのがある。
Vアプリ作成の参考書を買いに行こうと思ったけど、まったく本屋においてませんでした (数年前はあったのに、、)iアプリはかろうじてありましたけど。 Vアプリを勉強された方は、Javaアプレット等のゲーム開発本で勉強→Vのドキュメント見て検討・作成 という流れなのでしょうか? もしよい参考書やサンプルが充実しているサイトがあればご教授お願いします
追記:私がほしかったのは、こういう動作をさせたいときはこのメソッドを使って こう書いてね、というやつです(「Java500の極意」、とかそういうサンプル集)
347 :
340 :2005/05/05(木) 02:20:05
>>343 レスありがとうございます。
すいません、そのオプションはどこにありますでしょうか。
一通り見たつもりなのですが、それらしきものがなく
(または意味がわかっていない可能性の方が高そう)
お手数おかけします。。。
>私がほしかったのは、こういう動作をさせたいときはこのメソッドを使って >こう書いてね、というやつです 参考にするのが目的でもそこまでの内容は求めなくていいだろう。 そこを自分で考えてこそのプログラミングだし、写すだけならコピペ作業員だし。 ・・・とか言うのはおやじの説教ですかそうですか。
>346 ありがd参考にします。 >348 ヽ(`Д´)ノ ウワァンかけだしだから仕方ないと思って。 servletとかJSPなら書いたことあるけどゲームは完全に始めてなんですよ
定石ってのはあると思う。startAppの扱いとか。
>>348 BASICとか多少プログラミング言語をかじったことのある人が
JAVAをあまり理解しなくても、アプリを作りたいという人が多いのも事実。
最初はコピペから始めるだろ 1行ずつ増やしたり消したり変更したり そうやって覚えたが
漏れはいきなり先達のソースを渡されてそれ見て組んでね、だった。 すさまじい(と当時は思った)コードを見て眩暈がしたが、 結局多発する正体不明のバグどもを潰すために「前と同じように書け」と言われ、 出来上がったのは似たり寄ったりのポカーソなコードだった……
>>352 ここのスレの頭の良い自治厨さんは生まれたときから、人に質問したことが無いらしく、
人の質問にも答えないばかりか、妨害するために張り付いているようだなw
ウダウダ言ってないで本屋へ行って新しい本を2,3冊買ってこい 近くに無いならネットで買え
↑妨害自治厨 キタ━━━━━(゚∀゚)━━━━━!!!!
>>354 人に質問しておいて「答え方が悪い」と悪態をつかれてもね。
ここは本当にム板ですか?
引っ張る話でもないし無理にスレ伸ばさなくてもいいって。 次の質問来るまで書き込み控えたら? ↓つーわけで話の流れ変えてくれ >質問者
>>357 良いことを教えてやろう。もし愚かな質問が来て答える価値も無い場合。
レスをしなければ宜しい。 (`∀´)プッ、ゲラゲラー!!
360 :
デフォルトの名無しさん :2005/05/06(金) 13:19:36
Eclipse3.0.2とボーダフォンのエミュレータを連携させる 方法ってあるんでしょうか? 何か内部エラーとか出て、実行すらできないんですが。。。
うーむ、赤外線通信を受信する関数がないを思ってたら 一般アプリで赤外線通信対戦ゲーム作ってる人が居るな いったい何を使ってるんだろうか
>>361 赤外線リモコンと赤外線通信は別物なんじゃ?
>>361 ClientObexConnection
OBEXクライアントとして通信を行うためのフィールドやメソッドを定義したインタフェースです。
ObexConnection
OBEX外部接続機能によって通信を行うときに、 OBEXクライアントとOBEXサーバで共通に使われるフィールドやメソッドを定義したインタフェースです。
赤外線通信は↑を使うみたいです
もしこれで学習リモコン作れたら報告ヨロ
MIDP2.0の本ってないですか?
ttp://refam.at.infoseek.co.jp/remocon/ 「赤外線通信」と「赤外線リモコン」は媒体が同じだけで全く別の通信規格です。
具体的な例を示すと、赤外線通信は数十センチ程度しか届かないのに対し、
赤外線リモコンは数メートル届きます。また赤外線通信では通信相手とコネクションして、
相手を特定する必要があり、赤外線リモコンのように一方的にデータを送るものとは性質が違います。
つまりデータ吸い取りは無理と
threadとpaintの同期ってどうやって取ればいいのでしょうか? 256アプリだと処理落ちするとちらついてしまう・・・。
同期を取る必要があるならそもそもpaintとデータ処理のスレッドを 分けないような設計にした方がいい。 現状の作りで行くならフラグを用意して、上げ下げを監視して同期を取ればいい。 この機会だから「セマフォ」「ミューテックス」などのキーワードを検索して スレッド制御について理解を深めてくれ。
repaint serviceRepaints でそれらしく見せる
370 :
367 :2005/05/09(月) 00:41:56
serviceRepaintsでうまく動きました。ありがとう でもおっしゃられるとおり、スレッド制御も勉強させていただきます。
下のコードでソフトキーのところに文字を追加すると KeyCodeが拾えなくなります かといってソフトキー対応のコードを書こうにもGraphicsがありません 皆さんはどうやってヘルプ作ってるのですか? cmdEnd = new Command( "help", Command.SCREEN, 1 ); canvas.addCommand(cmdEnd); canvas.setCommandListener(this);
>>371 ソフトキーのハンドリングはキーイベントじゃないよ。
CommandListener#commandAction(Command, Displayable)ね
あとは押されたソフトキーでフラグ立ててrepaint()を呼ぶ。
レスありがとうございます なるほど、呼び出し先はフラグ立て用ですか プログラム全体に作用する変数作る必要があるんですね
Vodafone用にゲームをつくってるんですが、 ボタンを押したときの「ピッ」という音を消すことがいまだにできません。 「JSCL−1.2.0」のAPIの「DeviceControlクラス」などいろんなクラスを 見たんですが、その方法がのってません。 どなたか「ピッ」音を消す方法ご存知のかた、おしえてくださいませ。
>>374 マナーモードにしてからアプリを起動するじゃダメ?
376 :
374 :2005/05/16(月) 11:25:44
>375 マナーモードにしなくても、BGMが鳴ってなく、ゲームの効果音は鳴り、 「ピッ」音(ボタン確認音)はならないものがありました(俺が持ってるやつだと、 「モナーのビーチバレー」)。 これらはどうやっているんだろう・・・。 どうも別の音(ゲーム中のBGMや効果音)が鳴っていると、ボタンを押しても ボタン確認音が鳴らないようなんです。 なので、BGMを出さないゲームをつくりたい場合はだと、無音の音データを 用意してそれを鳴らしっぱなしにしておき、こちらが効果音を出したいときは 無音のほうを止めてそれを出す、とやるのかもしれません。 ほかにもっとスマートなやり方ご存知のかた、いませんか?
>>376 その方法でやるなら無音にしたい時はボリュームを0にすればいいと思う。
C4はプレイヤーを取得するだけで鳴らなくなった気がする
入力した数字を足して割るだけのアプリを作りたいんですが Cをちょっとかじった程度の知識で可能でしょか? とりあえずjavaをコマンドプロンプトでコンパイルはできるように なったんですが、ここからどうしていいのか検討が付きません・・・
あとは動かしたい環境(docomo,voda,au)に合わせた開発ツールを DLして使い方を覚えれ
Vodafone用(P5型)のゲームをつくってます。 SmafPlayerクラスについてお話ししたいことがあります。 まずコンストラクタで、ゲームに使ういくつかの音ひとつひとつにSmapPlayerクラスをつくってます。 そして、ゲーム中に音を鳴らしたいとき、以前に鳴らした別の音(Bとする)を B.stop() で止めて、 今回鳴らしたい音(Aとする)を、まず A.getState()で「READY(再生可能)」の戻り値をもらってから A.play()で演奏するようにプログラムを組んでます。 最初のころは正常に音が鳴り、別の音を鳴らせると以前に鳴らした音が鳴りおわってなければ きちんと途中で中断してあたらしく鳴らしたい音が鳴ってます。 その後、音が鳴らなくなります。getState()で「READY」をもらっているのに、play()で音が鳴らないんです。 こういう経験をされたかた、いらっしゃいます? また、解決されたかた、どんな方法を使われました? 教えてくださいませ。
> まずコンストラクタで、ゲームに使ういくつかの音ひとつひとつにSmapPlayerクラスをつくってます。 ^^^^^^^^^^^ たぶんSmapPlayerクラスで中居君のインスタンス作りすぎ
383 :
381 :2005/05/18(水) 04:32:29
>382 なるほど。いろんな種類の音を鳴らしたい場合は、SmafPlayerの インスタンスは1個で(Smafデータを差し替えることで)通常は やりくりするものなんでしょうか。
通常はphrasePlayerかな
385 :
382 :2005/05/18(水) 15:59:39
なるほど。拡張子がspfのやつですか。 どうもありがとうございましたー!
385の訂正。 私は382ではなく381でした。382さん、どうもすいません。
387 :
381 :2005/05/18(水) 20:53:50
だめだ。 プログラム内では、 「コンストラクタで SmafPlayer を一個つくり、 playerStateChanged() ではなく別ルーチンにて、 音Bを鳴らしたいときに音Aが鳴っていたらstop()で止めて、 setData() で音Bをセットして、play()で鳴らす」 というふうに作った。 ゲーム開始ごろはただしく、音Aが中断され音Bが鳴るが、 これを繰り返していると なんの音も鳴らなくなる。 このとき getState() しても READY が返ってくるし、 ゲーム開始からこれまでずっと playerStateChanged() に ERROR は送られなかった。 SmafPlayer は、「ある音が鳴っているときに、stop()で止めて 別の音をセットして鳴らす」という作りはやってはいけないのだろうか。 「べつの音を鳴らしたいときは、音がなにも鳴っていないときしかダメ」 なのだろうか。
メモ StorageConnection conn; 〜 InputStream in = new InflateInputStream( conn.openInputStream() ); は×。
一度受けてやらんといかんのだ。
>>387 同時に鳴らしたいのなら素直にPhrasePlay使えば
>>391 ch control+なら
データさえわかればいけるはず
誰かに吸ってもらえよ
>391 は普通に電気屋で汎用リモコン買った方が 早いと思われる件について
そもそもこのスレにいるのが不思議だ
RPGで、マップパーツを描画するのに 普通どんな方法がとられますか? 例えば町だったら町のサイズのImageを作って、 パーツを全部描画しておいてから主人公の座標を元に実画面に描画する。 って感じでも大丈夫ですかね?
聞く前にやってみようよ。
>396 MIDPの世界だと多分画面と同サイズの絵を描くだけでメモリがイパーイイパーイ
399 :
デフォルトの名無しさん :2005/05/21(土) 02:06:57
>>396 それはあまりにメモリにやさしくないな。
他の方法を推奨するよ。
ちょっと考えたり、ネット検索すれば分かるはずなんで、詳しくは教えないけど、
ヒントはマップチップ配列を使うのと差分描画です。
みんな描写速度どのぐらい出せてるの? 603SHでTimerTaskを50ミリ秒にしたらもう処理落ちしまくり 100ミリ秒だと動作がもっさりするし・・・・ 本格シューティングなんて作れるんかな?
401 :
デフォルトの名無しさん :2005/05/21(土) 06:39:14
携帯電話なので・・・
402 :
396 :2005/05/21(土) 12:45:55
皆さんどうもです。 やっぱりメモリに負担かかりますかね・・・ 1歩ごとに一列描画するのは処理が遅くなったりしないか、 と思ってましたが(スクロールを滑らかにしているためカクカクすると困る) とりあえずそれでいってみます。
キタ━━━━━(゚∀゚)━━━━━!!!! 2005/5/20 更新情報 Vアプリ開発ツール ・V-appli Emulator(P7型)Ver1.0 ・V-appli Emulatorサンプルアプリ(P7型) ・ユーザーズガイド(P7型) を追加しました。
早速DLしてみるかどうやってモーションをエミュするのかw
405 :
デフォルトの名無しさん :2005/05/21(土) 21:34:03
iアプリをEZアプリ(Java)に移植してます。対象機はA5407CAです。 オリジナルではCanvas#paint()でint[]に入ったRGBの値をGraphics#setPixels()で描画しているのを MIDP2.0のGraphics#drawRGB()で書き換えました。 エミュで動いたのでさあ実機と思ったらA5407CAはMIDP1.0なんですね... orz MIDP1.0はdrawRGB()がないのでsetColor()とdrawLine()に書き換えたら激遅... orz この場合はどのように書き換えるのがいいでしょうか? 教えてくださいエロイ人!
>>405 そもそも座標値を配列で与えて連続で描画してくれるメソッド自体が
特殊なものだと認識した方がいい
(MIDPを、よりデバイスの特性に適した形へカスタマイズしたものがDoJa)
EZアプリだとExtensionGraphics#setPixel()で1点ずつ描くしか
もちろん遅いけど
407 :
デフォルトの名無しさん :2005/05/22(日) 00:13:38
>>406 どもです
ExtensionGraphics#setPixel()っていうのがあるんですね
setColor()+drawLine()よりかなーり早くなりました
ありがとうございました
408 :
381 :2005/05/22(日) 05:09:42
ボーダフォンHPからダウンロードしたPDFファイル見たら、 「音の停止と再生のあいだを少なくとも400ms取るように」というような ことが書いてありました。 そのように組んだら、音が鳴らなくなるということがなくなりました。 おさわがせしました〜。
オフイメージを少しずらして自分自身に描画したあと実画面に描画、 という方法でスクロールさせてるんですが、実機だとちゃんと表示されるのに エミュだと「少しずらして自分自身に描画」の処理を端まで繰り返されてしまうようです。(右、下方向のみ) 例えば右にずらすと □□□□ [[[[[[[[[□ □□□□ → [[[[[[[[[□ □□□□ [[[[[[[[[□ □□□□ [[[[[[[[[□ こんな感じになります。これは仕様ですか? ちなみにエミュはJSCL1.2.2です。
>>409 自分自身を自分自身にずらして描写したら
描写前に消さない限りずれるのが普通じゃね?
言葉ではやってることが正確に伝わらないからソースを出すといいよ
411 :
409 :2005/05/22(日) 19:33:21
いや、もちろん1マス分ずれるごとにずれた分新しくパーツ描画してます。
左・上方向だと問題なくスクロールするんですが、
エミュで右・下方向にスクロールさせようとすると一瞬で
>>409 の状態になってしまうんです。
一部だけ抜粋
int scroll=4;
・・・
graOff=imgOff.getGraphics();
・・・
if(条件)graOff.drawImage(imgOff,0,-scroll,20); //これはちゃんとscrollだけずれる
if(条件)graOff.drawImage(imgOff,0,scroll,20); //一瞬で
>>409 のようになる
if(条件)graOff.drawImage(imgOff,scroll,0,20); //一瞬で
>>409 のようになる
if(条件)graOff.drawImage(imgOff,-scroll,0,20); //これはちゃんとscrollだけずれる
このあとpaint(Graphics g)で
g.drawImage(imgOff.-36.-26.20)
>>411 自分自身をコピーしてる間にも自分自身が書き変わってるとしたらどうなる?
413 :
409 :2005/05/22(日) 20:17:48
よく分かりませんが、速さが プラス方向への描画>imgOffのメモリへのコピー>マイナス方向への描画 ってことですか? エミュがそういう仕様ってことで諦めるしかないか・・・ どうもです
単純にもともと画面外(マイナス方向側)に画像が用意されてないなんてオチは ないですよね? 実機だと上手くいくってのがよくわからないですね...
>>411 auやdocomoの実機で同様の現象が起きた経験あり。
DoJaだと Graphics#copyArea ってのがあって
それなら問題なく同様の動作ができたんだけど
MIDPには無いからオフスクリーンを2枚作って交互に描画するしかなかった。
自分自身を自分自身に描画とかは 実装依存のアーキテクチャーになるのでお勧めできないな。 この機種だとできるが、あの機種だとエラーになる、とか起きそう
417 :
409 :2005/05/22(日) 21:03:44
>>414 移動先のパーツはちゃんと用意されてます。
>>415-416 そうですか・・・
実機でも起こる可能性があるなら使わない方がよさそうですね。
ありがとうございました。
速さは同じなんだけど
0123456789 を右にずらす時 0123056789 → 0123016789 → 0123012789 → 0123012389
0参照4へコピー 1参照5へコピー 2参照6へコピー 3参照7へコピー
ここで元4・5を参照8・9へコピーすると 0123012301 となる
逆に左にずらす場合 1123456789 → 1223456789 → 1233456789 → 1234456789
1参照0へコピー 2参照1へコピー 3参照2へコピー 4参照3へコピー
と上手くいく
結果+方向へ自身を複写する場合
自身をコピーしながら自身が書き変わるので残像現象が起きる
>>416 の言うように自分自身の書き換えはお勧めできた手法ではない
>>418 まちがっとる
逆に左にずらす場合 4123456789 → 4523456789 → 5673456789 → 5678456789
4参照0へコピー 5参照1へコピー 3参照2へコピー 4参照3へコピー
420 :
デフォルトの名無しさん :2005/05/22(日) 21:25:25
421 :
409 :2005/05/22(日) 21:27:41
あ、なるほど! それなら必然的に起こりますね。 実装によってそこらへんのコピーの仕方が違ったりするんですね。 どうもありがとうございました。
P7キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
VSCLはなんであんなしょぼいの?
コントラっぽいアプリを作りたいんだけど、あれってコード的に難しいの? 弾あたりはシューティングから、アクションやスクロールはマリオ系から参考にすれば できそうな気はするんですけど。
じゃ、そうすればいい。
427 :
デフォルトの名無しさん :2005/05/27(金) 17:20:42
今時あんな腐ったテレビ売られてもな・・・。
430 :
デフォルトの名無しさん :2005/05/28(土) 19:38:33
宣伝じゃないんですけど。。。
Vアプリで、端末の残りヒープメモリ領域を取得するメソッドってあるんでしょうか?
それはMIDP(Vアプリ)というより、CLDCの方だ。
おお、ありました。 ありがとうございます。
ハッシュの要素にcreateImage(width,height)で生成した画像をputしようとするとぬるぽがでます。だめなんですか?
エラーメッセージの意味が良く分からず困っています。 3G、JSCLなのですがコンパイル、preverifyも正常に行えたのですが エミュレータで実行すると以下のエラーが表示され実行されません。 Running with storage root VodafonePhone Uncaught exception java/lang/NoClassDefFoundError. どういう意味なのでしょうか? Hello World!のような簡素なプログラムは動作するのですが、 P4で動くゲームのバージョンアップしようと思い、実行させると上のエラーが出ます。 NoClassFoundErrorならクラスが見つからないようなエラーな感じがしますが・・・ ClassDefって何!?
すばやい回答ありがとうございます。 コンパイル時はあったが実行時にクラスが見つからないというエラーなんですね。 javac -g:none -bootclasspath C:\JSCL122_SDK_110\lib\stubclasses_JSCL.zip *.java 上記のように3GCに付属していたクラスでうまくコンパイルできているのですが、 stubclasses_JSCL.zipの中にP4特有で3GCのエミュに対応していないクラスが 存在しているということなのでしょうか? 実行時に使用するクラスの指定などがあるのでしょうか?それの指定し忘れ? 今は特に何も指定せずに以下のようにして起動させています。 emulator -Xdescriptor:game.jad
>>435 ちゃんとjarファイル出来てる?
パッケージ化しないと出来ないYO!
↑ごみん、勘違いしてた。
Vodafone3Gアプリでメーラー作ることは可能ですか? やりたいこと 1.メール送信 2.受信メール一覧表示 3.受信メール詳細表示 4.待ちうけ
3GはTrustedがまだでしょ
>>442 レスThxです
ありがとうございました
画像の一部を描画したいのですが、 ドコモのGraphic#drawImage()みたいに部分描画するメソッドはないのでしょうか
>>444 MIDP2.0なら
Graphics#drawRegion()
MIDP1.0なら
Graphics#clipRect(), Graphics#translate(), Graphics#drawImage()の合わせ技で
>>444 auのPhase3、vodafoneのP5なら拡張GraphicsにdrawRegion()があるよ
レスありがとうございます。
>>445 MIDP1.0で作ってるのですが、結構面倒臭いですね。
関数化しちゃえばドコモと同じですが。
>>446 APIを調べていてvodafoneは見つかったのですが、
auの方が見当たりません。auの方にもあるのでしょうか?
見逃してるだけだったらごめんなさい・・・。
できるだけ処理を早くしたいのですが、2つの内どちらの方が処理が早いのでしょう?
あと忘れていましたが、auのPhase3対応で作ってます。
txtファイルをリソースに含めて、その文字列を読み込むにはどうしたらいいんでしょうか?
449 :
448 :2005/06/04(土) 00:55:03
それっぽく自己解決しました。
>>447 drawRegion()が使えるならそれが一番早いと思うが。
Calendarクラスにaddメソッドがみあたらないんですが どうやれば日付計算できますか?
>>452 ミリ秒になおしてsetTimeInMillisでも使っとけ。
454 :
452 :2005/06/07(火) 12:41:57
>>453 おお なるほど その手が
ありがとうございました。
すごい基本的なことかもしれないけど、 auのエミュレーターってサウンドは鳴らないの? player = new MediaPlayerBox(resource, MediaPlayerBox.BACKGROUND); player.play(); でエラーなく通過するけど音でない。エミュレータの仕様なのか?
>>455 Phase3エミュならphrasePlayerは鳴ったけど
457 :
455 :2005/06/12(日) 00:53:41
うーむ。だれかphase3エミュをupしてくれる神の降臨希望。 auなんて実機もっとらんから全くためせない。<iアプリを移植中です。
458 :
455 :2005/06/12(日) 00:55:48
ちなみに音系アプリで、内部でpmdとかmmfとか動的に作成してるので、 音機能をエミュでためせないのは致命的かも。。
ライセンス違反
つか Phase3 はもう捨てようぜー。 新規で買えないしさー。 じゃなきゃ、ケーブル使って 実機で動かすしかないよなー。
462 :
455 :2005/06/14(火) 00:13:30
おお!神!
3GではまだStorageConnectionは使えませんか…orz 3Gの開発環境は出てるのに、携帯実機で動かないのは蛇の生殺しすぎ。 一体何時になったらコンテンツアグリゲータはTrustedなアプリが配布できるようになるのだろうか???
vodafoneはやるきまんまんですよ
Vアプリの開発初心者です。 自前のiアプリ(スクロールゲーム)をVアプリに移植したのですが v-appliエミュレータで実行すると、速度がかなり遅いです。 実行するとCPU使用率が80%ぐらいをキープして観るに耐えなくなります。 実機がないのでエミュレータの問題かプログラムの問題かが切り分けられません。 特に重そうな描画処理を間引きして実行しても速度が全然かわらないので見当がつきません。 なにかVアプリで注意しなければならない点などありますか。
>>465 「かなり遅い」が何と比べてどの程度遅いかは知らないが、
概してエミュレータの動作は実機より遅いもの。
速度調整はエミュレータでなく実機でやるべき。
>>466 レスありがとうございます
説明不足、失礼しました。
かなり遅いというのは「iアプリのエミュレータ」と比べてです。
iアプリのエミュは実機とは比べ物にならないくらい速いです。
[環境]:Pen4の1.7MHz メモリ512M
なのでVアプリのエミュを動かしたとき
あまりにも遅くて不安になったのです。
でも
>>466 氏の話を聞いて安心しました。
ありがとう
へー、iは速いんだ。知らなかった。 機種依存めんどいみたいだけど、それはうらやましいな。
私もエミュレータ自体はvodafoneの方がdocomoより重い感じがします。
実際に実機で動かしてチェックするに越したことはないけど、難しい話ですね。
ゲームのようなリアルタイムが要求されるものの、速度の調節なんかは、
フレーム単位で計算して、
速度が速いときは、適度にsleepかけたり、
速度が遅いときは、描画をスキップ(間引き)したりして、
描画間隔を整えるのが一般的なんじゃないかな?
vodaにも
http://npaka.yoko.ne.jp/bench/bench.jsp のような、ベンチ結果が出てるものがあれば、参考になるのにね。
同じボーダでも エミュのバージョンにもよる。 JSCL1.2..1の エミュは尋常じゃないほど遅いぞ 実機より遅い。 逆にそれ以前のJSCLのエミュは実機より早い。ドコモ並み。 ちなみにAUのあるエミュは尋常じゃないくらい早いのが多い
今、Vアプリを作る人がvodafone携帯を購入する場合 どの機種を購入するのがオススメってありますか? ドコモは少し前までN505iあたりがクセ強いのでイイとされてましたが。。 今ならFOMAでしょうけどね。
V602SHか、3GならV802SHってとこかな。 ヤヴァイくらいク(w
V603使ってるがエミュが実機より遅いなんてありえない PCのパワーが足りないだけだろパソコンを買い換えなさい
セレロン2.8Ghzだけど遅い。 そんなに高性能なのが必要なの?
仕事でこのへんのネタやることになりそう。 で、チョット調べただけの状態で質問です。 全社対応のアプリって、ヤバイネタだと思いますか? MIDPって基本仕様が根っこにあって、 その上にiアプリとEZ、Vがそれぞれ別のフレームワーク立ててるらしいってあたりまで 調べただけなんですが… 現状の話によると、iアプリとEZ,Vに全部対応させるらしい…。 確かにMIDPって基本仕様が共通だから、ぱっと見できそうに見えるかもしれないけど、 これってかなりやばい話だよね? メモリもCPUも限られてて、その上機種毎の差異に悩まされるはずなのに、 さらに各社のAPIの差異まで入ってきたら、血を吐きそうだ…。 本当に一本のコードなのか、別バイナリレベルでは分けられるのかは不明です。 でも、仮に別バイナリだとしても、結局書かなきゃ行けないわけで。 今ならまだ止められるかもしれないから、識者のつっこみ求む。
具体的な内容もわからないのに、答えられるわけないでしょ。 仕事なら、自分でチョットじゃなくてちゃんと調べれ。
>>475 iアプリはCLDC+独自API
EzおよびVは、CLDC+MIDP+独自API
まともにやろうと思うと、結局特化した別コードを書く必要は出てくる。
>476 ゴメンヨ 鬱から復帰の一発目だからさ、ヤバイのは避けたいってのがあるんだよ。 まだやるかどうかも不透明みたいだから、やばいなら早めに回避できたら、と。 もちろん調査も今やってるんだけど、なにしろこのへんは経験値がないからさ。 >477 失礼、MIDPが一緒、じゃなかったですね。 共通化できるのは、CLDCレベルまでか…。 どの程度まで共通化できるかだなぁ。 3/4程度まで行けるなら、何とかなるかもしれないけど… それ以上だと辛いなぁ…。 今からCLDCの仕様とか探して読んできまっす。
>>473 PCの問題じゃねえよww
>>478 おれは、Docomo,Vodafone,Au
3機種全対応のプログラム作ってるよ。
iアプリとvアプリはほとんど同じにコードにできるけどEZだけは少し別
でも要はローレベルな関数(サウンド周りとか)だけ各種対応しとけばOK
アプリのメインフレームは同じコードをコンパイルしてる
仕事でVアプリ作ってます。で、聞きたいんだけど、 V902TとV902SHって、随分と細かい部分の挙動が違ってない? V603SH用のアプリをV603Tで動かすのはとても簡単なのに、 V902SH用のアプリをV902Tで動かすのはえらい大変なんだけど・・・
例を出せ
>>480 Vodaの端末は数字部分が同じだからといって中身が近いとか勘違いしたらダメ。
しかもメーカー違う端末比べていればなおさら。
483 :
475 :2005/06/21(火) 15:26:56
>479 dクス 全対応って、一本のバイナリ? さすがにそれは、compile時に分けるよね? とりあえずiMode系中心に調べてみた。 俺の使ってるのがDocomoだから、実機が手元にあるってのもある。 で、結構いけそうだねぇ。 結局のところ、コア部分をCLDCレベルで書いてしまえば、 Canvasあたりの基本クラスは起動トリガだから別実装でもいいし、 nttなんちゃらパッケージだのは、interfaceなり起こしてまとめてラップしてしまえばいいのかな。
484 :
デフォルトの名無しさん :2005/06/21(火) 16:44:45
Vアプリを開発しているのですが、 通信で10KのJARファイルを取得するとエミュと実機でファイルのサイズが 違います。原因はなんでしょうか?(5Kのファイルだと同じでした) どなたかご教授ください。 HttpConnection hc; hc = (HttpConnection)Connector.open(url, Connector.READ, true ); long size = hc.getLength(); ←エミュと実機でサイズが違う
60x以前のだと6Kがファイルサイズの限界だからじゃないの
486 :
484 :2005/06/21(火) 17:03:57
JSCL1.2.0で作成しています。
487 :
デフォルトの名無しさん :2005/06/21(火) 17:22:21
アプリ起動時にサーバーと通信してそのアプリが最新バージョンかチェック して最新でない場合は確認を促してから自動で新バージョンにバージョンアップするというプログラムは 可能でしょうか?
>>487 >アプリ起動時にサーバーと通信してそのアプリが最新バージョンかチェック
>して最新でない場合は確認を促してから
までは可能。
端末のWeb機能を呼び出せる場合は、そこからダウンロード画面までは可能。
489 :
デフォルトの名無しさん :2005/06/21(火) 17:33:54
早速のご解答ありがとうございます 自動DLは不可ってことですね。 とても参考になりました、ありがとうございます
>484 とりあえず開発ガイド 9.1.2 を、『何も考えず』 移植してみるのを勧めてみる。 違うかもしれんが、アプリサイズが余裕なら この位入っててもいいだろう。 >475 どっかに共通化するフレーム作ってる奴いたから、 ある程度は共通化できるんだろうけどな・・・。 うちは505iのサイズの制約のせいで そういうのは作れなかったorz
491 :
487 :2005/06/21(火) 20:29:24
先ほどの質問の続きなのですが ユーザーをダウンロードページまで(アプリで)誘導して ダウンロードさせる際に、現在の旧バージョンのアプリに上書きということは意図的に出来るのでしょうか? 私のテスト機では「test」というアプリだった場合には「test1」という名前のアプリができてしまいました 何卒よろしくお願いいたします。
au ? ならどっかに説明書いてなかったっけ? web かもしれんし doc かもしれんが……。
>>491 vodaなら可能だが、auでは無理だった希ガス
494 :
デフォルトの名無しさん :2005/06/25(土) 13:29:56
質問です wavデータからspfファイルを作成することはできますか? VアプリでBGMと効果音を同時に再生したいのですが mmfとspfを同時に鳴らすことができないようなので 効果音をMIDIで作成しないといけないのかと困惑中でございます。
ん?mmfとspf同時再生できるよ。
>>495 レス、ありがとうです
今、必死に開発ガイド読んでたら、AudioPhraseというのがあると知りました。
#読んでから質問しろって話ですよね onz..
もしやAudioPhraseにapfではなくmmfを渡して使うのでしょうか?
497 :
496 :2005/06/25(土) 14:08:52
スレ汚して失礼しました 上記の方法で無事、再生することができました
>>498 鳴らせました
そのmmfも鳴りましたよ
ファイルには問題ないようです
500 :
デフォルトの名無しさん :2005/07/01(金) 00:35:39
ちょっと先輩方に質問。 たまにRPGとかで、タイトル画面に入る前にNOW LOADINGとかしてるアプリあるけど、あれって何してるの?圧縮した画像とかをレコードストアに展開とか?
sage
>>500 アプリによるからわからん
つかりソースをネット上に置いていてそれをダウンロードしてるんじゃね?
>>500 たいていはcreateImageとかだと思う。
504 :
498 :2005/07/01(金) 10:39:17
>>499 ボリュームを最大にしていたら鳴らず、
ボリュームを下げたら鳴るようになりました。
505 :
500 :2005/07/03(日) 04:41:19
>>502 ,503 レスサンクス。でも俺の聞き方が悪かった。
タイトル画面に入る前に「結構な」時間(10秒とか20秒とか)ロードに使ってるアプリがあるけど、
何してるんだろう。と聞くべきだった。
createImageなら俺も最初にタイトル画像+αくらいはするけど、
NOW LOADINGって表示を出す必要があるほど時間がかかった事はない。
506 :
506 :2005/07/03(日) 11:16:42
その時間はゲームによって違うと思うけど画像のパレットの変更とか回転画像の生成とか音の生成とかだと思うよ。 単に.pngを読み込むだけじゃそんなに時間かかることは無いっしょ
>>505 アプリ中で使う画像を全部読めば結構な時間かかることもある。
けど20秒は長すぎなので、もしかしたら通信してるかもしれん。
image150個sound20個その他データで10秒以上かかる。
RPGじゃ結構読込む情報はおおいと思うぞ。 歩行、エフェクト、マップチップ、音など。 細切れを1つずつ読み込むように作成してると さらに遅くなるしな。
510 :
デフォルトの名無しさん :2005/07/04(月) 22:32:04
>>508 それだけ読んでヒープオーバーしないの?
imageデータとsoundデータの容量次第だろ ちいさければ普通に乗っけられる
512 :
デフォルトの名無しさん :2005/07/06(水) 17:03:50
結局、、、メガアプリで通信ができないことや trusted のことやら みなさん どうなりました? わたしは、待ち受けアプリにすると、起動時にエラーが出て終了して、困っています。
513 :
512 :2005/07/06(水) 18:23:39
MIDlet-Certificate-1-1: と MIDlet-Jar-RSA-SHA1: を jad に追加したのですが、 実機(V802SH)でダウンロードしようとすると、 不正なデータなため、ダウンロードできません。 と表示されてしまいます。 MIDlet-Certificate-1-1: と MIDlet-Jar-RSA-SHA1: の内容は、 公式な認証機関で作られたものでないと、許可されないのでしょうか? どうか、お助けください。
515 :
512,513 :2005/07/06(水) 21:16:37
>>514 はい スパイシーソフトの 法人契約 ビジネスプロバイダー for Vアプリ からです。
>>512 アグリゲーター(アプリゲットorゲームチャンネル)が発行する証明書でないとダメ。
jadとjarをアップロードしたあとにアグリゲーターが署名してくれるので、作者がやることはないということになると思う。
しかしこのサービスが開始されるのはいつのことになるやら・・・
517 :
512,513 :2005/07/06(水) 22:27:03
>>516 アグリゲータとvodafoneに質問してみました。
明日には回答がくることになっています。
518 :
512,513 :2005/07/06(水) 23:15:49
>>516 現状、世に出ているメガアプリは、
通信機能、待ち受け機能がない ということでしょうか?
公式サイトのアプリは別として。。
519 :
512,513 :2005/07/07(木) 13:22:01
520 :
512,513 :2005/07/07(木) 13:27:59
521 :
デフォルトの名無しさん :2005/07/07(木) 16:44:02
すいません。 初歩的な質問なのですが、現在Vアプリを作成してまして実機で動作確認するために アプリゲットに登録してアップロードしようとしています。 そこでFTPソフトとIEを使って試したのですがどちらもアップログに 〜jadファイルと〜jarファイルの内容に破損が検出されました と出てアップできません。 jadとjarの作成にはJBuiderXのアーカイブビルダを使用しています。 もし似たような状況で改善したよという方がいらっしゃいましたら、 何でも結構ですので教えていただけないでしょうか。 宜しくお願いします。
>>521 jadはテキスト、jarはバイナリでアップしてる?
私の問題は火曜日頃から正しくアップされてるのに端末にダウンロード出来ないのだが
他にそのような症状の方いませんか?
MailAgentとMailDataを使用して Vアプリからメールを飛ばそうとしているのですが、うまくいきません。 MailDataのMailData.BODY_INFOに改行を含めると java.lang.IllegalArgumentException: format error is bodyが出力されます。 "\r\n"や"\n"などで試したのですが、同様の例外が発生します。 どのような改行コードを含めると、うまくいくのか教えて下さい。 よろしくお願いします。
Vアプリを作っている方にeclipseのリモートデバッグ設定で質問があります。 v-appliエミュレータ(1.2.2)での実行はうまくいったので、eclipseを使いブレークを張りながら順に進めてみたくなり eclipseの「実行」-「外部ツール」でロケーションにemuへのパス、作業ディレクトリはエミュのbinフォルダ、引数に以下を打ち込んで実行しました。 -Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=8000,suspend=n -Xdescriptor:C:\hoge\bin\hoge.jad で、エミュレータが起動し、作成したアプリが表示される所までいきました。 次に、「実行」-「デバッグ」を選択し、localhost : ポート8000、リモートVMの終了を許可にチェックを付け デバッグボタンを選択すると、コンソールウィンドウに「[[KVMDebugProxy/Out]]: Connection received.」と表示されました。 この状態で、プログラムで必ず通るpaintメソッド内にブレークを張り、再描画させてもブレークで止まってくれません。 ステップ実行しながら進めていきたいのですが、ここからどのようにすればいいのでしょうか?
いまさらEZアプリなんですが dojaで使えるsetPixels(int x, int y, int width, int height, int[] pixels, int off) をEZアプリで使えるようにとメソッドを独自で作ってみたのですが どうにもうまくいきません… public void setPixels(Graphics g,int x,int y,int w, int h,int[] buf,int pos){ //ここでRecordStoreにイメージを保存して…(ここがうまくいかない。byteだからかな) g.drawImage(img,x,y,this); } どなたかヒントだけでもかまいませんのでご教授願います
>>526 求めてる動作とやってることがめちゃくちゃでないかい?
setPixels()は色データの配列に基づいて画面(ないしImageオブジェクト)に
色を置いていくメソッド。なんでRecordStoreへの保存をsetPixels()の中でやるのさ。
まず自作メソッドの設計見直しと問題の切り分けをしようぜ。
確かに頭の中いっぱいいっぱいですorz よくよく考えてみると int[] buf のようにint配列のものをImageオブジェクトにしたいだけなんですが… うまくいかない…
>526 まず DoJa の JavaDoc の Graphics#setPixels の説明を読もうぜ。
>528 実行時にBYTE配列の中にPNGデータをプログラムで生成 -> Image化 ってーのはどうか?
531 :
528 :2005/07/16(土) 21:08:07
>>530 たしかpngの生成は処理が重いと思ったのですが
結構頻繁に描写するので、できるだけ軽くしたいんですよ
今日はちょっと忙しいので後日試してみます
速かったらその方法でやってみたいと思います
ありがとうございました
532 :
527 :2005/07/16(土) 23:27:35
>>528 =526
>int[] buf のようにint配列のものをImageオブジェクトにしたいだけなんですが…
大きさ8*8ドットの任意の絵柄のImageオブジェクトを作りたい場合
64ドット分の色データの配列を用意する。
int col[] = { 0x00RRGGBB, 0x00RRGGBB, …64個のint型 };
その上で以下のように(例として)。
Image img = Image.createImage(8, 8);
Graphics g = img.getGraphics();
ExtensionGraphics eg = (ExtensionGraphics)g;
int i, x, y;
for (y = 0; y < 8; y++){
for (x = 0; x < 8; x++){
i = y * 8 + x;
eg.setPixel(x, y, col[i]);
}
}
Phase3前提。col[]がストレージに保存してあるなら
必要ごとに読み込んで、imgを生成して、setPixel()する。
Imageオブジェクトの作成を1度にしてそれを保存しておきたいなら
ImageEncoderクラス使ってJPEG保存だろう。
>>530 >BYTE配列の中にPNGデータをプログラムで生成
簡単にできるなら私も知りたい。
533 :
528 :2005/07/16(土) 23:48:01
うひょー
>>531 様ソースまで書いてくれて本当にありがとうございます。
後日試してみたいと思います。
534 :
530 :2005/07/17(日) 00:31:18
同僚がリソース内PNGをBYTE配列に取り込んで、パレットチェンジしてから Image生成ってことをやってたんで、割と平易にできるのかと思ってたんだが……。 もしかしたらパレットチャンクのデータを別に取ってあって、CRC計算を端折ってた かも知れん。すまぬ……。
現在3Gに対応してるダウンロードサイトってないよね。 ダウンロードサイトが対応してないから、互換性があってもダウンロードできないって問題があって、 3G用の公開を諦めてたけど、進展はあったのでしょうか。 しばらく開発から遠ざかっていたのですが、今はもうクリエイターアプリも3G携帯で遊べますか?
536 :
528 :2005/07/20(水) 03:13:54
>>532 ようやく時間がとれ作ってみました。
正常に表示まではいけました。
本当にありがとうございます。
いけたのですが、どうやら全画面を一点一点打っていくと激しく重いようです。
一枚表示するのに20秒前後くらいかかってしまいました(A5406CA)
折角ソースを書いていただいたのに大変申し訳ないのですが
他にそこそこ速く表示させる方法は無いものでしょうか?
自分で考えたのは(まだ空想と妄想の世界ですが)
1,byteでimageを作って表示
createImage(byte[] imagedata, int imageoffset, int imagelength)
2,jblend.graphics.m2d のSpriteImageを使ってみる
どちらもbyteのため根本的に作り直さないと駄目な気もします…(int配列からbyteに変換できないらしいし)
どちらかしか一括で表示できる方法が考え付きませんでした。
>3G用の公開を諦めてたけど 文章から判断すると開発者側とは思えないけどね 芽がアプリの開発できるならコンテンツアグリゲーターサイトの作者○○で○○してみたら すぐわかるじゃん 通信使うアプリはまだ動かないでしょ ひよこのブログで今月に対応するような情報書いてたけど どうなることやら7月もあと10日しかないけど
激しく重いのはあたりまえ、というか承知の上。 色データの配列で与えられた絵を高速に描く方法はないよ。あきらめて。 だからこそDoJaはsetPixels(setPixelを一括処理する)をわざわざ別に用意したわけで。 >createImage(byte[] imagedata, int imageoffset, int imagelength) これの第1引数は、PNGやJPEGデータをInputStreamでオープンして得るbyte配列を指す。 >jblend.graphics.m2d のSpriteImageを使ってみる これで使うのはWindowsBMP。 BMPファイルのヘッダ部分まで含めてbyte配列上に作り込めるなら試してみても。
540 :
528 :2005/07/20(水) 17:17:31
>>539 えと、最近fomaでファミコンが実機並みの速度でできるエミュ「w」というのが
あるのですが、auでもできないかと移植作業をしていたんです。
fomaには性能は勝てないので、遅いとはわかっていますが…。
実際どんなものかと興味がありました。
したら描写の壁にぶち当たりまして…
そこで携帯電話ゲーム板の「EZNESについて語ろう」というスレで、協力してくれる人は
協力してくださいというような感じです。
ちなみにソースはこんなのです。パスは「audenes!」
ttp://upload.squares.net/upload/src/file0131.zip
パレットが固定なら、8bit BMP作ってpaint()時にSpriteImage作成でいけんじゃね?
>>537 レスサンクス
3G携帯の実機持ってないから実験できないんだよね
3G出たばかりの時はプログラムがmidpのみだったからjadを弄がったりもしたんだけどうまく行かなくて・・・
ネットで調べてみたらダウンロードサイトの方が対応してないから動かせないってあったんで信じてたんだけど、うまくやれば動くのか
まあ時間があったらまた調べたり試したりしてみるよ
>>540 wやNES_iが出る前からEZNESがあったけど
あのソースでは確かBMPからスプライト作ってた
ezplusEmulatorでrunを押すとこのようなエラーが出てしまいます。 つい1週間ほど前まではこのようなえらーが出ることはありませんでした。 ウェブで調べたんですが、具体的な理由や解決方法がよくわかりません。 誰かわかる方いたらお願いします。 **destoroy :C:\ezplusTools\Tools\Emulator\JbIme.exe ALERT: Cannot load class com/j_phone/io/BrowserConnection Application EMERGENCY termination. (-1)
全然ワカンネー(゚∀゚)
>>545 JADファイルかマニフェストファイルがおかしいんじゃないだろうか。
適当だけど。
>>545 ezplusEmulatorで起動したのはEZアプリなんだよね? でも
>ALERT: Cannot load class com/j_phone/io/BrowserConnection
Vアプリのライブラリを呼び出してるぞ。
ライブラリを上書しちゃったか、ソース側のimport記述を確認してみ。
vodafoneでTigerは使えないのかなTiger。Java5.0。
クラスファイルフォーマットを昔の形式に変換するソフトがあったと思うので、 それを使えばある程度は可能かと思われ。
すみません質問です。 今までDoCoMoでアプリ作っており、Bluetoothを用いた通信をする必要があるためNOKIA製品を使うことになりました。 それでNOKIAでのアプリ開発をしたいのですが、NOKIAのアプリケーションはMIDIetというものなのでしょうか? また、開発に必要な環境はJ2SEとNDSというものでよろいしいのでしょうか? ご指南お願いします。
おちつけ。意味わかんねーよ。
了解、では簡潔に。 iアプリ経験者ですが、NOKIAのアプリケーションを作りたいので開発環境と開発ツールの入手方法教えてください。 環境はJ2SEとNOKIA MIDIP SDKが必要という所までは分かったのですが、情報源が少ないので確信が欲しいのです。 NOKIAからNokiaDecelopersSuite(NDS)という開発環境が出てるそうなのですが、何分Eclipseと連携できるのか分かりません。 JBuilderとは連携するそうなのですが、お金がないので買えません。
ノキアの公式HPに行けばいいものを なんでわざわざこのスレに来るかな Iが余分な
>>553 IBMから出ているMIDPの開発環境がNokiaをフルサポートしている。
しかもeclipseベースで国際化対応も出来ている。金額も10万しない。
お金がないそうだから無理でしょ
QVGA対応Vアプリの動作確認をするために 実機を1台購入しようと思っています。 ユーザではなく開発側という立場で どの機種を買ったほうがいいとか、そういうのありませんか?
パプリッシャーの意向を聞いてそれ選ぶ
>>558 QVGAっても2Gの非パケから3Gまで幅広いんだけど?
動作確認をするためだけに使うなら 出来るだけ評判の悪いやつがいいね voda3Gでいいでしょ、 不具合だらけだから新規1円で買えるし、2倍ウマー 不具合を理由にして代替機を借りて その機種でまた動作確認で3倍ウマー アプリ動作確認用機種貸し出しサービスで4倍ウマー voda3Gの次のシリーズがもうすぐ発売されるから もうちょっと待つのが本当はベスト
俺のPC環境 MIDPはインストール済 + P5のエミュレータ Vアプリを作ろうとしてるんだが、Vのエミュレータをインストールしただけで作成できるんですか? Vのクラスはどこからダウンロードすれば・・・
エミュのドキュメント読めば出てる
>>563 ということは、エミュレータをインストールしただけで、VからのjavaクラスはもうPCに入ってるってこと?
エミュのインストール先のフォルダを確認すればわかることだよね
567 :
558 :2005/07/31(日) 22:55:21
レスどうもです QVGA256Kアプリが動く機種がいいのですが 最新の3G携帯を購入して、その機種を基準にアプリを作ってしまうと 前の世代の携帯では動作がモッサリしてしまうのではないかと心配です。 となると、新しい機種より古めの機種のほうがいいのかな、と。 それなら、どの機種がいいのかなと思って質問しました。 今日、近所の販売店に行ってきたのですが V902T V802SH V603T V603SH V601T が全て新規1円で売っていました。
SH53(256V1)と601T(256V2) この2機種で動けば大丈夫 3Gは別個用意
trustedマダー?
作者の自信なさげなコメントが気になるな 少なくともこの人3Gチェックしてないわけだが 「v0.1.0/5KB/3G機種に対応のハズ)←ココ」 voda3GVアプリのHTTP通信は布留川大先生クラスも 成功してないのに信用していいのかな
その人のHP見る限りではjadしかいじってない気もするが・・・ アプリゲットの審査が通ると通信できる とかじゃないよね?
それは通常のアプリからのHTTP通信でデータもらうところとは 違うヘッダ部分を利用してるだけだろ 時計あわせだけだから だから関係なし
>>574 いや、それにしてもHttpConnectionをOpenするところでSecurityExceptionが発生するだろ。
trustedじゃないとありえないと思う
>>575 うん書き方がちょっとまずかったけど
だから、570のアプリが実際にどんな動作してるかを疑ってるわけだ
携帯アプリ業界の有名作者たちが誰一人成功してないものを
動作チェックもしてない570の作者がvoda3GのHTTP通信に成功するとは
常識で考えられない
577 :
らるる :2005/08/15(月) 06:23:16
>570 からなんか話題になってるので、答えられる範囲で答えます。
結論から言うと、私もよくわかってないです。
・実機で動作確認できてるか
できてない。なので >570 903SHで本当に動いているなら逆にビックリです。
(確認すらできてないのにリリースすんな、というツッコミはさておき。)
エミュで通信できることは確認してます。
↓の一覧に載ってるので、ひょっとしたらv0.0.1バージョンの時から動いていたかもしれません。
http://www.vdfx.net/902appli.html ・Trusted ?
Trustedではないです。
>573 のいうように.jad/MANIFEST.MFをいじってるだけ。
少なくとも、Untrustedの状態のエミュでSecurityException出てません。
・「アプリゲットの審査が通ると通信できる」? >573
実機持ってないので検証できません。
さすがに審査が通るだけでTrusted状態になるとは思えないですけどね。
578 :
らるる :2005/08/15(月) 06:23:58
よくあるアプリとは異なると思われる箇所 ・MIDP1.0のAPIしか使ってない(JSCLのAPIは使ってない) ・HTTPのGETではなくHEAD (HttpConnection#setRequestMethod(HttpConnection.HEAD)) を使ってる ・HTTPのレスポンスはHttpConnection#getDateしか使ってない ・以下の記載をしてる MIDlet-OCL: JOCL-1.0.0 MIDxlet-API: JOCL-1.0.0 MIDlet-Network: Y MIDxlet-Network: Y StorageConnectionクラスを使うアプリだと、 エミュで「Untrusted」の場合SecurityExceptionが出ることは確かめられました。 結局、Trusted DomainとUntrusted Domainとで、何が使えて何が使えないのかがよくわからんです。 新機能導入の手引き 3GC型端末編、2.3.2セキュリティ、表2.1.2-1 「デフォルト」「その他」の違いが何なのかわからない 「その他」に1,2,3,4の数字が複数記述されてる項目は結局どういう動作になるのかわからない
>>577 らるるさんキター
自分の902SHでダウンロードしてみましたが
実際に通信してる感じでした。
580 :
デフォルトの名無しさん :2005/08/15(月) 14:44:19
ここでage
581 :
デフォルトの名無しさん :2005/08/15(月) 16:46:01
iアプリを作ってきたものですがVアプリで iアプリのJarInflaterみたいなのってないですか? アプリで使用する画像などを1ファイルにまとめて ダウンロードしてアプリ内で解凍して使用したいのですが・・・
○○さんですか?
>・HTTPのGETではなくHEAD (HttpConnection#setRequestMethod(HttpConnection.HEAD)) を使ってる やっぱりね これはだからこのアプリだからであって 他のアプリには関係ないということでFA わかりやすく結論だけ言うと 通信できないためにvoda3Gで動作しない ○○アプリとか○M○naアプリはやっぱりダメだって事です
>>583 いや、HEADだと通信OKなんて記述はドキュメントにはないと思う。
実はtrustedでないと通信できないってのはデマ?
やってみたらGETでもPOSTでも通信できるんじゃない?
>やってみたらGETでもPOSTでも通信できるんじゃない? このスレ始まって以来の超馬鹿レス晒しage そんなものあれもこれも考えられることはすべてやって それでもダメなのを知らないらしい・・・・
586 :
584 :2005/08/16(火) 02:01:39
ドキュメント見てみた。 424-111-V-appli_function2004_3GC_1.1.0.pdfの「2.3.2セキュリティ」の章にはUntrustedでもネットワークアクセスが×じゃないと記載されている。 ユーザデータ(Storageとかアドレス帳とか)と位置情報のみがUntrustedで×じゃん。 どゆこと??
HEADだけなら通信できるわけ?
>>587 そのようですね
>>585 ageと言いながらsageてるところに優しさを感じる
>>584 =586
ここ個人の覚書帳じゃないから、この一件の経緯を把握してから書き込んでくれませんか
589 :
584 :2005/08/16(火) 21:43:31
あれ?通じないか? HEADでもGETでもPOSTでも通信できる。たぶん。 つまりここにいる全員が勘違いしてただけ。 わかった?
?????
>>589 たぶん。とか遠慮せずに実際にやって見せてよ。出来るなら。
ここにいる全員が勘違いしているだけなんでしょ。
エミュレータでつたとかいうオチとか
どのmethodが使えるかは424-111-V-appli_function2004_3GC_1.1.0.pdfの2.3.4.1に書いてあるだろ。 GET,POSTは可。「端末で実装をしている場合に限りHEADが利用できる。」 いずれにせよ、UntrustedでHTTP通信できた実績は無い。
>>594 でも、実際
アプリのセキュリティでネットワークアクセスを「許可しない」にして時刻を取得しようとすると「時刻接続失敗」って出てくる。
毎回表示にすると「ネットワーク接続を行います。よろしいですか?」と出てきて Yes を選ぶと時刻が表示される。
ちなみに902SH
バカは放置
597 :
らるる :2005/08/17(水) 17:38:28
598 :
584 :2005/08/17(水) 19:51:19
>>592 らるるさんのアプリが実際に出来ている。
>>593 オレは試してない。
3GC機を持ってないし、試す暇もない。
しかしもはや試すまでもないと思う。
>>594 2.3.4.1はセキュリティドメインとは無関係の記述だろ。よく読め
2.3.2.1の表が正しいことは
>>595 で証明された。
つまりUntrustedでも通信は可能。
TruestedでもUntrustedでもデフォルト設定時の通信の仕様に一切差はない。
唯一の差は端末設定のBlanketが有効になるだけ。
しかしココまで解説しないとわからないものなのか・・・
ガリレオの気分だな
なんで実機で試してないのに出来ると言うのかよくわからん
V902T持ってるけど、やっぱり通信はできんよ。
>>599 だからおれの902SHでMobileWebClockerが動いたんだってば
>>601 それはHEADでのみ確認できたのであって
GETとPOSTじゃないじゃん
603 :
599 :2005/08/17(水) 22:16:30
604 :
デフォルトの名無しさん :2005/08/17(水) 22:38:54
>ガリレオの気分だな 愚か者はついにガリレオになりました だから この一件の経緯を把握してから書き込んでくれませんか という忠告を無視して夏虫が暴走・・・・
605 :
584 :2005/08/17(水) 23:00:34
>>599-604 つーかここは開発者はいないのか??
424-111-V-appli_function2004_3GC_1.1.0.pdfの2.3章を理解したらそんな発言しないだろ。。
文句つける前によんでくれ。ここからダウンロードできるからさ。
http://developers.vodafone.jp/dp/tool_dl/java/tech.php Vodafoneが出している仕様書にUntrustedでも通信できるって書いてあるんだから、試すまでもないだろ。
実際に実機で動作してるし。
これで通信できないってのならVodafoneが嘘ついていることになる。
開発者でもないヤツ(仕様書が理解できないヤツ)は黙ってくれ。
議論にならないからね
すみません ROMります
「3GC機を持ってないし、試す暇もない」(
>>598 )といってたのに
なぜ後になって「実際に実機で動作してるし」(
>>605 )といえるのか
全く意味がわからん・・・誰か説明してくれ。
オチが見えたような気がする。 昔試した記憶では、UntrustedなVアプリでもHttpConnection作ってResponseを得る事はできる。 しかしその結果は、殆どのクリエイターが期待するものではなく、ゲートウェイが返すエラーレスポンスだ。 getResponseCode()で得られるレスポンスコードは、正確に覚えてはいないが4xxだったか5xxで、20xではなかった。 MobileWebClockerはレスポンスコードを見ないから、返ってくるのがゲートウェイのエラーであってもDateヘッダがあるから動く。 しかし、それは厳密には期待した結果ではないはずだ。ゲートウェイの段階でコケてるから、サーバのログを調べても該当するアクセスは無いだろう。 誰か、実機と暇と自鯖がある奴がいたら、MobileWebClocker を改造して確かめてみてくれ。
なーるほど
611 :
584 :2005/08/17(水) 23:52:38
>>607 579や601がそう言っているではないか
612 :
584 :2005/08/17(水) 23:58:32
>>608 レスポンスコードが200でも40xでも5xxでも、何らかの値が返ってくるのであればHTTP通信はできているってことだろ。
そういうエラーはHTTPサーバ側で返すもの。
4.xxであればApacheのエラー。(DocumentNotFoundなど)
5xxであればCGIプログラムのバグ。
RFC読んでくれよ。
はぁいったいココは。。。
>>608 が正解
HEAD、GET、POSTどれで通信しても
ステータスコード503が返却されます。
503 : Service Unavailable
すなわちサーバーサービス利用不可。
>レスポンスコードが200でも40xでも5xxでも、何らかの値が返ってくるのであればHTTP通信はできているってことだろ。 エラーが返ってくるのも通信のうちというオカルト理論が発表されました!!
技術者と研究者の遊び場はここですか?
616 :
584 :2005/08/18(木) 00:35:44
>>613 それはApacheのアクセスログに200と記録されてても503が返ってくるってこと?
それが本当ならMIDP2.0のgetResponceCode()がバグっているってことになるが。
つまりTrusted Domainでも同様。信じがたい。。
ただHTTP通信はできているのでgetResponceCode()を信じないようアプリを作り直すしかないということになる。
>>614 HTTPエラーコードはHTTP通信が成功しないと返ってこない。
つまりHTTP通信はできている。
IOExceptionやSecurityExceptionのJavaエラーがThrowされるなら通信は失敗だが。
つか素人は黙ってて。
584 ↑ こいつvodafone3gが発売された去年からの経過を全然把握してないから 相手しても無駄
痛い痛杉 08/16にドキュメントをはじめて読んだ人間が何言ってんだか、ハア〜
>>616 apacheにアクセスログは何も吐かれない。
vodaゲートウェイが503(サービス利用不可)を返していると思われる。
理由は分からん。vodafoneに聞いて。
教えてくんないだろうけど。
584は透過型proxyというものを知らないんだろうな。
621 :
584 :2005/08/18(木) 07:42:54
>>617 ,618
経過を把握していないのでじゃぁ教えて。
仕様書には通信できると書いてあるのに503を返してくる理由は?
もちろん当時そこまで解明したんだろ??
>>619 ありがとう、だんだん見えてきたんじゃない?
MobileWebClockerはHTTPサーバまで到達していない。
つまりアプリに表示している時間はゲートウェイサーバの時間であり、プログラムが想定どおりに機能していない可能性が高いということか。
User-AgentではねているかTrusted Domainでも通信できないということになるかも。
こんな重要なことが仕様書に書いていないというのは、3GCの不具合の一種かもね。
>>620 619の言うVodaゲートウェイが透過型なのか、どんな実装をしているのかはVoda内部の人間しかわからんだろ。
622 :
らるる :2005/08/18(木) 08:12:53
>>608 タネ明かしどもです。
通信できなかったら例外出るもんばかりだと思ってたんですが、そうではなかったんですね。
エミュでは問題なく通信できるようです。
192.168.1.101 - - [18/Aug/2005:07:40:47 +0900] "HEAD / HTTP/1.1" 200 0 "-" "UNTRUSTED/1.0"
Untrustedなアプリが通信しようとすると、
Vodafone側のGatewayがErrorResponseを返す。
MobileWebClockerは、ErrorResponseのDateフィールドのみを見て「通信できた」と思いこんでた。
というわけで。
しょうもないアプリのバグ取りに協力していただいてどもです。
MobileWebClockerのエラー処理が甘くて、通信が成功していると勘違いしているのが真相だろ。 暗黙のうちに経由するゲートウェイが吐くエラーが受け取れたからといって、Internetと通信できたとは言えない。 3GCの通信不可の話はもういいよ。 事実を理解できる者にはとっくに結論が出ている。 あと、将来3GCに対応するつもりなら、HEAD methodはやめたほうがいいよ。 端末によっては使えない可能性がある。>rarul氏
VodafoneのGatewayのエラーから正確な時刻が取得できてるなら アプリ的にはOKでは?
??User-Agentではねている??
仕様と実際の動作が食い違うなんてよくあることなのに仕様だけみてできると喚いてるバカだということはよくわかった
>>627 ガリレオ様は一般人には謝罪しないでつよ
要するにvodaはパケットフリーをいいことに 通信しまくらないように鯖で止めてるんじゃないの? AUみたいに端末側で止められないから。
>>584 にとっては反省して謙虚になるか懲りずに同じ事をしでかして真のデムパになるかの試金石だな
631 :
584 :2005/08/18(木) 22:07:03
遅くなってすまそ。 ”事実を理解できない者”が騒いでいるので素直に謝ります。仕様書の内容を信じて通信できると言い張ったことは間違ってました。その点は申し訳なく思ってます。 ただ彼らの発言によりHEADならOKとか間違った方向に結論づけられなくてよかった。多くの真実も明らかになった。 事実を理解できる608さん、らるるさん、(それと629さんもかな?)には感謝してます。 User-Agentが可能性の一つとして考えられることは事実を理解できる人には当然分かっていただけていると思う。 ただUntrusted時のUser-Agentが、902SHと802SHだけ他に比べると変なのは気になるね。 903SHはその仕様がこっそり変わてたりするかも。 というわけでこの話題はクローズでいいかな?
むしろもっと追求すべきじゃね?
よくわかってないんですが,結局trustedになれば通信できるの?
>>631 903shのUser-Agent
Vodafone/1.0/V903SH/SHJ001/SN************** Browser/UP.Browser/7.0.2.1
Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
********は端末番号
903shで試してほしいことがあればやりますよ
635 :
634 :2005/08/18(木) 23:08:12
Vodafone/1.0/V902SH/SHJ001/SN************** Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0 ちなみに902shのもの
自分自身が”事実を理解できない者”なのに「”事実を理解できない者”が騒いでる」と言い出すあたりさすがガリレオ様
>>634 ,635
それは内蔵ブラウザのUser-Agentなんだよね。
アプリが送出するUAは少し違うとVodaの仕様書にか書かれている。
しかしアプリのUAを調べようにもゲートウェイでブロックされるので現時点では調べようが無い。
902Tのときも仕様書がすぐに改定されたので今回も一月以内にVodaから発表があると思うよ。
お気持ちだけアリガト。
638 :
584 :2005/08/18(木) 23:21:31
↑584です。
>>631 で謝ったつもりか?まず日本語から覚えてこいよ
あと目障りだからイラネ
★User-Agentが可能性の一つとして考えられることは事実を理解できる人には当然分かっていただけていると思う★ 歴史に残る珍説
>>631 どこの三国人か知らないがまず日本語を覚えて来い!
何勝手に仕切ってんだボケ!
と、プログラムのプの字も知らない漏れが言ってみるテスト。
謝ってるようにみせかけて実はその場しのぎの言い訳を書き連ねるという最低のパターンだな
これも記録しとけ 「 ただUntrusted時のUser-Agentが、902SHと802SHだけ他に比べると変なのは気になるね。 903SHはその仕様がこっそり変わてたりするかも」 「903SHはその仕様がこっそり変わてたりする」 こいつほとんど勘だけで行き当たりばったりの文章書いてる その知識は携帯機種板の厨房以下 あそこの連中がまだ携帯に詳しいぞ
age
初心者ですが、質問です NokiaDeveloper'sSuite2.2を用いて、アプリを作っていて、 エミュレーターで動作確認をしたMIDletをNokiaPCSuiteで実機にインストールしようとしているのですが、 実機でそのアプリを起動しようとすると「無効なファイル」というエラーが発生してしまいます。 何か特殊な作業とか必要あるのでしょうか
902SH802SH→903SHの仕様の差なんか全然関係ないわけだが アプリからの通信がボダのゲートウエイで勝手に拒否されてるのは ボーダフォン3G発売以来一貫している
647 :
584 :2005/08/19(金) 19:35:04
再三警告しているにもかかわらずオツムのレベルの低い者が”まだ若干”いるようですが、無視して続けさせてもらいます。 ココはプログラム技術板だよ。ホント頼みます
648 :
584 :2005/08/19(金) 19:36:46
■目的 Voda3GゲートウェイサーバがUntrustedアプリの通信をブロックする理由を解明したい。 ■背景 仕様書にはブロックするとの記述がない。(正常に通信できると書いてある) つまり実機もしくは通信経路になんらかの実装上の問題、誤解を恐れずに言うとバグが存在しているのではないか?と想像している。 ■Untusted時のVアプリが送出するUser-Agent ・902SH,802SH UNTRUSTED/1.0 ・902T Vodafone/1.0/V902T/TJ001 Java/VF-Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0 UNTRUSTED/1.0 ・802N Vodafone/1.0/V802N/NJ001 Java/UP.Browser/7.0.2.1.307Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2Ext-V-Profile/VSCL-2.0.0/UNTRUSTED/1.0 ・802SE Vodafone/1.0/V802SE/SEJ001 Java/SEMC-Java/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-V-Profile/VSCL-2.0.0/UNTRUSTED/1.0
649 :
584 :2005/08/19(金) 19:37:33
■仮説 アプリが送出するUser-Agentをゲートウェイサーバが判断してブロックしているのではないか? (1) User-Agentに"UNTRUSTED/1.0"が含まれる場合はブロック (2) UAが"Vodafone/"で始まっていないはブロック ■584の見解 仮説(1)だとすると仕様書にその記述があってもいいと思う。なぜ無いかというと仮説(2)だからではないか? 仮説(2)はVodafone端末ではないとゲートウェイが認識して通信をブロックしていると推測でき納得もできる。 つまり902SHと802SHのUser-Agentの実装がバグっているのかもということ。 さらに言うと902Tや802Nならゲートウェイを通過できるのかもしれない。 シャープがそれに気づいているならば903SHでこっそり直しているかもしれない。
再三警告ってどのレスだよ?(プゲラ
ム板だけど、お前さんのための板じゃないってこと覚えとけ。 初心者お断りですかそうですか。二度と来ねぇよ。
Vodafoneのサービス側の問題であって、プログラム技術とは関係ない、で終了ですねw
>つまり902SHと802SHのUser-Agentの実装がバグっているのかもということ ノキアとかモトローラとかソニーエリクソンとかはいつ舞台に登場しますかね ここまでひどいと荒らしで削除依頼出した方がいいかも知れんな
>>584 さんここはプログラム技術板ですよ、ホント頼みますよ・・・。
>>652 が正解
部外者が討論して解明できる問題じゃない。
参考までに
>>600 で書いたけど902TでもNG。
だから
>>613 、
>>619 にvodaゲートウェイと書いた。
>>無視して続けさせてもらいます
たのむから自分のサイトで。
>>652 が正解
つーか
>>584 と
一時これに加担しようとしていた
>>634 の携帯厨以外は全員わかってるわけだが
バカは論理が破綻してるのに認識する能力がまったくないわけで
OK!!じゃあこう説明しようか
じゃあ10万歩ゆずってUserAgent原因説wwwwを採用しよう、そう仮定しよう
でボダがきめたUserAgentをユーザーがどうしようての?
何も出来ることはないわな
一般のHTTPサーバーでのUserAgent振り分けの話じゃないから何も出来ることはない
相手はボダのゲートウェイですよ
657 :
584 :2005/08/20(土) 00:16:28
>>653 ドキュメントに載っているよ。702は割愛しただけ
>>655 902Tでダメだと判断した検証方法を説明できます?
>>656 User-AgentはVodaが決めてないでしょ。あんなバラバラなのに。
指針くらいは各メーカーに指示したと思うが、シャープの開発者はそれを間違えて実装てしまった。
でシャープの開発者がそのバグを認めて修正してくれる(くれている?)ことを期待している。
SH53のようにいつか902SHも廃れるわけだし。
>シャープの開発者はそれを間違えて実装してしまった 麻原はあまりに言動がおかしいから精神鑑定されるらしいが このスレにも鑑定が必要なやつが一人いる
>>584 は自己紹介板にでも専用スレ立ててオナニーしろやヴォケ
今度はシャープの携帯だけがおかしいということにしようとしてるな
>T902でダメだと判断した検証方法を説明できます? 何を書いても納得しないに10ペソ。 俺の発言にもうレスつけるな。
662 :
584 :2005/08/20(土) 01:23:23
了解。 661=655=600なんだよね。 説明できないというのであれば902Tで通信できないというのは十分検証してないってことね。 ありがと。ども
>User-AgentはVodaが決めてないでしょ。あんなバラバラなのに。 >指針くらいは各メーカーに指示したと思うが、シャープの開発者はそれを間違えて実装てしまった。 シャープが間違えてないことは584が自分で示した資料の中に 書いてあるのにな。面白すぎ。
664 :
デフォルトの名無しさん :2005/08/20(土) 01:50:41
もうここまでくれば荒らしですよ このスレを荒らすのがこいつの真の目的
いやー、さすがガリレオ様
あまりにも
>>584 が無礼極まりないので
長文スマソm(__)m
自分もそうだが、最近Vアプリを作り始めた人も多いと思うので
知らない人のために、参考までに実験結果を報告しておく。
以下の通信プログラムをV902T、V501T、V603SH、V602SH、V601T、V601SHで動作確認。
V902T以外は全て通信成功(200)。受信データも意図したものを得た。
V902Tは通信失敗(503)で受信データは「ただいま混雑しています。(M503900)」。
接続サーバは自宅ApacheでV902Tのみ接続形跡なし。
なぜならログ出力なし、Apacheのサービス落とした状態で実行しても同じ結果。
public void doHttp() {
byte[] buf = null;
HttpConnection http = null;
OutputStream out = null;
InputStream in = null;
ByteArrayOutputStream baos = null;
String resMsg;
in resCode
try {
http = (HttpConnection)Connector.open( "
http://xxxxxxxx " ); // 自宅サーバURL
http.setRequestMethod( HttpConnection.POST ); // GET HEADでも確認
long time = http.getDate() ;
in = http.openInputStream();
resCode = http.getResponseCode();
int contentLength = (int)http.getLength();
buf = new byte[1024];
baos = new ByteArrayOutputStream();
int len = 0;
while ( ( len = in.read( buf ) ) != -1 ) {
baos.write( buf, 0, len );
}
baos.close();
buf = null;
resMsg;= new String( baos.toByteArray() ); baos = null; in.close(); in = null; http.close(); http = null; } catch ( Exception e ) { tb.setString( e.toString() ); } finally { try { if ( out != null ) out.close(); if ( baos != null ) baos.close(); if ( in != null ) in.close(); if ( http != null ) http.close(); } catch ( Exception ex ) {} } // resMsg; と resCode を携帯の画面に表示。 }
>>584 よ
末端開発者が、これ以上どんな検証をしろというんだ?
でも、お前の思考は天然パーマなので納得しないに20ペソ。
電波出すなら、たのむから自分のサイトで。
670 :
584 :2005/08/20(土) 02:17:23
>>663 この仕様書が書かれたのは902SHが発売された後だよ。
2.3.4.1章はあとから実機ベースの事実を書いただけと思われる。
>>670 もし仮にそうだとすれば少なくともシャープの端末がそのようなUser-Agentを渡すことをVodafoneが把握していながらなおも弾いているということになる
>>666 >なぜならログ出力なし、Apacheのサービス落とした状態で実行しても同じ結果。
P6、P5、P4、VGS携帯→vodafoneのゲートウェイ→→ネット上の一般サーバー アプリから通信可
新3G携帯→vodafoneのゲートウェイ ネット上の一般サーバー アプリから通信不可
vodafoneのゲートウェイがアクセスしてくれないからログもなし。
すべて既出です
>>672 既出なのは
>>666 もわかってると思うよ。
なぜかガリレオ様が頑なにそれを認めてくれないんだよ、シャープ開発者の間違いとか言ってるし・・・。
ここにム板の巨人、ガリレオ様が誕生した。
そろそろ釣りデスタとか言い出すころあいね。
676 :
584 :2005/08/20(土) 02:32:57
釣りデスタ!
677 :
584 :2005/08/20(土) 02:35:54
>>666 662の無礼な発言、大変申し訳ない。
まさにこの検証を誰かにやって欲しかったです。
仮説(2)が間違っていたと証明されました。
つまりは仮説(1)か他の要因かということになり、現時点ではこれ以上検証することは何もなくなりました。
検証いただいた方々、ありがとうございます。そして申し訳ありませんでした。
仕様だけに過剰に固執し、自分では検証を一切せず他人の検証結果に頼って 勝手に自分の妄想を喚くだけ喚いてそれで終わりですか・・・ふざけんな
釣りだったということにしておけば自の愚かさが隠蔽できると方向転換(ry
ガリレオ様が偉大すぎる件について
【ガリレオ】CLDC+MIDP+携帯電話用Javaスレッド part 5【誕生】
>>683 おい、びっくりさせるなよ
思わずスレッド検索してしまった
なくてよかった
あいつなら、やりかねないからな
次のスレタイは確定ですよ。そして
>>1 で語り継ぎますよ
J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。 質問でも議論でも何でもこい、と。 でも電波だけは勘弁な。
687 :
584 :2005/08/21(日) 11:25:51
今回の件は既出ではない。 らるるさんも知らなかったし、HEADなら通信できるという者もいた。 「Untrustedだから通信できないのであろう」というのは確かに既出だった。 しかし「Voda3Gゲートウェイがブロックしている」は今回明らかになった。 (一部の人は独自に検証して知っていたかもしれないが公ではなかった) 仕様書には通信できると書かれている。 902SHのUAは何かおかしい。これも事実だ。 今回のやりとりはこのスレにとっても非常に有益だったと考える。
584=負け犬の遠吠え<キャンキャン
>>687 > しかし「Voda3Gゲートウェイがブロックしている」は今回明らかになった。
ハァ???
>>584 が過去レス検索の仕方さえ知っていれば起きなかった無駄なやりとり
691 :
デフォルトの名無しさん :2005/08/22(月) 15:25:23
>>691 >>584 が低脳かどうかはともかく、向こうのスレの空気を読めてないよ。
自分で書いて自分で報告するのも、かなり低脳度が高くすばらしい。
>>692 心配しなくても空気考えるほどのスレじゃないので、向こうのスレもね
気にしないで使ってください
byte[] col=bb[0];(bbは2次配列) ってやるとC言語のポインタみたいになって、colをいじるとbbまで変わってしまいます。どうすればbbは影響を受けなくなりますか?
確実にスレ違い。arraycopyかな?
できました!ありがとうございました&スイマセンでした。
たぶん、そんなところだろ
692はオレじゃない。 その手の内容は自分からは書き込まないって。(もっとも同じ事思ってるけど) なにか進展があれば今後もコテハンで書き込むよ。 何回か詐称されたので念のためトリップ付けとく。
>>699 あなたが本物の584だということを証明しないと
トリップ付けても何の意味も無いですよ
>>700 つまり584にもう一暴れしろ、と言いたいのかね?
もう暴れるネタがありませんよ
>>584 の知識ではムリポ
>>699 ==
>>584 手前の中でなにか進展があっても、こっちじゃ既出。手前の過去の書き込み読んで、頭冷やして消えろ。
質問スレのリソースの無駄なので、とっとと、System.gc()で消えな。
参照が残ってるので、GCにはどうしようもありません。
なるほど。つまり、粘着がどうたらということを引っかけてるのか。
オレからしたらそれなりに理屈の通った発言をしてる584より、アンチ584発言の方がよっぽど遠吠えに聞こえるが(w とか言ってみるテスツ
>それなりに理屈の通った発言をしてる584 これは笑うところですか?
おまいら、もうどうでもいい584にからむほどネタがなくて困ってるのですね。。 そんなおまいらに聞きたい、MIDP2.0を学ぶのにいい入門サイトない? 「ここが変わった」とか「新しい機能を実際に使ってみよう」のような感じのサイトがあると、 とっかかりやすくてうれしい。
>>709 何も分かってないガキの落書きだから放置推奨
714 :
デフォルトの名無しさん :2005/08/26(金) 02:48:36
すみません質問です。 アプリで固定小数点数を使った計算処理を行いたいのですが、sinまたはcosを自前で高速に計算するにはどうすればよいのでしょうか? あらかじめサインテーブルを持っておくのでも良いのですが、既に容量がギリギリになりそうなので出来れば起動時に計算で求めたいのです。 また、計算処理部分は3キャリア共通で使いたいのでsin/cos関数は使わないようにしたいです。 ネットで検索して「40バイトサインジェネレーター」というものは発見したのですが、 アセンブラで書かれておりJavaには移植できそうにありません。 良い方法をご存知の方、いらっしゃいましたらご教授願います。m(_ _)m
40バイトサインジェネレータ でぐぐると >これを使わずに32bit整数(16:16固定小数点)でsinをマクローリン展開させたのよりは遥かに精度が高いです って出てきた
容量ってのがJarサイズのことなら、テーブルをリソースに逃がしてやればいいかもね。 ソース内に書くより断然減る
おいら714じゃないけど, 昔sinテーブル作ってたけど,最近授業でテイラー展開やったの思い出して作ってみた. //x=角度(-1〜1を-10000〜10000で入力),n=近似度 public static int sin(int x,int n){ int ans=0; int i,j; for(i=0;i<n;i++){ int flag=1; if(i%2==1)flag=-1; int ko=1; int bo=1;//分子分母の初期値 for(j=0;j<2*i+1;j++){ ko*=x; bo*=j+1; if(j>0)ko/=10000; } ans+=flag*ko/bo; } return ans; } 精度まで検証してないけどある程度使えそう.約500バイトになった.
719 :
718 :2005/08/26(金) 13:34:27
間違えた.xは-1.7〜1.7(17000〜17000)だ. 結果が10000倍で帰ってくるので適当に.
720 :
718 :2005/08/26(金) 13:36:45
またミスった・・. 正確には3.14/2だから-1.57〜1.57(-15700〜15700)か.
固定小数は、小数部12bitでつくるといいよ。 あと2π=4096で。 ドコモやBREWに移植するときに楽だよ。
722 :
デフォルトの名無しさん :2005/08/27(土) 22:45:59
英語ページだけどIAppli用の固定小数点ライブラリみつけた。
ttp://people.csail.mit.edu/hqm/imode/fplib/FP.java.html ただ、このソースでsin/cosの計算に使われてる定数の意味がわからん。
PI=205887 は 3.141592<<24 な値だと言うのはわかるんだけど、
SK1やSK2の算出方法が不明。
なんでこんな値が使われてるかわかる奴いる?
public static final int PI = 205887;
public static final int PI_OVER_2 = PI/2;
public static final int E = 178145;
public static final int HALF = 2<<15;
static final int SK1 = 498;
static final int SK2 = 10882;
static final int CK1 = 2328;
static final int CK2 = 32551;
>>722 普通に考えるとテイラー展開で
SK1 = 1/5! << 16
SK2 = 1/3! << 16
なんだが、微妙に値が違うな。
725 :
デフォルトの名無しさん :2005/09/02(金) 15:48:15
記念age
Vアプリ開発初心者です 長い質問文でスマソです Vアプリを実行中に電源ボタンを押すと 再開/停止/一時停止のダイアログが表示されずに 数秒間固まり、その後エラー終了してしまいます 電源ボタンではなく携帯を閉じても同じです startApp()には以下のように記述してあります void startApp() { if(canv==null){ canv = new xxxxCanvas(); Display.getDisplay(this).setCurrent(canv); : mainProc(); // メインループ処理 : destroyApp(false); notifyDestroyed(); } } pauseApp()とdestroyApp()の中身はカラッポにしてあります あとV501Tでのことですが アプリ実行中にクリアボタンを押すと停止してしまいます getGameActionに0を渡すとエラーが出るというのをネットで 知ったのでコールしないようにしたのですが それでも発生するので、何か他に気をつけることはありますか。
727 :
デフォルトの名無しさん :2005/09/02(金) 20:03:16
Javaアプリの容量制限の状況は それぞれのキャリアでどれくらいのサイズまでひきあげられているでしょうか? vodafoneがメガアプリに対応で1MBまで対応できたことは知ったのですが。 最近ではもっと大容量化されたキャリア、機種が存在するのでしょうか?
>>726 destroyApp(false);を削除
destroyApp()はアプリから呼び出すメソッドじゃない
アプリが終了するときにシステム側からコールされるメソッドだ
730 :
726 :2005/09/02(金) 21:02:05
>>729 レスありがとうです
destoryApp(false)はいらなかったんですねー
今気づいたのですが
アプリのメイン処理がwhile(true)ループなんですけど
もしやスレッド化しておかないと電源ボタンで正常に終了できない
ってことなのでしょうか?
ソフトキー1を押したときだけループ抜け→notifyDestroyed()コール
というコード書いてます。
ループ処理をスレッド化していないことと
V501Tでクリアキーを押すと固まる不具合って
何か関係あったりしますか?
ネットで更に調査していたら、どうもクリアキーの不具合って
AUでのことだったんですね。
Vodafoneには関係なかったのかな。
731 :
デフォルトの名無しさん :2005/09/02(金) 23:02:52
>>725 startApp()でループなんかしちゃだめです。
Display.getDisplay(this).setCurrent(canv);
とあと少しの処理にして。
すぐにstartApp()を終わらせるべし。
733 :
デフォルトの名無しさん :2005/09/03(土) 00:54:42
>>732 Vアプリ開発ガイドとVアプリ開発ガイドTips編を読んでください。
734 :
デフォルトの名無しさん :2005/09/03(土) 01:21:06
startApp以外にもCanvas.paintやcommandActionなどに、時間のかかる処理はおかないほうがいいです。 理由はシステム側に頻繁に呼び出される可能性があるから。 再帰コールによるオーバヘッドでアプリが落ちるかもしれません。 時間のかかるループ処理なんかしたい場合には、別にスレッドを作ってそちらでループするようにしてください。
>>734 >理由はシステム側に頻繁に呼び出される可能性があるから。
>再帰コールによるオーバヘッドでアプリが落ちるかもしれません。
そういう理由なら
>>726 のソースは問題ないのでは?
何度startApp()がコールされようと2度目以降は素通りでメソッドを抜ける。
ついでに言えばstartApp()は頻繁に呼び出されない。起動時とリジューム時だけ。
Vアプリ開発ガイドTips編にはstartApp()内でCanvasのインスタンスを生成するな等
書かれているが、それは複数回のstartApp()コールがあるとそのたびにインスタンスが
作られてしまうことを注意しているのであるから、
>>726 のように対策してあれば
問題ないと考えるが、どうか。
736 :
726 :2005/09/03(土) 08:50:17
>>726 のコードですが
mainProc()の中でwhile(true)ループしています(ソフトキー押したら抜けるような設計)
現状は電源ボタンを押すと5秒ほど固まってから異常終了します。
今手元に携帯がないので試せないのですが
mainProc()をスレッド化していないために
1)電源ボタンを押す
2)終了イベント発生
3)startApp()はwhileループ中のため終了できない
4)5秒経過
5)異常終了
となってしまっているような気がします。
これは当ってますか?
確かにエミュレータで電源ボタン押しても終了イベントは発生してるようですが
アプリが終了しないですね。。。
737 :
735 :2005/09/03(土) 13:12:20
簡単なコードで実験してみた。
・スレッド化せず、startApp()からmainProc()呼び出し(その中ではwhile(true)ループ)
の場合では電源キーを押してもエミュレータは終了しなかった(終了イベント発生は認識されている)。
・スレッド化した場合は、電源キーを押してエミュレータを終了することができた。
>>736 の(1)〜(5)のようなことで合ってるのではないかと思う。
従って
>>731 >>734 のような作り方が適切ということになる。
ちなみに実験ではコンストラクタにスレッドの生成と実行開始を記述した。
スレッドの終了時にnotifyDestroyed()を呼ぶようにした。
× ちなみに実験ではコンストラクタに ○ ちなみに実験ではcanvのコンストラクタに
739 :
デフォルトの名無しさん :2005/09/06(火) 16:16:21
ちょっと質問してもいいでしょうか? Vアプリで壁紙や着信音、着信画面なんかを変更する方法はありますか? iアプリでは、PhoneSystemクラスのsetImageThemeメソッドで出来るみたいなんですが。 ご存知のかた教えてください。
Resident MIDlet(待ちうけアプリ)にして、音声着信だのメール着信のイベントが発生したら、 SMAFフレーズやPCM音源を鳴らしてやればいいだけだと思うが。
3G携帯全般的にバグが多い気がするのですが、 それらのバグ情報をまとめたサイトってありませんか?
742 :
739 :2005/09/07(水) 10:50:53
> Resident MIDlet(待ちうけアプリ)にして、音声着信だのメール着信のイベントが発生したら、 > SMAFフレーズやPCM音源を鳴らしてやればいいだけだと思うが。 やっぱりそれしかないですかねぇ。 あんまり待ち受けアプリにはしたくない事情があったものですから。 もうちょっと調べてみます。
各端末のフォントサイズがまとまってる資料ってありませんか? んぱかにあるかなと期待していたのですが、無かったもので。
>743 Vodafone なら端末情報のPDFに書いてる。
資料だけは良いんだよな。
死霊はそろってるよなぼだは だがしにかけなんだよな
まぁ基本的なことが書かれてるだけだろうがMIDP自体本が少ないから手元においておてもいいかも 安いし
最近Vアプリ開発始めまして分からない所があったので自分なりに調べたのですが 見つからなかったので質問させて頂きます。 当方、JavaScriptからVアプリへの移植を行っていて floor/ceil/roundなどの数学関数が無いようなのですが、 同じ働きをする関数があれば教えていただきたいです。 文章が分かりにくいかもしれませんがよろしくお願いします
>>750 俺は作ったことないんだがそもそも小数が扱えなかった気がするんだが違ったっけ?
違ったらスマソ
>>750 floorは小数点切捨てだから結果を直でintに入れれば切捨てられる多分
ceilは小数点繰り上げなのでa%b!=0とでもしてtrueなら式の答えに+1
roundは
private int round(int a,int b){
if ((a % b != 0) && (a % b >= b / 2)) return (a / b) + 1;
else return (a / b) + 0;
}
とでもすればいけるがceil、roundともにa/bのような場合にしか使えない
複雑な式、例えば(a(100-b*c)/100*(100-(d+e)*50)/100)←思いつきなので乱雑で申し訳ない
とかなってくると、
round((a(100-b*c)/100*(100-(d+e)*50)/100))*10000,10000)
と実行してやればある程度の精度でいけるかもしれない
文章乱雑で申し訳ないが、誰か間違いあれば指摘ヨロ
>>751 JSCLなら固定小数点ライブラリがあった気がするが使い方ワカンネのでパス
>>750 Vアプリ(EZアプリ、iアプリも)は浮動小数が扱えない。整数型のみ。
ただしVアプリの拡張APIの形で固定小数が扱える(EZアプリ、iアプリも)。
元のソースの浮動小数を全て整数または固定小数で扱うようにし、
それらだけで計算が完結するように修正していく。
必要に応じて
>>752 のように代替の関数を作る。
その自作関数も、あくまで整数または浮動小数しか扱わずに作る。
× 整数または浮動小数しか ○ 整数または固定小数しか ▲ 整数またはauシカ
◎ 整数または浮動小数天使か
Doja4.0あたりはfloat使えたきがする
CDCだったっけ。
ドコモはDoJa4.0でCLDC-1.1対応になったからfloatとdoubleが使えるようになった。 …ってDoJaの話はスレ違いだがCLDCの話ならココでいいよな。
>>752 負数のfloorでもint代入でOKかな?
760 :
752 :2005/09/22(木) 00:18:44
たしかCLDC1.1でfloatとdoubleが実装されたんだっけ。
単純にcosとかするだけならMathFP使えばいいが、roundはあるみたいだけどfloorとceilは無いね
MathFPと組み合わせて(じゃなくてもいいけど)floorとceilの処理出来そうだけど俺には無理
floorとceilは俺もたまに使いたくなるんで誰かソース書いてくれたりしないかな…
>>752 の今見て思ったんだけど、
round((a(100-b*c)/100*(100-(d+e)*50)/100))*10000,10000)
*10000する前に少数切捨てされてるような気がするんだけど、どうなんだろ
掛ける前に切捨てされてるとround(String s)とでもして文字列の式を引数として
そいつをパースで分解して1つずつ*10000するとか工夫が必要な予感が。
でも変数がグローバルで無いと使いものにならんな…
761 :
デフォルトの名無しさん :2005/09/23(金) 02:51:50
会社でeclipseを使った携帯アプリ開発を検討しています。 Docomo/Vodafone/auの3キャリアをeclipseで開発しようと思うのですが 実際の商用開発でeclipseはどの程度使えるのでしょうか? また、バージョンは3.1系でも大丈夫なのでしょうか? MIDPの開発に詳しい方いらしたら宜しくお願いします。 (Dojaスレでも同じような質問をしたところ、Dojaについては何とか大丈夫だろうという印象を受けました。)
>>761 どの程度使える、とは? eclipse自体は単なるJava向け統合環境。
1つのツール内でエディタ、ビルド、エミュ起動、デバッグができますよってだけ。
「使える」かどうかは、「使い手次第でどうにでも」としか…
eclipseがなくても「使い慣れたエディタ+キャリア提供の開発キット」でアプリは作れる。
その上でeclipseを導入する目的は何か? それによって答えは変わると思う。
>会社で"eclipseを使った携帯アプリ開発"を検討しています
単なる便利ツールにしか過ぎないものを”指定”してMIDPを作ろうと
している馬鹿な会社があると聞いてこのスレを訪ねてみますた。記念真紀子
>>761 ∧_∧ ミ ギャーッハッハッハッ!
o/⌒(. ;´∀`)つ
と_)__つノ ☆ バンバン
>762 普通に企業ユースを考えると eclipseを導入する目的は何か? =開発効率向上だが 使いやすさ(支援機能がどのくらいあるとか)とか安定度とか・・・ #評価軸には使い手のスキルは含んじゃいけないね。 #ましてや使用するツールを開発グループ内で統一するのは当然のこと。
↑だけでは不親切なのでちょっとだけ追記 3.1系でも日常的にJavaを書く分には実用に耐えると思うけど Vodafone/auの固有の拡張のとこはどう対応なのか俺はしらね
Eclipse で DoJa も M1000 も Vodafone も au Java もかいてる 愚か者が来ましたよ? DoJa 以外は自分でプロジェクトにライブラリを指定すれば お節介機能は動いてくれる。 エミュレータは自力で呼んでるへたれだがな〜。
たかが携帯アプリで大げさな なにかの大規模なソフトウェア開発と間違ってんじゃないの
とか言いながら使いこなせもしない↑が来ましたよ
i^ V⌒ V ^i i ` ´ / >--‐‐-< 俺のゲーム作らないか? /(・X ・) ヽ、 ( ̄ ̄ ̄ ̄` i (二二二二_,) i i i i _ ノ i i / i i ヽ__ノ i (C)エイベ糞/わた
興味ない
>>762 確かに「どの程度使えるか」では質問が曖昧すぎました。すみません。
自分が一番気になっているところは、
・フリーズやアプリが動かないなど、開発が止まってしまうような不具合は頻発するか
・携帯ライブラリでもコード補完やヘルプのホバー表示は効くのか
の2点です。
>>763-765 エクリプスが所詮は便利ツールに過ぎないのは解ってます。
なれた奴なら得意な環境でやるほうが効率がいいのも実感として理解してるつもりです。
しかし、現実としては
>>764 の言うように部署内でツールを統一する事で
Javadocによるドキュメント化や、CVS(SVN)によるバージョン管理を行う事で
バックアップの促進と類似タイトル作成時のソース再利用といったメリットが考えられます。
また、同じツールを使うことで新人への指導や仕事の引継ぎをスムーズにする狙いもあります。
>>767 確かに大げさかもしれないですが、そろそろゲームも開発効率化に真剣に取り組むべきだと思っています。
これまで、あまりにも糞な開発現場を見てきたので、いい加減「偏った経験」「自分主義」「センスという名の言い訳」に頼った開発は卒業したいんです・・・
>>771 普通のソフト(MS-WORD,EXCEL,VSとか)ぐらいには安定してると思えるよ。
ライブラリの補完とかについては、ちゃんと設定をやれば使えます。
開発効率化への一手は人間のマネージメントだね。
煽っているわけじゃないが、 チームプレイでの携帯電話ゲームの開発は、 仮にツールやドキュメントの共有化ができても一番効率が悪い希ガス。 Eclipseの導入に関しては否定しないし、それはただ単なる開発ツールの好みの問題だと思う。 GBA以上のプロジェクトならこの手の統合開発環境の導入も有用だろうし、 携帯でもノキア(N-Gage)のようなシンビアソOS,C++なら考えられなくもないが、 現在の日本携帯のJava+MIDP+容量制約キツイという状況では、 アプリごとに曲芸的技法を使わなければいけない状態がしばしば発生するので難しいんじゃないかなぁ。 以前Vodaの50,100,256KをEclipseでワンソース統合で開発していた奴が、 サービスインの直前にバグ大生産、デスマーチ、逃亡という苦い経験があるので、 私のトラウマであることを祈る。
それはeclipse使って無くても起こってただろな eclipseによるバグではないようなので。 結論として4行目だな。 後、文章は全然煽りになってないぞ。
777get
ま、駄目な職場じゃなにを導入しても駄目って当たり前の話を 垂れ流しているだけだな。
大規模開発だぜとか言わないとな
俺の開発は小宇宙だヽ('A`)ノ
当たり前の話なんだけどね。 その当たり前ができてないところがどれだけ多いか、、、 とここまで行くと板違いだな。
>>782 VFX 1.0を使っているとダメ。JSCL-1.2.2(P6型)互換モードを使いませう。
そうすれば、いつもの通り、SMAF-Phrase 4音x4系統が使える。
詳しくは、そのページのもう少し下にある
Vアプリ開発ガイド[新機能導入の手引き2004〜3GC型端末編〜] 1.1.0 2005-04-01
を参考にして味噌。
Vodafoneの実機で、メモリー使いすぎで落ちる際 どんなにtry/catch囲んでいてもキャッチできないっぽいのですが(強制終了ダイアログの後アプリが自動的に終了してしまう) そういうものなのでしょうか? なんのためにOutOfMemoryError.classがあるのやらー!とか憤っているのですが
すいません。ErrorじゃなくてExceptionでとろうとしてました。orz
786 :
782 :2005/09/27(火) 16:35:02
>>783 なるほど。
例えば802SEなんかはJSCL-1.2.2を利用できないみたいですけど、
今回の対応端末はすべてJSCL-1.2.2が利用できるので
何も問題なさそうです。
ありがとう。
788 :
デフォルトの名無しさん :2005/09/27(火) 21:44:53 ID:0
VodafoneのP6エミュレーターでメール送信すると
method was denied.ってエラーが出るんだけど
何がいけないの?
md = DataElementFactory.createMailData();
md.setString(MailData.TO_ADDRESS_INFO,0,"
[email protected] ");
md.setString(MailData.SUBJECT_INFO,0,subject);
md.setString(MailData.BODY_INFO,0,text);
//md.setInt(MailData.MAIL_TYPE_INFO,0, MailData.MAIL_TYPE_SUPER);
agent = MailAgent.getInstance();
agent.setMailTransportListener(this);
agent.send(md); ←ここでエラーに・・・。
あと、コメントにしてあるmd.setIntでMailData.MAIL_TYPE_SUPERが
Integerじゃないっていってくるんだけど、vodafoneの資料なんか変だ。
789 :
デフォルトの名無しさん :2005/09/27(火) 22:24:47 ID:0
M1000で開発してるのですが、 ラベル(StringItem)の文字列を小さくしようとしたら消えてしまいます。 (----のような文字列だけは小さくなる) stringItem.setFont(new Font(0,0,4)); のような形では駄目なのでしょうか? 試しにstringItem.getFontで取ってきたfontをセットしても 消えました。 どこが間違っているのかわかりません。 ラベルなどは文字列の大きさを変えること自体が無理なのでしょうか?
たしか決まった数値しかダメだったはず。 ところでiMonaって通信中に描画もしてると思うんですがどうやってるかわかる人いますか?
791 :
デフォルトの名無しさん :2005/09/27(火) 23:36:14
>>788 jadにMIDlet-Application-Security: Y付けたら動きました。
でもmailSentイベントが走らん。
793 :
790 :2005/09/28(水) 06:53:27
>>792 ありがとうございます。わかった気がします
794 :
デフォルトの名無しさん :2005/09/29(木) 11:09:20
M1000はフォントが変わらないということはないですか? 小さな文字を見たことがないのですが。
PHSのWX310SAでJAVAが使えるという事なんですが、少し質問させて下さい。 1)スタンドアロンのアプリは開発できますか?昔のサンドボックス式なんでしょうか? 2)開発環境は全部フリーで構築可能でしょうか? 3)搭載されるMIDP自体のバージョンは、romで固定でしょうか? ファーム・ウェアアップデートでバージョンアップされていくものでしょうか? WX310SAのローカルなリソースにアクセスできるなら面白そうなんですが。。。
今のとこ、javax#microedition#io#fileで実機内のファイル覗けるのって 702NKだけですかね
>>795 会社でやるならWILLCOMに聞くのが一番だと思うぞ。
799 :
795 :2005/09/30(金) 10:18:18
>796、>797、>798 ありがとうございました。用途は個人です。 TRPGで使っているノートやPDAをPHSに置き換えられれば、と思っていたのですが。 フルブラウザとかJAVASとかうたっているようですが 結局、WilcomもiModeとかNTT流の貧乏くさいビジネスモデルの二番煎じみたいですね。。。
×:javas ○:java
801 :
デフォルトの名無しさん :2005/09/30(金) 16:42:36
>>799 まぁ、所詮は携帯だからな。
貧乏くさいビジネスモデルってのが何を指してるかは知らんけど。
>>795 まあ大雑把に言うと「サンヨーが何も表明していないから、なんとも答えられない」。
メーカーが技術資料とか出してるわけじゃないので、今質問しても正しい答えは
碌に返って来ないよ。
ウィルコムがあまり統制せずにメーカーに好きにやらせるっつってんだから、
ドコモ流の囲い込み&締め付け統制とは明らかに違うとは思うけど。
(その分、無責任とも言える)
まぁ携帯でもう新しいあいであなんてな
携帯を伝書鳩にくくりつけて互いに通信しあうMMORPGなんか新しいんじゃないか?
まあ使い古されたネタだよな。
最近、Vアプリ開発を始めたばかりの初心者です。 ご質問があります。 VアプリとPCとの間で通信を行おうとしています。 ソケット通信は可能でしょうか?
>>807 httpのみです。
ゲートウェイの工夫次第。
auのPhase2.5の機種で、通信で取得した音が再生できない現象に陥っています。 どなたか解決策等ご存知でしょうか? private MediaResource readMel(InputStream in, int size){ byte buf[] = new byte[size]; MediaResource mes = null; try{ in.read(buf); mes = new MediaResource( buf ,"devm39z"); // 以下略 ほぼ同等のソースにて、DocomoとVordafoneは音が再生できています。 エラーも出ず、ただ音が鳴るべき場所でならないのですが、 どうしたものかと・・・ 尚、リソースからであれば再生できるのですが、 諸事情によりリソースに入れることは出来ません。 よろしくお願いします。
リソース(resフォルダ)で試したというが,それもInputStreamで読んでbufにして,なの? それならbufを比較すれば通信時にデータが変わってるかどうかとか確認すれば・・ つか,例外chatchしてねーの?
811 :
809 :2005/10/06(木) 14:27:21
>>810 >リソース(resフォルダ)で試したというが,それもInputStreamで読んでbufにして,なの?
>mes = new MediaResource( buf ,"devm39z");
この行を
>mes = new MediaResource( "resource:///xxx.mmf");
と変更したのみです。
bufの中身に関しては取得したファイルと完全に一致しています。
catchに関しては略していますが、例外は出ていないので関係ないかと。
リソースの場合も同じようにInputStreamで読み込んでみればってことでしょうに
813 :
807 :2005/10/06(木) 16:20:27
814 :
809 :2005/10/06(木) 16:42:35
InputStreamだと鳴りませんね・・・ えーと、つまり別の方法をチョイスしたほうがよさげってコトですかね。 ひとまずレコードストアへ保存して、そこから読み込みを試してみます。 他に良い案があればご教授よろしくです。
すみません、質問させてください。 Vodaのエミュレーター(1.2.2)+Eclipse2.1.3環境でデバッグが出来ないです・・・ 説明のPDF読んで設定し、エミュレーターの起動オプションに以下のように書いてみたものの 「server=8000 なんて設定できない」とのメッセージが出てしまいます。 マニュアルを見るとserverのオプションは y か n のどちらかしか受け付けないようなので、 しかたなくserver=nにして起動。すると、エミュレータが数秒間だけ起動するもアプリを実行せずに終了してしまい、まったく動かす事が出来ません。 これはマニュアルの設定が間違ってるのでしょうか?それとも他の要因? vodafoneのEclipseプラグインでデバッグ出来てる人いらっしゃったら教えてください。 オプション毎の結果(serverの設定のみ変更) 起動せず:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=8000,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad 起動せず:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=y,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad すぐ終了:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=n,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad
>>809 ストリームかbuf作るところに問題あるんじゃない?
さっき確認のため自分でリソースからbuf,MediaResouece作って再生できたよ。
ちなみに自分のやり方はこう
InputStream is=getClass().getResourceAsStream("/test.mmf");
ByteArrayOutputStream os=new ByteArrayOutputStream();
int data;
while ((data = is.read()) != -1) os.write(data);
byte[] buf = os.toByteArray();
念のため単に機種依存でないかとかも確認したほうがいいかも。
>>816 ありがとうございます。おかげで問題の切り分けが出来ました。
816同等のソースを作成して試してみたところ、リソースからはOKでした。
で、HttpConnectionから取得した方だとまだ再生できていません。
ファイルそのものか、InputStreamの構築に問題があるって事になりそうです。
サーバには、リソースと同じファイルを置いています。
それと通信部分のソース晒します。
HttpConnection conn = null;
try{
String url = "
http://xxx.co.jp/test.mmf ";
conn = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);
conn.setRequestMethod(HttpConnection.GET);
int con = conn.getResponseCode();
if( (con >= 200) && (con < 300)){
InputStream in = conn.openInputStream();
// 中略
MediaResource mel = readMel(in); //809のソース
こんな感じなのですが、問題ありそうな箇所はありますか?
よろしくお願いします。
名前付け忘れました(´д`) とりあえずHttpConnectionから取得したバッファと リソースから読み込んだバッファのダンプ出して比較してみます。
820 :
809 :2005/10/07(金) 12:06:26
実機でダンプを出してみて、やっと原因はわかりました。 上手くまとめられる自信が無いので箇条書き。 ・テストに使用しているmmfファイルは1891バイト ・エミュでダンプを出すと、通信で取得したもの、リソースで取得したものとも 1891バイトの全く同じファイルが取得できる。 ・実機でダンプを出すと、リソースから取得したものは1891バイト、 しかし通信で取得すると1645バイト。 ・ファイルを比較すると、mmfファイルのヘッダまでは同じで、中身が異なる。 先頭や末尾の数バイトが削れているわけではないらしい。 ・サーバに1645バイトのファイルは存在しない。 ・URLも間違っていない 一体通信で何を取得しているのかサッパリなんですが・・・ どなたか心当たりのある方お助けください_| ̄|○
821 :
809 :2005/10/07(金) 12:07:30
>>819 申し訳ないです。
エミュでしか確認とっていませんでした。
詳細は820に・・・
>>809 とりあえず通信周りで原因になりそうな部分は
・無料サーバ系の自動広告挿入(ファイルのヘッダが同じならこれが原因ではないはず)
・エミュでのアクセス時,Connection.getLength()が変な値(-1とか)を返す場合がある
(これもある程度のサイズが取れてる事から違うと思う)
・サーバでの文字エンコード(一番ありそうかな?)
ということで,サーバにhtaccessとかで,mmfをapplication/octetstreamとかにして
自動エンコードを避ければ解決するかな?とか言ってみる。
漏れもサーバーのMIME設定が原因に100ガバス
アプリ★ゲットでメガアプリ登録できるようになったんだけど、 「※署名有り 3CGVアプリ配信は行えませんのでご注意ください。」 だとさ。通信するVアプリはだめぽ。
>>824 |:::|::|__ 、-'''"´ ̄ ̄`"''''-、 __|_::::||
__|::::|::|_|_ / / \ \|::::||;;;||.. ___ .___
m|::|::|::::|_/ ● ,,. .,, ● ヽ:||::::::_|__|_ | |iiii
::::||::::|;;;;;|. (__人__) |目;;‖|≡| ̄|iiii
::::||::::|旦''-、、,,,,,,______,,,,,,、、-'' 超巨大ショボーン
>>824 についてなんですが、
今回配布できるようになったのは、
「VFXな1MBまでのアプリをUntrustedな状態で」
という理解でよろしいんでしょうか。。
メガアプリ = VFX
としていいのかがよくわからんのです。
827 :
824 :2005/10/08(土) 23:07:15
>>826 >
>>824 についてなんですが、
> 今回配布できるようになったのは、
> 「VFXな1MBまでのアプリをUntrustedな状態で」
> という理解でよろしいんでしょうか。。
いいと思います。
> メガアプリ = VFX
> としていいのかがよくわからんのです。
VFXはプラットフォームの名前なので、(私は)正確には違うと思います。
現実には、
VFX対応機種=メガアプリが動く端末
なので、どうでもいい事かも。
Vodafoneとしての「メガアプリ」の定義があるはずですが、何をもって
「メガアプリ」と呼ぶかの説明は、公には見た事はありません。
定義が無いならば、自分がそう思うものを勝手に「メガアプリ」と呼べばいいでしょう。
828 :
826 :2005/10/09(日) 00:26:20
>>827 どもです。
> 何をもって「メガアプリ」と呼ぶかの説明は、公には見た事はありません。
Vodafoneのページを見てても、メガアプリが何であるか書かれてなくて、
PDF見ても「メガアプリ」の用語が全然なくての >826 の質問でした。
アプリゲットのページでも、今度は「VFX」と一言も書かれてないのが気になって。
Voda的にはJSCL、VSCLの差はどーでもよく、 アプリサイズが256KB以上なら「メガアプリ」を名乗れるとか聞いた。
・アプリレジ には対応しておりません ・署名有り 3CGVアプリ配信は行えません。 この2つは、アプリゲットじゃどうにもならんのかな。 こっちをなんとかしてもらいたい。
832 :
デフォルトの名無しさん :2005/10/10(月) 22:19:56
>>815 自分はできている。server=8000だし。
自分も同じような状況で悩んだような。。かなり以前だったので
忘れちゃいまして。
どっかの設定を忘れているんだと思いますよ。
833 :
デフォルトの名無しさん :2005/10/10(月) 23:24:28
>>815 エミュレータを起動しないでデバッグしようとしていない?
>>829 正解。アプリ容量だけ。(VFX下の)JSCL-1.2.2を使っても問題なし。ただし、MIDP-2.0にはなるが。
>>831 公式CPはVアプリをVodafoneが用意した特別なサーバーに転送するので、基本的にはその時点で認証済となる。
アプリゲットにはそういう仕組みが無いので無理かと。
>>832-833 すみません、出来ました。こちらの環境ミスでした。
何を思ったかプラグインと違うところからSDK持ってきてました・・・SDK2.2って3GCのじゃなくてP6用なのね
ところで、もう一つ質問なのですが、デバッグ時にエミュを起動してからリモートデバッグするのですが
アプリの初期化部分でブレークしたい場合、どうすればよいのでしょうか?
エミュレーターのオプションでsuspend=yにして実行してみたものの、アプリが起動してくれません。
>>835 pluginのマニュアルにはっきり「できません」と書いてあるよ
837 :
デフォルトの名無しさん :2005/10/12(水) 14:31:46
Vアプリの開発にあたって、調べているのですがなかなか出てこないので 質問させてください。 Vアプリで端末固有ID(auでいうところのサブスクライバIDのような もの)みたいなのって、取れるんですか?
>>837 電話番号に一義的に対応するuid(ユーザーID)のことであれば、vodafoneでは取れない。
uidは有料サイトの課金情報に使うため公式CP以外は取れないはず。
ちなみに端末シリアル番号(P5型以降)はユーザーエージェント、
端末種別はms-profileに乗っかってくる。
839 :
837 :2005/10/12(水) 16:56:38
>>838 ありがとうございます。端末シリアル番号でOKです。
送る、送らないをアプリで制御するんでしょうか?
840 :
838 :2005/10/12(水) 18:15:59
>>839 シリアル番号を送るか送らないかは、携帯端末の[ユーザーID通知]というメニューから各自が独自に設定する。
アプリ側からは操作できない。
V603SHの場合は、F82「ウェブ]->[ウェブ設定]->[セキュリティ設定]-(暗証番号入力)->[ユーザーID通知]
従って、
(1)web側でユーザーエージェントをチェックし、シリアル番号が含まれてなかったら、その旨をアプリ側に通知する。
(2)アプリ側で「一旦アプリを終了し、端末のウェブ設定メニューよりユーザーIDの通知を行ってください]...というようなメッセージを表示させる。
(3)ユーザー側がアプリを一時終了し、設定を変更して、再度アプリを立ち上げなおす。
...という手順が良いと思われ。
841 :
837=839 :2005/10/12(水) 18:58:05
>>838 =840
よくわかりました、ありがとうございました!
842 :
デフォルトの名無しさん :2005/10/12(水) 20:47:04
auのjavaアプリをつくりたいのですが、なにをしたらいいかまったくわかりません。 普通のjavaの勉強をどれくらい(どのへんまで)やれば携帯ゲームが作れるようになりますか?
ビルドとかはできるんですが、ソースが書けないんです。 ですから海外のを変換したりしてます。
>>845 よーしパパ、特別にゲームプログラムの書き方を教えちゃうぞ〜
1.JavaのAPIリファレンスと文法に関するドキュメントを用意する。
2.ソースを開く
3.プログラムの開始点を見つける.
#startApp() 又はそのソースファイルと同じ名前のメソッドがそれ。
4.ソースを順番に一行づつ追いかけて、処理がどう流れるか、変数の中身はどう変化するのかを細かく見ていく
5.わからない部分はGoogleでみつかるまで検索する。
1〜5を繰り返し、すんなり理解できるようになればプログラムを書けるようになってる。
健闘を祈る。
追伸:
微妙にスレ違いなのでプログラムを書いて動かせるようになるまではここに書き込まないでくれ。
Java自体がわからなければ初心者用スレで質問してくれ。
>javaアプリをつくりたいのですが、なにをしたらいいかまったくわかりません javaアプリをつくりたいんだったらまずauはやめてドコモかvodaに機種変 話はそれからだ auのjavaは事実上とっくに終わってる(わずかにくもの糸で繋がってるような存在)
>>846 ありがとうございます。
>>847 いえ、auのがいいんです。
他につくる人が少ないからこそ、まだ残ってる少ないjavaの人のためにやりたいので。
>>848 EZアプリ(Java)の使用者なんぞ、auの全加入者の1/4以下だった希ガス。
んで、非CPのアプリでもバリバリ入れる人なんか、更に少ない。
あと、EZアプリ(Java)のエミュの入手が少々困難。
滂沱のノキア機種向けに作った方が良いかもよ?
>EZアプリ(Java)のエミュの入手が少々困難。 今ではPhase3対応版公開されてるんだぜ?
KJX作成ツールだけでは? 個人で配布してるのはたまに見るけど、あれいけないんですよね。
854 :
デフォルトの名無しさん :2005/10/16(日) 23:33:42
CLDC1.1で浮動小数点のサポートとなってるのですが、 これって携帯もそれに対応していないとダメなのでしょうか?
エミュレータとKJX作成ツールの違いもわからない香具師がいるのか
>>850 見たけどKJXツールのみでCPに配布してるPhase3対応版エミュはなかったぞ。
知ったかやろう=
>>850 はスルー推奨
レス付けても本人は既に海外に逃亡してこのスレにはいないよ
基本的な質問です。ヘルプなどの説明文を流す音声プレーヤーを作りたいんですが、JavaでUDPをつかって
ストリーミングするのか、もしくはSWFを使って、こういう
http://blue-pacific.com/products/turbinemobile/default-jp.htm 構造にするのがいいのか迷っています。
音はモノラルで人の声が普通に聞けるくらいの音質、サイズは1分以内なので、1MBは行きません。
音は途中で多少切れるくらいなら問題ありません。
ただし、音のファイルの数が多いです。後々検索とかもつけたいです。
また、上記以外の方法より簡単なやり方がありましたら教えてください。
助言をお願いします。
>>859 MIDPアプリからスピーカはいじれないんだが
どうやって音を出すつもりなのかな?
それとUDPもSWFも使えないから。
mmfを逐次ダウンロード、、、ぐらいかな。
あいうえお、全ての音声データを単体で用意して ロボボイス発射w
MA5だとしゃべる機能あるよね? 何言ってるのかわかんないけど。w
EZ+Eclipseでブレークポイント設定してデバッグってできますか? Phase3用エミュのパラメーターみるとそれっぽいのがあるんで Vodafoneの場合と同じように設定して動かしてみたんだけど こんな↓感じでリモートデバッグの実行のところで止まってます。やっぱり無理なのかなぁ・・・ Connecting to localhost on port 2800 Waiting for debugger on port 8000 Sending JAR and Descriptor to KVM Connection received.
865 :
859 :2005/10/18(火) 00:00:57
>いろいろなチョイス 携帯Javaなんだからさ...861のくらいしか選択肢ないと思うよ。 1分の音声mmfが1MB弱というのはぶれてないけど、 今の端末に搭載されているヒープメモリでは再生は辛いだろうね。 通信速度もネック。たぶん10分以上かかる。 でターゲットとしているキャリアはVodaのみでいいのかな? 2Gか3Gかでも挙動違うよ。
867 :
809 :2005/10/18(火) 17:43:09
コメントいただいた方々、ありがとうございます。 今更ですが解決しました。 サーバの設定は変えられないため、 代用の手段としてcgiを間に挟んだら無事再生できるようになりました。 どうもご迷惑をおかけしましたm(__)m
ごめんなさい。他スレに書き込むものが入ってしまいました。 下の書き込みは無視してください。 というか痛恥ずかしいのでもうちょっと調べて試行錯誤してからきます。 すいませんでした
プチ断食で頭をすっきりさせて 開発に励め!
>>868 「うまくビルドできません」ではあまりにもアホすぎると思いませんか?
エラーメッセージがでるなら、具体的にそれを書くとか、
どういう方法でビルドしているのか、とか、
そういうことぐらい書いてください。
872 :
859 :2005/10/18(火) 23:45:59
>>866 基本的にはVodafoneで考えてます。確かに各機種のメモリの容量とか、ご指摘の
2Gと3Gの違いについても現在いろいろ勉強しないと駄目そうですorz。
いろいろ教えてくださった方々、どうもありがとうございました。
>>868 プチ断食ワロス
>>868 おそらくstubclasses.zipにPhrase系のクラスで
足りないメソッドがあったはず。
自分はstubclasses.zipを解凍、逆コンパイル、スタブ追加、再ビルド&jar化
して事なきを得ていますよ。
868はコピペの釣りだな
えっ、それってstubclasses.zip あたりも全部くるめて、ってこと?
>>875 stubclasses.zipを全部解凍しなくてもエラー出すクラスだけ
部分的に取り出してスタブメソッドを追加してもよい。
もちろん全部解凍、全部圧縮ってやってもなんの問題もないよ。
たしかAudioPhraseTrackクラスあたりに欠落が。
voda3Gで3D使おうと思って、んぱかさんのところ見たらMIDP2.0のサンプルソースでは (.m3g)ファイル使ってるみたいなんだけど JSCLでは(.mbac+.mtra+.bmp)のファイルでMIDP2.0のAPIだと(.m3g)ファイルを使うってこと? 探し方悪いかもしれないけど探しても見つからなかったのでよろしくお願いします
>>875 うろ覚えなのだが、com.j_phone.amuseとcom.jblend.media.smaf.phraseで、実装機能が違う。
P5型(JSCL-1.2.1以降)がインストールされているのなら、
プログラム上では、
import com.jblend.media.smaf.phrase.*;
で、宣言して
com.jblend.media.smaf.phrase.AudioPhraseTrackTrackPCM = null;
とフルパスで初期化すれば桶。
>>878 mbac,mtraを使わないのは、MIDP-2.0だからではなく、VFXだからだと思う。
3GC用のJSCL-1.2.2をインストールし、JadとManifestにMIDP-1.0と仮に書いておけば、
1M程度までのアプリならP6型エミュレータでデバックできるし、従来の資産(.mbac,.mtra,.bmp)が使えるのでそちらが便利。
3GC機にもっていく前に、MIDxlet属性を編集、APIをMIDP-2.0に変更、permissions項目を書いてやれば、3GC機で動作する。
結局、MIDP2.0にすると多機種への移植が面倒なのでやらない罠。
881 :
デフォルトの名無しさん :2005/10/21(金) 21:09:48
3G向けにHTTPS通信するアプリを作ってます。 接続時のCertificateExceptionを回避するために MIDletに署名が必要となりますが、 その署名する元の証明書は何を指定すればいいか分からないです。 Sunの「Secure Java MIDP Programming Using HTTPS with MIDP」の ページを参考に署名してみると、 シミュレータ上ではHTTPS通信できるようになりました。 でも本当にこれでいいのでしょうか?サーバの証明書とかは関係ないのでしょうか? 正しいやり方知ってる方いませんか?
>>881 今のところ3Gで通信するときの署名は公開されていないはず
なので3Gでは通信できません
883 :
878 :2005/10/21(金) 23:56:47
>>879 なるほど・・・。
ところで(.mbac+.mtra+.bmp)と(.m3g)の違い教えてくれませんか、全然資料見付からないorz
あとMascotCapsule4ではテクスチャは256x256のpngファイルだとどこかで見た気がするんだけどbmpでもいいんだっけ・・・?
>>881 通信する時必要な署名はVodafone側から公開されていないので、
現在のところ通信を使うことは出来ないはずです
メモリカードはアクセス出来たような気が。
>通信する時必要な署名はVodafone側から公開されていないので、 >現在のところ通信を使うことは出来ないはずです >メモリカードはアクセス出来たような気が。 え???メモリーカードへのアクセス出来たの??? 5月ぐらいからずっと開発から退いてるので、今の現状分からないのですが、詳細希望っす。
次世代DVDのBlu-rayもBD(Blu-ray Disk)-Javaが必須機能で、 プレイヤ/レコーダがCLDC+MIDPのお仲間になりそうですね。
886 :
881 :2005/10/22(土) 04:23:56
>>882 まじですか・・・
もしかしてHTTPSではなくて、HTTPでも通信はできないってことでしょうか・・?
ちなみにauのJavaアプリではHTTPS通信できますか?勝手サイトですが。
auの仕様書的にはできるって書いてありますが、HTTPすらまだ成功してません。
透過PNGのことについて聞きたいのですが、 背景の上に人物画像をのせて人物周りを透過にしたいのですが、 エミュ上では透過しているのに、実機上(V603SH,V902T)では 透過されず、白くなってしまいます。 だれか正しく透過できる方法をおしえてください。 よろしくお願いします。
888 :
デフォルトの名無しさん :2005/10/22(土) 13:58:24
>>884 すいません、メモカも署名ないので無理でした。
ちなみに
>>500 ぐらいから署名とか書いてあります
7月から署名公開とか言ってたのはどうなったんでしょうね
>>886 少なくともAUでHTTP通信は出来ます
>>887 透過はたしか256色PNGでしか有効にならなかった気がします。
889 :
デフォルトの名無しさん :2005/10/22(土) 21:06:50
3Gに移植させようとして詰まってしまいました。 もしご存知でしたらお答えいただけないでしょうか? 1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか? 2.JADファイルの設定について、 MIDlet-OCL: JSCL-1.2.2 MicroEdition-Profile: MIDP-1.0では起動しないのでしょうか? (V902SH、V903SHではMIDP-2.0でないとだめですか?) (3Gと256では別のJADが必要??) 3.上記1でJADの内容はMIDP-2.0にしてビルドしてエミュレータで実行すると NULL出力され中断されます。PhrasePlayer自体が3Gでは利用できなくなった のでしょうか?あるいはエミュレータの問題?? <ソース> PhrasePlayer ph_play; Phrase[] ph = new Phrase[3]; PhraseTrack[] ph_tr = new PhraseTrack[4]; ph_play = PhrasePlayer.getPlayer(); // <<ここで落ちてるようです ph_tr[0] = ph_play.getTrack(); ph_tr[1] = ph_play.getTrack(); ph_tr[2] = ph_play.getTrack(); ph_tr[3] = ph_play.getTrack(); 以上です。長々と恐縮いたします。よろしくおねがいいたします。
890 :
デフォルトの名無しさん :2005/10/23(日) 00:29:22
>>889 >1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか?
これでコンパイルしないと作れないことなんてないと思うが・・・
必要なライブラリ入ってればなんでもいい
>2.
ヒント:
ログを読む
VODA公式に出てるpdfを読む
>3.上記1でJADの内容はMIDP-2.0にしてビルドしてエミュレータで実行すると
> NULL出力され中断されます。
例外orエラーすら拾えないってことか?
PhrasePlayer自体はあるはずだが。
単純にPhrasePlayerだけ使うプログラム作って実行してみたら?
>>883 なんか放置されてるっぽいから一応
内部的なことしかやってなくて3Dはよくわからんけど
m3gはMIDP2.0のAPIで使えるように3つのファイルをまとめただけのような気もする・・・
JSCL1.2.2(がP6だったかな?)が実装されてる3G端末なら
com.jblend.graphics.j3dをインポートしとけば一応実行できるからmbacとかので今は問題なさそうだけど、
今後3GにJSCLなくなったりと考えるとガクブル
詳しい人俺も知りたいんでヨロ
891 :
890 :2005/10/23(日) 00:42:37
ごめんなんか勘違いしてた(これも勘違いかもしれないけど m3gはシーンファイルで、言い換えればaviとかのムービーファイル mbac+mtra+bmpはモデル+アクション+テクスチャ、役者と台本と衣装みたいな。 m3gは再生したりしか出来ないけど、 mbac+mtra+bmpの場合は別のfigure(マップとか)の上に設置出来て、そこを動かしたり出来る。 なんか書いてて自分でも何のことだか分からないけどそんな違いだと思う。 ゲームなんか作るときはキャラクター移動させたりする必要あるからm3gは使えないんじゃないかなぁ。
>>889 1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか?
正解。stubclasses が stubclasses_JSCL.zipになっていれば桶。
2.JAD/マニフェストファイルの設定は以下の通り
MIDlet-Permissions : javax.microedition.io.Connector.http (使ってなくても必要)
MIDxlet-API : JSCL-1.2.2 (MIDlet-OCLではない)
MIDxlet-ScreenSize : 0,0 (QVGA機向けアプリ(240x240)ならば記述必要:旧MIDlet-Application-Range)
なお、MicroEdition-Profile:MIDP-1.0では実機で起動しない。したがってMIDP-2.0と記述する必要がある。
これに関しては、tipsがあるので、詳しくは後述。
3.PhrasePlayerは、879でも書いたが、ただのPhrasePlayerの場合、JSCL-1.1.0以前のcom.j_phone.amuseのPhrasePlayerが参照される。
JSCL-1.2.2(P5以降,Vodafone 3G)用の場合、冒頭部分で
import com.jblend.media.smaf.phrase.*;
と宣言し
com.jblend.media.smaf.phrase.PhrasePlayer pp = com.jblend.media.smaf.phrase.PhrasePlayer.getPlayer();
の如くフルパスで取得すれば問題なし。
なお、サウンドの挙動は、SHとTでかなり異なり、従来機(2.5G)で正常に鳴っていたサウンドがVodafone 3G機では、
(特にSH機の場合)正常に鳴らないことがたまにあるので、実機チェックをしっかりやること。
(一部機種において、サウンドリソースの開放がうまくいかない機種がある)
4.ちなみにVodafone 3G用のJSCL-1.2.2SDKに収録されているエミュレータでは正常にアプリが動かないことが多いので、
MicroEdition-ProfileをMIDP-1.0に書き換えて、P6型エミュレータで動作検証するほうが良い。
その後、実機チェック前にJadとマニフェスト中のMIDP-1.0をMIDP-2.0に書き換えて実機に転送すれば動作は桶。
5.海外製携帯はダメダメだが、日本製Vodafone 3G携帯ではJSCLがなくなることはあり得ないので、安心汁。
理由は[どうしても]としか言いようがないので、深い詮索は勘弁。
893 :
889 :2005/10/23(日) 17:20:39
>>890 さん
ヒントをありがとうございます。あれから
もう一度慎重にPDF等読み直しました。
(色々な事を再認識することができました。ありがとうございます。)
>>892 さん
初めての移植で戸惑ってしまい、それをご配慮いただき
分かりやすいご回答ありがとうございます。
いま参考にしながらやっているところです。助かります。
海外のアプリをEZに変換しようとすると、 javax.microedition.midlet.MIDlet.main(+41) といつもでます。 これはなにがいけないんでしょうか?
>>894 EZに変換する方法とか、海外アプリの概要とか、どこでそのエラーっぽいメッセージが出たのか、
もうちょい情報をくれ。
>>895 コマンドプロンプトで直接jarとjadを合わせてます。
たぶんノキアのっぽい。
エミュででました。
>>896 いや、そんな小出しじゃなくて
・そもそも変換ってどういうことをしようとしてるの?
・入力したコマンド(バッチがあればその部分)をコピペしる!
・JDKとJ2MEのバージョンは何よ?
・エミュってezplusTools?EZAppli_SDK?
・クラスライブラリはどれ使ってる?
・そもそも環境変数Path及びJAVA_HOMEの値は設定してる?
と、そういう感じの詳細な情報が欲しい。
他人のPCの中身じゃ状況がワカランから答えようが無いです。
900 :
894 :2005/10/26(水) 13:27:46
アプリを動かそうとすると、 エラーがいつもでます。 これはなにがいけないんでしょうか?
>>900 |
|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
903 :
900 :2005/10/26(水) 15:31:40
アプリを動かそうとすると、 エラーがいつもでます。 これはなにがいけないんでしょうか?
904 :
889 :2005/10/26(水) 16:04:58
256から3GのコンバートはJAD/マニフェストファイルにお教えいただいたとおり下記3つを記載するだけでうまくダウンロードでき問題の音楽もなりました(SH903)(JAD/マニフェストファイルの設定が問題であったようです) ・MIDlet-Permissions : javax.microedition.io.Connector.http ・MIDxlet-API : JSCL-1.2.2 ・MIDxlet-ScreenSize : 0,0 また、もともとエミュレータでも動作しませんでしたが、基本的にはそちらも動作いたしました。結果としてエミュレータでは音楽はなりませんでしたので(SMAFロード時に例外処理発生)やはり「JSCL 1.2.2 SDK 1.0.1」のエミュレータ側には完全動作しない問題があるようです。 いろいろココでご教授いただき本当に助かりました。改めてお礼を申し上げます。 ありがとうございました。
905 :
889 :2005/10/26(水) 16:11:57
今回256のアプリを3G端末への移植を行いましたが さらに疑問点が2つ発生しました。 1.3G用にアップロードしたものをP6端末で動作させてみると動作しました。 (なぜ動くのかがちょっと判りません JSCL-1.2.2のみで動いている??) 2.256では快適に動作していた部分がなぜか3Gでは動作が遅くなっている 部分があります。 具体例 画面切り替え時に(ゲーム終了からタイトルに戻ったような場合) 最初3〜4秒ほどキーのレスポンスが悪くなります。その後は正常に 動作し始めます。 これは903SHの問題なのか3G端末全般の問題なのかがわからず悩んでいます (256と全く同じソースですJSCL-1.2.2で作成) 予測として、タイトル画面に戻るたびに Image.createImageしておりこれが問題なのでしょうか?? (9イメージ合計5.23KB) (全て透過あり) (16色PNG、16色以上PNG混在) 当方に確認端末が無くあまり面識のない方に動作確認をご協力いただいている為、本件を質問させていただいています。(確認に使用した端末903SH) 重ね重ね誠に恐縮いたしますが、もし何かご存知の方いらっしゃいましたら、ご教授いただけないでしょうか?よろしくお願い致します。(長文失礼いたします。)
906 :
897 :2005/10/26(水) 16:13:22
>>905 1.公式CPが使うサーバーにアプリを転送し、そこからダウンロードを行っている場合。
MicroEdition-Profile : MIDP-2.0の記述がjadにあると、P6型端末からのアクセスの際は、
「指定されたコンテンツは、お客様の機種ではご利用できません(Code1012)」で弾かれる。
よって、Vodafone 3GのアプリがP6型でも動作する可能性は、以下の通り
(1)Jad中のMicroEdition-Profile属性の記述が無いか、MIDP-1.0である。
(2)公式CPが使うアプリサーバーからの転送ではない。
2.リソースファイル読み込み時にcreate.Imageを使っているが、リソース読み込みをtry,catchで括ってやれば、問題なし。
当方では802SH,902SH,903SH,902T,903Tで検証済み。
非同期メソッドが発生して、動作がモタツク原因として、一番考えられるのは、
レコードストアデータセットに対し、[レコードストアオープン->書き込み->レコードストアクローズ]を、複数回行ってないかという問題。
従来機と違い、Vodafone 3G機(特にSH系)はレコードストアへの読み込み/書き出しが劇遅なので注意。
従来機は、アプリ起動時にレコードストア内容をヒープにコピーし、それに対して読み書きを行って、
アプリ終了時にレコードストア本体に書き戻す動作を行うのに対し、
Vodafone 3G機はその都度、レコードストア本体にアクセスするため。
>>897 すみません。
変換といっても、ただ海外サイトにおちてるjarファイルとjadファイルを混ぜてkjxにするだけです。
kjx.bat
c:\j2sdk1.4.2_08\bin\java -jar C:\ezplusTools\Tools\CmdTool\KJXArchiver.jar -c %1.jad %1.jar %1.kjx
で、プロンプトで「kjx アプリの名前」といれると変換されるというものです。
エミュは3.0のやつです。
>>899 はい?教えてクンなんかじゃないですよ。
ちゃんと関連する言葉等、一時間以上検索してもでてこないからここに来たんです。
>>900 >>903 三|三
イ `< ,..-──- 、 _|_
 ̄ /. : : : : : : : : : \ |_ ヽ
∧ /.: : : : : : : : : : : : : : ヽ (j )
/ \ ,!::: : : :,-…-…-ミ: : : : :',
{:: : : : :i '⌒' '⌒' i: : : : :} _ヽ_∠
└┼┘ {:: : : : | ェェ ェェ |: : : : :} lニl l |
. |_|_| , 、 { : : : :| ,.、 |:: : : :;! l─| l 亅
__ ヽ ヽ. _ .ヾ: :: :i r‐-ニ-┐ | : : :ノ _
/ } >'´.-!、 ゞイ! ヽ 二゙ノ イゞ‐′ l `ヽ
´⌒) | −! \` ー一'´丿 \ l/⌒ヽ
-' ノ ,二!\ \___/ /`丶、 _ノ
/\ / \ /~ト、 / l \
/ 、 `ソ! \/l::::|ハ/ l-7 _ヽ
/\ ,へi ⊂ニ''ー-ゝ_`ヽ、 |_厂 _゙:、
∧  ̄ ,ト| >‐- ̄` \. | .r'´ ヽ、
,ヘ \_,. ' | | 丁二_ 7\、|イ _/ ̄ \
i \ ハ |::::|`''ー-、,_/ /\_ _/⌒ヽ
>>908 いや、だからその情報の開示の仕方が「教えてクン」なんだってばさ。
この繰り返しじゃ有用なレス付かないよ。
以下897と同文...
というかjavaはできないのでクラスとか全然わからないんですが
>>90 |
|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
>>911 先を間違えているぞ
|
|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
>>910 彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
>ただ海外サイトにおちてるjarファイルとjadファイルを混ぜてkjx この時点で何か決定的な勘違いをしてる気がするが、もう釣られないと心に誓ったのでこれ以上は何も言わない。
俺はすぐ気付いて釣られなかったので勝組 あ、釣られたw
ここは半年前のインターネッツですね
>>894 =908はとりあえずどっかのサイトにあったkjx.batをとってきて
jarファイルの作り方だけ見て自分の環境に合うjarを作りたい教えて君
javaはおろかプログラミング言語のことなんか全然わからなくって
当然
>>897 の言ってる事もよく分かっていない
さらに上級テクニックの応用編 はい?教えてクンなんかじゃないですよ。
なんて台詞まで飛び出す始末だw
ちゃんと関連する言葉等、一時間以上検索してもでてこないからここに来たんです。
もそんなことはもう試しました。の応用にすぎない
とりあえずjavaの基礎から教えてくれる人はここにはいません(いてもスレ違い)
最低でも
>>897 の質問に全部答えられるようになってから来てください
JSCL1.2を使用してVアプリの開発を行っています。 Vアプリの中で描画を行ったオフスクリーンイメージをPNGデータにしたいのですが、 ImageEncoderクラスのencodeOffscreenメソッドでjava.lang.RuntimeExceptionが発生します。 JSCLのドキュメントでは、この例外の発生条件は 『PNG エンコード、または setJpegOption() で圧縮レベルを QUALITY_NORMAL または QUALITY_FINE に設定した JPEG のエンコードで、 エンコード後のサイズが機器の ファイル保存サイズの上限を超えた場合』 とのことなんですが、 機器のファイル保存サイズの上限って何のことを指すのでしょうか? ヒープ容量はまだ十分に空いているのですが。 エミュレータのみでしか動作確認ができないのですが、 エミュレータでは動作しないとか? ソースはこんな感じです。 ImageEncoder imgEnc = ImageEncoder.createEncoder( ImageEncoder.FORMAT_PNG ); byte [] data = imgEnc.encodeOffsetscreen( image, 0, 0, image.getWidth(), image.getHeight() ); FORMAT_PNGをFORMAT_JPEGにすると正常に動作します。 エンコードのサイズを小さくしても、PNGだと例外が発生します。 どなたか、情報お持ちの方いませんか?
>>917 例外の発生条件の文が勘違いしやすいね。ここで区切って。
・PNG エンコード、
または
・setJpegOption() で圧縮レベルを QUALITY_NORMAL または QUALITY_FINE に設定した JPEG のエンコードで、エンコード後のサイズが機器のファイル保存サイズの上限を超えた場合
つまりPNGエンコードはサポートしていない。
>>916 とりあえずおまえはjarとKJXの違いを理解しような
まず
>>908 は
>>897 の質問に答えれるようにしような。
その程度は教えてくれないと誰も助言出来ないと思うよ
921 :
917 :2005/10/27(木) 22:53:22
>>918 そうなんですか・・・
どうもありがとうございます。
PNGエンコできるなら、チャンクいじって透過色持ったまま、イメージの回転データとか
作れると思ったんだけどねぇ。
やっぱ左右反転とか回転イメージもデータとして持たないとダメみたいですね。
クマー
923 :
918 :2005/10/28(金) 03:20:30
>>921 =917
GraphicsUtilで透過PNGダメだったのか?
924 :
917 :2005/10/28(金) 19:26:41
>>923 あら、出来ちゃいました。
GraphicsUtil.drawRegionで、キャンバスに直接描けば良かったんですね。
画像反転させて、Imageを作ることばっか考えてたもんで、
drawRegionでImageに描画して、透過しねー!って思ってました。
MIDP2.0 でのフルスクリーンの仕方がわかりません。 Canvas.setFullScreenMode(true); というのを書き込んでみたんですが、 <identifier> がありません。 といわれてしまいます。
926 :
デフォルトの名無しさん :2005/10/29(土) 16:06:13
927 :
908 :2005/10/30(日) 13:08:34
アプリが変換できません 釣りじゃありません 信じてください 海外サイトにおちてるjarファイルとjadファイルを混ぜてkjxを作りたいんです
>>908 もなかなか失礼だったが、
>>908 を荒らしに見立てようと必死なやつがいるな
どっちもさっさと消えろ
まあ908はEzアプリとはなにかよく調べたほうがいいかと…。
はぁ?
【ヒント1】KjxはJarとJadをツールで結合しただけのもの。 【ヒント2】Kjxファイルを作れたからといって、それがEzで動くとは限らない。 【ヒント3】これが釣りじゃないのなら「自分で調べる」という基本的なセンスが無いのでプログラマになるのは諦めた方が・・・
>>931 プログラマになりたいんじゃなくて、国外のアプリを手っ取り早く動かしたいダケじゃね?
っEZアプリ上で動くjava仮想マシンを気合いで作る
つ JBlend
936 :
デフォルトの名無しさん :2005/11/01(火) 21:27:46
自作したkjxが動きません 対応してください
何を言ってるww
>936 つ[携帯も自作]
EZアプリ上でJAVA仮想マシン作るってことは仮想マシン上に仮想マシン作るってことですか?wwwww
940 :
894 :2005/11/02(水) 10:10:47
>>939 EZで動かしたいって言うならそれしかないんじゃないかな。
アプリ上のVMならもうジグで実現済み
Javaで書いたVMとか普通にあるしな。
なんか、数日こないうちに話題があらぬ方向へいってるな・・・ (・∀・)つ/ ソロソロシンスレ
ジグって使ったことないんだがVM搭載してるの?
ボタン押すと1プラスされていくEZアプリとかはちょっとjavaやればできますか?
Javaの文法とか覚えるだけじゃなく、MIDPでのイベント処理の仕方が理解できればオケ
domo
imap対応してくれー
950 :
デフォルト名無し :2005/11/05(土) 11:19:55
コンテンツアグリエーター以外で実機上に動作させる方法はあるのですか?
ezアプリ(Java)ならケーブル転送だけでできなかったっけ?
Vodaもケーブル転送いけるべ?…CPになれば。
voda2Gでゲームつくってるんですが、 createImageで大量にpngデータを読み込むようにしたら NullPointerExceptionが返ってくるようになりました。 数を減らせば大丈夫みたいなんですけど、なんで参照切れを おこしているのかよくわかりません。画像サイズが大きすぎるから? 量が多すぎるから?どっちなんでしょうか?
せめて読み込み部分のソース晒してくれよ。 それだけじゃ判断のしようがない。 書き込みの内容から論理バグっぽい匂いがするけどな…
>>953 メモリ不足で読み込めてないんだろ。
Runtime.getRuntime().freeMemory()
で一枚ごとにメモリ残量を表示しつつ画像を読み込んでみ?
956 :
953 :2005/11/06(日) 16:45:04
すいません。
>>955 のおっしゃるとおり、メモリ不足に陥ってました。
初歩的な質問ですいませんでした。
958 :
デフォルトの名無しさん :2005/11/09(水) 17:47:18
EZアプリ(Java)って何ですか 食べ物ですか もう食べる人は1割しかいないって本当ですか
1割もいないと思うぞ。
P6型のVアプリを3Gに移植したのですが、 3G用エミュレータでそのVアプリを動作させると、 エミュレータ上に表示した画像がずれて表示されます。 (2G用エミュレータでは、画像が画面いっぱいに表示される のに、3G用エミュレータでは画像の右部と下部が余る) これは3G用エミュレータのバグなのでしょうか? それとも3G用エミュレータで何か設定をしなければ ならないのでしょうか?
961 :
960 :2005/11/13(日) 23:48:35
初歩的な質問をしてしまいすみません。 3Gエミュレータのインストールフォルダ内にある 「BasicCustomizationGuide.pdf」に 画面サイズ変える方法が載っていました。
962 :
デフォルトの名無しさん :2005/11/16(水) 00:23:06
voda3Gアプリを作成しています。 StorageConnectionのlist()を使用して 指定パスのファイルリスト作成した場合、 下記のように2Gと3Gでは、リスト内の フォルダファイル名が異なってしまいます。 @2Gの場合 フォルダはファイルと区別できるよう、 フォルダ名の後に「/」が付加される。 A3Gの場合 フォルダ名の後に「/」が付加されない。 StorageConnectionのlist()の仕様としては、 @が正しいのですが、3Gの場合は正しい 動作をしない為、指定パス内のフォルダを 特定できません。3Gで指定パス内のフォルダを 特定する良い方法はないのでしょうか?
>>962 isFolder()ですべてチェックする
964 :
デフォルトの名無しさん :2005/11/16(水) 02:00:09
965 :
デフォルトの名無しさん :2005/11/16(水) 19:04:02
EZアプリ(Java)の方で、KJX作成ツールを使用してコンパイルしているんですが、 PhotoConnection.htmlに書いてある try{ // フォト用 Connection を開く PhotoConnection conn = ( PhotoConnection ) Connector.open("photo:"); のPhotoConnectionの部分で、「シンボルを解決できません」になってしまいます。 import javax.microedition.io.*; は記述しているんですが、他に何かインポートしなければならないんでしょうか? それとも、Phase3を使っているつもりなのですが、Phase3になっていないのでしょうか。 ライブラリは2003/10/18のkddip3.jarが使用されているはずです。
すいません。965ですが、自己解決しました・・・ kddi系をそもそもインポートしていませんでした。
967 :
デフォルトの名無しさん :2005/11/16(水) 22:12:24
>>963 isFolder()も結局、パスの最後に「/」が
付いているかどうかの判定をしているだけ
なので、フォルダを特定する事ができません。
getTypeでもだめか?
969 :
デフォルトの名無しさん :2005/11/16(水) 22:40:03
>>968 getTypeでもだめです。
と言うか3Gのプログラム作成して気づいたのですが、
isFolder()やgetType()は、単純にファイル名から
ファイルタイプを導き出している模様・・・。
もうダメボでしょうか?
list()でファイル一覧を取得できるか、例外をはくかで フォルダかどうかを判断するはどう?
だとしたら、970のように例外処理で対応するのが無難だろうね。 ちょっとややこしくなるけど、それは我慢で・・・。
なんで3Gは'/'がつかないようにしたのかVodafoneに問い詰めたい
俺はファイル読み込めるか試して例外吐くかで判定してる 解りにくかったらすまそ
通信もできないし、一体何のためにこんな改悪をしたんだ?
>>974 ディレクトリと同じ名前の拡張子無しファイルが存在したらどーするの?
それは作れないと思うよ…
978 :
969 :2005/11/17(木) 23:16:57
>>974 指定ファイルを読み込めた場合は「ファイル」、
例外処理に入った場合は「フォルダ」である
と判別することにより、対応できました。
例外処理をわざと利用するプログラムを作成
するハメになるとは・・・。
みなさんアドバイスありがとうございました。
>例外処理をわざと利用するプログラムを作成 >するハメになるとは・・・。 いや、結構良くあるテクだと思うんだけど(テクって程でも無いか
980 :
974 :2005/11/18(金) 13:44:31
理解してくれたか〜 この問題に関してはvodaが悪いと思う…。 っソロソレシンスレ
今日802Nでメモカ見てみたけどフォルダに / ついてたよ 3G全部の問題ではないみたいだね めんどくせー
な、なんだってー ΩΩ Ω
シャレにならんな
アプリからフォルダ見るには署名付きアプリの必要があるから、現時点では確認は不可能。
>>981 はVoda内部の人間か?それともデマか?
そこはあえてつっこまない方が。
そういえばVodaの3G端末の中でも、 JSCLを使用できる機種は決まってるんですよね。 それで今気づいたんだけど、JSCLを使用できない 機種の場合、list()が使用できないから、指定パスの ファイルの一覧を取得する方法は無いのでしょうか?
その通り。 VSCL2.0にはStorageにアクセスする手段は提供されていない。
ウィルコムのJavaが動くやつを買う予定で、IMAP4でメールが読めるソフトを作成中 エミュでメール本文が読めるとこだけできた が、上のレスでVodaがhttpしか通信できないと書いてあったけど、本当にできないの? ソケット通信ができないの? 拡張API使わずにMIDPのみを使用して作成すれば各社の携帯で動くと思ってたんだけど間違ってる?
>>990 MIDP2.0でもソケット通信ははオプション扱い
992 :
990 :2005/11/20(日) 16:08:34
>>991 あんがと
足りない知識があるみたいなので、調べなおしてきます
ウィルコムの仕様が出ない事にはソケット通信ができるかどうか不明ってわけか
imap4使う気まんまんだったのになぁ
次スレ立てないの?
ume
早く署名公開しないかな…。
1000
998
1000ならVodafoneがBREWを採用
1000ならVodafone日本撤退
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。