CLDC+MIDP+携帯電話用Javaスレッド part 4at TECH
CLDC+MIDP+携帯電話用Javaスレッド part 4 - 暇つぶし2ch1:デフォルトの名無しさん
05/02/19 11:51:16
J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。

前スレ:
CLDC+MIDP+携帯電話用Javaスレッド part 3
スレリンク(tech板)


過去スレ
携帯JAVAのスレッド
スレリンク(tech板)(DAT落ち)

CLDC+MIDP+携帯電話用Javaスレッド part 2
スレリンク(tech板)


--
Java一般に関しては:
【初心者】Java質問・相談スレ51【大歓迎】
スレリンク(tech板)

NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 6
スレリンク(tech板)

>>2-5あたりにリンク集

2:デフォルトの名無しさん
05/02/19 11:52:17
調べものはまずGoogleへ
URLリンク(www.google.co.jp)

Java 2 Platform, Micro Edition (J2ME)
URLリンク(java.sun.com)
Reference Documentation(仕様書やAPIリファレンス)
URLリンク(java.sun.com)
J2ME Wireless Toolkit
URLリンク(java.sun.com)

EZアプリ技術情報
URLリンク(www.au.kddi.com)
Vアプリ技術情報(Vodafone Developers Support Site)
URLリンク(www.dp.j-phone.com)


3:デフォルトの名無しさん
05/02/19 15:44:03
>>1
乙!

Vodafone 3GのVアプリ仕様公開マダ~?


4:デフォルトの名無しさん
05/02/19 16:19:40
>>1
URLリンク(developers.vodafone.jp)


5:デフォルトの名無しさん
05/02/19 18:21:56
>>1乙。
現行スレに修正。それと、スレ立ててもらった後で言うのもなんだがアオリ追加案。

--
Java一般に関しては:
【初心者】Java質問・相談スレ62【大歓迎】
スレリンク(tech板)

NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 7
スレリンク(tech板)
--

J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。

6:追加案
05/02/19 18:38:46
EZアプリ(BREW(R))については:
BREW(Binary Runtime Environment for Wireless) 3
スレリンク(tech板)

7:デフォルトの名無しさん
05/02/19 22:29:43
>>1-6
超乙彼夏

前スレでVのバージョンを変えろと教えてくださった方ありがとう。

8:デフォルトの名無しさん
05/02/20 01:33:26
P6型で3Dアプリを作っているのですが、1~2秒おきに処理がとまってしまいます。
これって何が原因かわかりますか?(ウェイトをはずしても変わらない)

9:デフォルトの名無しさん
05/02/20 01:34:27
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秒増えるときがあります。
どのようにしたら解決できるのでしょうか?

12:デフォルトの名無しさん
05/02/22 03:38:05
>>10
「ロード」ってのが何を示しているのかは知らんが、実行時エラーになるんじゃないかと思う。
MIDlet-OCLなりアプリゲット登録時の端末チェックなりをしとけば、ダウンロード時にはじいてくれると思う。
プログラムの組みようによっては混在もできると思うけど。

>>11
「1秒後に呼んでくれ」とタイマーに頼んでも、1秒後きっかりに呼んでくれる保証はないぞ。
説明読む限り、scheduleAtFixedRateは呼ぶ回数と長期的な時間のずれは問題ないようにしてくれるが、
常に1秒きっかりで毎回呼んでくれる保証はない。(gcにとられる時間など)

13:デフォルトの名無しさん
05/02/22 09:56:47
>>9
メモリの使い方が悪かったみたいです。JAVAの基礎からやりなおしかな・・・。

14:デフォルトの名無しさん
05/02/22 14:04:05
P5型用の画像を表示するVアプリを作成しています。
とりあえず画像(JPEG、PNG)をそのまま表示する所
までは作れました。そこで、表示した画像を自由に拡大、
縮小できるようにしたいのですが、JPEG画像を簡単に
拡大、縮小する方法はないですか?
BMPならデータ構造が単純だから拡大、縮小する処理
ぐらい自力で作れそうですけど、やはりJPEGはそんな
簡単に拡大などできませんか?



15:デフォルトの名無しさん
05/02/22 14:08:49
Vで質問です。
アプリのバージョンアップで、前のセーブデータを引き継がない場合、どうすればいいんでしたっけ・・?
Midlet Data Size を変えれば良かったんだっけなって思って増やしてみたけど引き継いじゃいました。

16:デフォルトの名無しさん
05/02/22 15:23:23
EZアプリの質問です。
Javaアプリが走る携帯で、アプリを使っての通信と
その携帯に搭載されているブラウザを使っての通信とを
見分ける方法はありますか?お分かりになる方おられましたら
ご回答、よろしくお願いいたします。

17:15
05/02/22 15:26:39
すいません、減らしたらできました。

18:デフォルトの名無しさん
05/02/22 17:20:35
>>16
サーバ側の話だよね。ヘッダ見て判断して。詳しくは>>2のEZアプリ技術情報

19:デフォルトの名無しさん
05/02/22 17:44:45
>>14
その質問はP5のVアプリとかそういうの関係なしに、画像加工の面から調べることだな。
携帯アプリの画像の変形について一般に言えることは次の通り。

1.まず画像の変形用のAPIがあるか確認し、あれば使う。

2.任意サイズの拡大縮小や任意角度の回転といった場合も、
そういったAPIがあるか確認し、あれば使う。

上記2つがない場合

3.描画済みの画像に対してピクセル単位で色情報を取得できるAPIがあれば
それを使って色を取得しながら、自力で変形や色計算を行う。とても遅い。

4.元にする画像ファイルのフォーマットが簡単なピクセル並びの色情報で
できているなら、3.の方法が使える。3.より速い。

5.変形後の画像をあらかじめ用意しておいてそれを描画する。

---
P5のVアプリでJPEGの任意サイズの拡大縮小は「3.」。自分は実際にやった。

20:デフォルトの名無しさん
05/02/22 18:02:33
>>16,18
今の開発ガイド読んだら「ブラウジングと同一」って書いてるよね。
実際自分でやってみたら(5403)少なくともUser-Agentは同じだった。
自分で作るアプリならヘッダに適当なパラメータつければいいけど
多分アプリで設定するヘッダが優先されるから、偽装可能な希ガス。
まぁ普通そこまで(端末毎のパラメータを用意)しないかもしんないけど。

・・もしかして僕勘違いしてます?

21:デフォルトの名無しさん
05/02/22 18:18:21
>>18, 20
ご回答ありがとうございます。
サーバー側の問題なんですが、Javaアプリで定期的にアクセスされて
アタックのような状態で困ってるんです。それでもしJavaアプリ
のアクセスならはじければありがたいんですが・・・。

22:デフォルトの名無しさん
05/02/22 18:22:37
追記です。
技術情報にはそれらしいことは何ものっていませんでした。
KDDIにも聞いてみたのですが、技術的な事はお答えできないと
言われました。質問した部署が悪いのかもしれませんが・・・。

23:14
05/02/22 18:59:04
>>19
ご回答ありがとうございます。
やはりP5のVアプリでJPEG画像を素早く
拡大、縮小することはできないんですね。
3.の方法でとりあえず試してみます。


24:20
05/02/22 19:10:27
>>21
アプリの話じゃなくなるんだけど、ブラウザにしろアクセス集中は困るわけだから
鯖で同一アドレスからのアクセス回数に制限かけたら?
ApacheならMaxKeepAliveRequestsとか。

25:デフォルトの名無しさん
05/02/22 19:16:52
>>24
うーん、そうするとほかの携帯ユーザーにも迷惑がかかるので
それは避けたいんです・・・。

26:20
05/02/22 20:18:11
>>25
いや、他のユーザーはアドレス違うじゃん。
携帯は固定IP(ネットは)だったとおもうけど・・。

27:デフォルトの名無しさん
05/02/22 20:44:02
「Javaアプリからアクセスされて」ってのは本当か?どうやって確認したんだ?
アプリなのかブラウザなのかは区別できないんだろ?

28:18
05/02/22 20:57:11
>>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アプリの中で設定でき詐称できるようです。

31:18=28
05/02/22 22:19:24
>>16=30
>サブスクライバIDを利用して対策をしたところ、一時期アクセスが
あのさ、そういうことは最初に言うことでしょ。
今までどんな対策してきたのか挙げたうえで質問しなよ。

サブスクライバID(以下、ID)を取得するAPIはない。
プログラム内で付与してるとすればそれはでっち上げたID。
リクエストヘッダを編集して偽IDを付与してるってこと。

乱数で毎回異なる偽IDを作ってるようなアプリからのアタックで
困っているというなら(そこまでして狙われるサイトって何なのさ)、
メールアドレスや電話番号を登録してもらうような、厳密で明示的に
会員管理するサイトにするしかないだろうね。

32:20
05/02/23 00:01:33
>>28
なるほど。知らなかった・・。勉強しとこ・・メモメモ。

>>16とか
またオイラが無知なだけかも知れんが、ちょっと気になったので・・
そもそも携帯からかどうか、ってのはどう判断してるの?
ヘッダが偽装可能なのでそこで判断してるってのなら実はPCかも知れないでしょ?
っていうか携帯から何度もアクセスなんか出来ない(WINは回数制限がある)ので
PCで偽装(エミュorシュミレータとか?)っていう可能性の方が高い気がする・・。

33:デフォルトの名無しさん
05/02/23 01:01:43
>>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()を使うしかないんですかね。

35:デフォルトの名無しさん
05/02/23 03:00:31
>>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秒置き」とかにしてあとは工夫すべし。


36:20
05/02/23 06:30:44
>>33
いや、まぁ確かにそうなんですけども

僕が言いたいのは、「携帯の貧弱な通信網でアタックが可能なのか?」ってことで、
それが事実なら納得するしかないですが、どこかで勘違いしてる気がします。
例えば
 1.判断をIPで行ってないので、実はPC
 2.本当に携帯だけど、実はアタックというほどの頻度ではない
 3.単に接続失敗して再接続したみたいなログが残ってるだけ
みたいな。
31でも書かれているように、現状がハッキリしないと判断しにくいし、
わざわざそんなアプリ作る物好きがいるとも思えない・・。

37:デフォルトの名無しさん
05/02/23 10:15:08
今Phase3専用のEZアプリを作成中なのですが、
ユーザーに文字入力をさせ、その文字列を使いたい場合、どうすればいいのでしょうか?

38:デフォルトの名無しさん
05/02/23 10:18:42
なんかちょっとだけスレが進んだと思ったら電波系質問者の登場ですか?
>サブスクライバIDも、Ezアプリの中で設定でき詐称できるようです
?(゚_゚)(。_。)(゚_゚)(。_。)?

そもそもの話の前提の「アタック」て何よ?携帯1台に「アタック」されて何が困るの?
携帯1台に「アタック」されて困るサーバーてどんなんだよ

39:デフォルトの名無しさん
05/02/23 11:12:27
読み直したらすごいこと書いてるよこの人
>タイミングがずっと同じなんです。人間の手でやるには少し無理があります。ほぼ24時間動いてますし・・・。
だったら携帯と違うじゃん。携帯のアプリは人間の手で携帯を操作するんですよ。
アプリと名前が付いてるからパソコンのアプリケーションのようなイメージでいるんかな?
auはサブ巣クライバが強制送信だから(※注:不正請求詐欺対策で任意送信に変わるらしい)「.htaccess」で個別denyが一番容易な端末なんですよ。
アクセスしたIPがau端末のIP帯域に該当しないはずですよ、たぶん。
だれかがPCのダウンロード支援ソフトのUserAgentに冗談でKDDIの携帯のUserAgentを入力して時刻設定の自動運転してるだけだろうが。
うまくダウンロード出来ないから自動で再トライをしてるだけだよ。
ダウンロードが目的じゃなくてもアクセスログにエラーを出して相手をびびらせようとしてるだけかも。
どっちにしても「.htaccess」で弾くか、無視して何もしないかですよ、たいした話じゃない。
アクセスカウンタが進むだけで実害ゼロ。

40:37
05/02/23 12:45:45
すみません。
やり方がわかりましたので、>>37は無視してください。

41:デフォルトの名無しさん
05/02/23 17:14:58
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>


42:デフォルトの名無しさん
05/02/23 18:37:01
素人目で見ると
><injar file="${basedir}/${bin}/${jarname}.jar"></injar>
><outjar file="${basedir}/${bin}/${jarname}_s.jar" />
対になるこの2行で行末が違うなーと

43:43
05/02/23 19:01:28
<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.


44:43
05/02/23 19:24:14
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]


45:43
05/02/23 19:38:06
連投すみません。zipとかjarとかは関係なくてただ設定が間違ってただけでした。

46:デフォルトの名無しさん
05/02/23 20:31:11
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()することにします。

48:12
05/02/24 04:48:59
>>47
話聞いてる限り、プログラム側のバグじゃないかと思えてきてしまう。
マルチスレッド考えずに値をいじってるとか。

いずれにしても0.1秒おきにSystem#currentTimeMillis() して毎回差分を計算するのが常套手段だとは思う。

49:デフォルトの名無しさん
05/02/24 14:11:21
256kアプリで使える、テクスチャーフォーマットの詳細を知っている人が
いたら教えてください。(bmpだとサイズが・・)

50:デフォルトの名無しさん
05/02/24 17:05:23
>>49
フォーマットがBMP(256色無圧縮256×256)だろ?
そのサイズがバイト数を表すのなら、bmpもgifもjarにしたらそう変らんよ。
BMPがどんなフォーマットになってるかってこと?自分で作るの?
僕は下のサイト参考にImageからgetPixelしてBMPバイト列→テクスチャ作れたよ。
URLリンク(www.kk.iij4u.or.jp)

51:デフォルトの名無しさん
05/02/24 17:34:46
リソースフォルダに格納されているjarファイル(txtが圧縮されてます)を
レコードストアに保存したいのですが、どなたか教えてください。
簡単なソースでも、書いていただけると嬉しいです
お願いします。

52:デフォルトの名無しさん
05/02/25 00:35:18
>>50
そういうやり方があるのね・・。確かにjarにするからたいして変わらないのかも
とりあえず、あり

53:デフォルトの名無しさん
05/02/25 01:48:29
BMPのランレングス圧縮にすればそれなりに小さくなる


54:デフォルトの名無しさん
05/02/25 13:14:35
>>51
バリナリとして読み出して、バイナリでレコードストアに書き出せばいいよ。
でもresにjarを入れてビルドすると2重で圧縮かけてことになるよ?
それたっだたtxtのまま入れたほうが面倒でないぞ。



55:51
05/02/25 15:41:02
>>54
ありがとうございます。
なんとかできそうです。
ちなみにresにjarを入れてるのは、テスト用だからです。
実際は、通信から取得する予定です。

56:デフォルトの名無しさん
05/02/25 20:26:46
jargとか使うとstatic final int TEISU = 3;とかは定数に置き換えてくれますか?

57:デフォルトの名無しさん
05/02/25 20:49:59
>>56 意味がわからない。static final intはSunのコンパイラなら
最初からインライン展開してくれるけど?

58:56
05/02/25 22:35:10
>>57
それを聞いて安心しました。

59:デフォルトの名無しさん
05/02/26 00:24:05
おれは不安になったw

60:デフォルトの名無しさん
05/02/26 02:10:52
>59
でーじょーぶだそ。いくつものファイルに渡ってその定数を参照してるならともかく、
MIDPの世界でMIDletのサブクラスとCanvasのサブクラスの二つ以外に
クラスなんて作るはず……ないよな? orz

61:デフォルトの名無しさん
05/02/26 02:14:40
結構それの他のクラス作ったことあるけど意外と平気みたい

62:デフォルトの名無しさん
05/02/26 05:36:44
昔public static finalそのままでjavac通すとclassファイルがやたらでかくなった記憶が・・・
それでjavacを信用せず自分でプリプロセッサ通してたんだけど、最近のは大丈夫になったの?

定数展開されるなら、今度は逆に、
TEISU=3でコンパイルしたclassとTEIS=4でコンパイルしたclassを混ぜれないことになるのか。
依存関係をいちいち書くのもめんどいんで、毎回全部リコンパイルしなきゃいけなくなるなぁ、まぁ知れてるけど。

63:デフォルトの名無しさん
05/02/26 07:37:05
インライン展開されるが、クラスファイル中にstatic final intは残る

static final int a=1;
System.out.println(a);

static final int a=1;
System.out.println(1);

だめじゃんw


64:デフォルトの名無しさん
05/02/26 11:39:03
Vodafone用のJAVAアプリについて質問です。
携帯折り畳み時、スリープ等を用いて電池の消耗を
防ごうと思ったのですが、携帯を折り畳むと自動的に
JAVAアプリが停止する(※携帯電話自体の仕様)ので、
携帯折り畳み時に電池の消耗を防ぐようなプログラムを
作成しても無駄ということですか?


65:デフォルトの名無しさん
05/02/26 11:47:32
>>64
JAVAアプリを動かすより動かさない方が電池の消耗を防げる。

66:デフォルトの名無しさん
05/02/26 12:14:23
>>65
え?
というか、JAVAアプリの停止中(※再び再開可能な状態)って、
JAVAアプリは動いていない(全てのスレッドが停止状態)と
考えてよいのですか?




67:デフォルトの名無しさん
05/02/26 13:59:05
携帯に既に一時中断する機能があるのに何を作りたいって?
それとvodafone用ならVアプリと表記しろよ。名前が変わってどれだけたってんのよ

68:デフォルトの名無しさん
05/02/26 18:03:49
>>64
Thread.sleep()で電池が持つようになるわけない
VM上で動いてるということを理解すべし


69:デフォルトの名無しさん
05/02/26 21:12:24
みんな親切だな
こういうのは一言でいいんだよ

>無駄ということですか?
Yes

70:デフォルトの名無しさん
05/02/26 22:07:23
>>69
おまえのような奴ばっかだったら何の発展もしない罠

71:デフォルトの名無しさん
05/02/26 22:26:22
70=質問者

72:デフォルトの名無しさん
05/02/27 00:03:24
みなさん、「System.gc()」は使用してますか?

73:デフォルトの名無しさん
05/02/27 00:21:48
Runtime.getRuntime().gc()ならたまに使うけど

74:デフォルトの名無しさん
05/02/27 00:30:20
同じ事

75:デフォルトの名無しさん
05/02/27 10:10:48
>73
CLDC の API 見ると、すぐにGCしてくれるんじゃないかって
期待したくはなるがな。


76:デフォルトの名無しさん
05/02/27 11:54:09
GCって自分である程度の間隔でコールした方がいいの?
APIリファレンスとか見てると、Java Virtual Machineが自動的に
やってくれるという事が書いてあったのだが。


77:デフォルトの名無しさん
05/02/27 12:21:43
GCの話はこのスレやiアプリ開発のスレでもよく出てくる
もし暇があるならこのスレpart1からざっと眺めてみるといいかも

78:76
05/02/27 14:56:04
>>77
他のスレも見てみます。

↓それと、GCに関して詳しく書いてあるページもありました。
URLリンク(www.netgene.co.jp)


79:デフォルトの名無しさん
05/02/27 21:22:28
先生方頼みがある。
WTK2.2でRecordStoreに200KBのデータを書き込んでみるアプリを
作ってデバグしているんだけど、RecordStore#closeRecordStoreで
170秒も止まっちゃう。ハードディスクのアクセスランプはその間真っ赤。
まあ200KB書き込みを見直せというのは置いといて、対処法とか知ってる
人頼む。ほんとどうしたもんか。


80:デフォルトの名無しさん
05/02/27 23:10:39
>>79
普通に実行する分には大丈夫なんすか?
デバッガに問題ありそうな気がするので、その辺の環境書いてホスィ。
って自分今始めてWTK22で試してみようと思ったけど
KToolBarのDebugの使い方ワカンネェ・・。Eclipseでブレイク置いてとかしか・・。

81:デフォルトの名無しさん
05/02/27 23:20:15
MIDlet-Data-Size:はちゃんとしてる?

82:デフォルトの名無しさん
05/02/28 05:58:54
>>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

84:デフォルトの名無しさん
05/02/28 15:30:48
>対処方法
1.訳す
2.意味を考える
3.調べる
これで解決

原因不明のエラーじゃないんだからさ
ご丁寧にエラーメッセージ出てくんだからさ

85:デフォルトの名無しさん
05/02/28 16:19:10
英語なんかよめるかボケ

86:デフォルトの名無しさん
05/02/28 17:51:09
>>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)


で、こうなったわけで、、、、、教えてくださいエロい人

正直これは英語斜め読みしてもまったくわかりません。。

88:86
05/02/28 19:08:50
>>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の部分に実際のプロジェクト名が入ります

91:86
05/02/28 20:30:19
>>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ファイルの設定がどうのってエミュレーターに怒られますが

そんくらい自分で調べてアレします、ありがとうございました、エロい人

93:デフォルトの名無しさん
05/02/28 20:45:40
俺クラス12個も作ってた ora


94:デフォルトの名無しさん
05/02/28 21:21:08
最終的に容量が収まるなら何ら問題ない。
作業効率が上がるなら10個でも20個でも作る。
それこそ class Point { int x, y; } でも作る。
開発半ばを越えて容量が気になりだしたり、不要かなと思った時点で
クラスをまとめたり配列に置き換える。こんな方針でやってる。

95:92
05/02/28 21:26:05
でもコンスタントプール幾らなんでも取りすぎですよね

容量気になりだしたらクラスをくっつけてお引越し

96:86
05/02/28 21:42:48
>>93
いや別にクラス多いのがダメだと言うつもりは無かったッス。自分も最近は多い。
ただ、Vアプリの開発環境を整えてる段階っぽかったので
そこで複雑なアプリはどうよ?っていう意味です。

あと91でpreverifyおかしいかもとか書いたが別に問題ないかも。
-dが2個あるのが正直アレって感じに見えた。
自分はこの辺ツール(kjxツールとかEclipse)に任せてるからホントは良くシラネ。
とりあえず自分で調べてみる事はすごく重要。超がんがって!

97:76
05/02/28 22:08:01
>>82
詳しく解説していただきありがとうございます。
できるだけガベコレが必要ないような作りに
して行きたいと思います。

98:デフォルトの名無しさん
05/03/01 00:15:40
Vアプリ(JSCL1.2)には、JpegPlayerというクラスがありますが、
このクラスを使うメリットって何ですか?
JPEG画像を表示するだけなら、とりあえず「Image.createImage」を
使っておけばいいと思うですが。

99:デフォルトの名無しさん
05/03/01 09:51:45
Vアプリ(JSCL1.2)でFormにChoiceGroupを乗っけて使ってるんですが
V602SH、603SHで(256kVer.2から)挙動が変わって困っています。

具体的にはChoiceGroupにフォーカスがくるとListの一番下がされるようになり
Listの先頭にあるカーソルが消えた(実際には画面外の上部にある)ように見えて
しばらく↓ボタンを押さないとカーソルが画面に出てきません。

ChoiceGroupの項目数が少ない場合はOKなんですが、項目数が増えて画面に全てが
表示しきれない場合に挙動が変わってしまいます。

601SHまではフォーカスがくるとListの先頭からの表示になっていたので全然
問題なかったので、どう対処したらよいのか…

何か対処法はありますでしょうか?複数のうちから1つだけ選択するインタフェース
にしたかっただけなので特にChoiceGroupにこだわってはいません。
アドバイス等よろしくお願い致します。

100:デフォルトの名無しさん
05/03/01 10:56:31
>>99
256kVer.2てP6型のことか?だったらSystem.getProperty("microedition.profiles")
でJSCL-1.2.2かどうか見て処理を分ければいいんじゃないかな。
それと「ありますでしょうか?」なのに「致しますです」ではないんだな。

101:デフォルトの名無しさん
05/03/01 11:19:26
>>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/ .


105:デフォルトの名無しさん
05/03/01 21:58:03
ここは>>83-92をコピペすべきか?

106:デフォルトの名無しさん
05/03/01 22:06:27
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){}
}

クラスは存在するはずなんですが・・・・

108:デフォルトの名無しさん
05/03/01 22:14:46
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
>>101
なるほど。レスありがとうございます。

111:102
05/03/01 22:45:51
誰か助けて。。。。。

112:デフォルトの名無しさん
05/03/01 22:49:36
>>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 - アーカイブファイルが壊れている可能性があります。
エラーが発生しています。




114:112(実は86)
05/03/01 23:09:27
>>113
やっぱりね(同一人物件と解凍の両方の意味で)。
jarコマンドの最後が classes/ になってるけど / いらないんじゃないか?
「~を追加中です」の部分が本来のフォルダ名(classes/test.classとか)に比べ
何か(ていうか / ./ の部分)多いから、変にフォルダ構造が出来たんだと思う。

115:デフォルトの名無しさん
05/03/02 04:39:52
>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% 格納されました)



116:デフォルトの名無しさん
05/03/02 07:41:13
とっととテスト用プロジェクトを丸ごとどっかにうぷれ。
あと、テストを動かすなら2個からやれとあれだけいわれてるのにまだやってないのかよ。
その末がメッセージ全部コピペじゃ、まじめに答えてる人が気の毒すぎる。

こんなペースでやってりゃ、まともなの作るのに1年以上かかる。

117:デフォルトの名無しさん
05/03/02 13:15:49
StorageConnectionでテキストを読みたいのですが
エミュレーターでファイルを指定するときも

StorageConnection conn = null;
conn = (StorageConnection)Connector.open("file:///ms/test/test.txt");

でいいのでしょうか?
また、このように指定した場合どこのフォルダーが基準になるのでしょうか?


118:デフォルトの名無しさん
05/03/02 13:20:10
なぜ自分で試そうとしない?

119:デフォルトの名無しさん
05/03/02 13:53:37
掲示板に張り付いてる奴は所詮この程度

120:デフォルトの名無しさん
05/03/02 23:19:41
P5を3G携帯で動かす方法ってどこかに載ってます?
個人ではまだむりですかね?

121:デフォルトの名無しさん
05/03/02 23:36:30
■2005/02/02 (水) の日記参照
URLリンク(www.diary.ne.jp)

ここによると3Gは色々と悲惨みたいね

122:デフォルトの名無しさん
05/03/03 07:27:39
バッチでてんぱってる人へ。
URLリンク(potter.s5.xrea.com)
ここのは参考になるかな?
批判されまくりだがまぁガンバレ。

123:デフォルトの名無しさん
05/03/04 05:16:57
java\utilの中見てもList.classがないのですが
携帯アプリでListは使えないの?

使う方法があれば教えてください

124:デフォルトの名無しさん
05/03/04 07:32:23
>>123
MIDPのドキュメントくらいちゃんと読め。
javax.microedition.lcdui.List

125:デフォルトの名無しさん
05/03/04 18:22:55
開いたhttpコネクションを閉じずにアプリを続けたらどうなる?
なんかゲームは動いてるのにアプリマークが点滅視点だけど

126:デフォルトの名無しさん
05/03/04 18:49:48
自己完結、乙。

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にしたら、エミュレータ自体が起動しなくなるんだが。


128:デフォルトの名無しさん
05/03/05 04:54:58
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()が非同期で動作するように変更されてる。
ちょっと凝ったアプリは処理を見直さないと駄目かも。欝だ・・・


129:デフォルトの名無しさん
05/03/05 08:26:00
>>127
両方入ってるならコンパネのJavaPlug-inで使うランタイム1.4を指定してやれば?

130:デフォルトの名無しさん
05/03/05 10:35:27
>>128
シャープとNECはその辺の互換がないのを問題と認識していて
902SH,802SH,802NはMIDP2.0とMIDP1.0をデュアルで搭載してる。
だから"動かすだけ"であれば今までのjadで動くはず。

それでも一筋縄ではいかないというのが>>121のお話し

131:デフォルトの名無しさん
05/03/05 22:01:52
>>127
JREの1.5を削除したら動く。
JDK1.5は残しといて大丈夫そう

132:デフォルトの名無しさん
05/03/06 17:45:12
>>130
そんなことはしてないって…。MIDP2.0だよ~。


133:デフォルトの名無しさん
05/03/06 18:19:38
どっちだよw

134:デフォルトの名無しさん
05/03/06 20:05:10
>>130
今までのjadで動かないから120のような質問が出てくるのでは?
それに、シャープとNECの携帯にMIDP1.0と2.0がデュアルで載っているという根拠は?


135:デフォルトの名無しさん
05/03/07 22:09:53
ちょい質問。
J-SH53にデフォで入ってる答えてミッフィーの音声認識って
どうやってんの?
どっかに仕様とか出てんの?

136:デフォルトの名無しさん
05/03/07 22:25:21
>>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);

ここからどうしていいか全然わかりません。

138:デフォルトの名無しさん
05/03/09 22:21:57
>>137
vodafoneのサンプルのなかにStorageConnectionってのがあるから、
それ見てみましょう~。

139:デフォルトの名無しさん
05/03/10 01:00:54
resって、KToolbarで作るプロジェクトの、jarに同封するリソースファイル類っていう認識でいいんだよね?
getResourceAsStreamじゃダメなの?

ところでresource:///って何?

140:デフォルトの名無しさん
05/03/10 01:30:14
結局、130は知ったかぶりが適当なことを言っただけ?
紛らわしいことして何が楽しいんだか。

141:デフォルトの名無しさん
05/03/10 02:25:21
ただ、シャープとNECはJSCLに対応してるから、互換性が高いのは確か。

142:デフォルトの名無しさん
05/03/10 03:23:28
でもそのままじゃ動かないらしいんだよねぇ。
純粋にMIDP1.0オンリーなら動くらしいけど。

143:デフォルトの名無しさん
05/03/10 07:00:08
簡単な文字を表示したり線を引いたりするアプリを作ってみたのですが
エミュ上では普通に表示されるのに実機で動作させると描写するラインが太いです
これを細くする命令とかあるんでしょうか?

144:デフォルトの名無しさん
05/03/10 09:50:47
>>143
JADファイルに、
MIDlet-Application-Range: 0,0
を追加。

145:デフォルトの名無しさん
05/03/10 11:30:04
>>141-142
MIDP部分の互換性に問題が(ry

>>144
それも3Gでは、ダ(ry


146:デフォルトの名無しさん
05/03/10 12:29:01
3GでStrageConnectionみたいのはあるのかい?

147:デフォルトの名無しさん
05/03/10 22:03:26
>>144
㌧クス

148:デフォルトの名無しさん
05/03/11 09:06:27
サーバーから画像を落とす処理を行ってるのですが、画像が化けてしまっています。
エミュ上では問題ないのですが、何が原因かわからないでしょうか・・・

149:デフォルトの名無しさん
05/03/11 09:11:20
さっぱりわかりません。

150:デフォルトの名無しさん
05/03/11 12:16:11
>>148
Imageを落とすわけじゃなくbyte[]だろ?
画像云々というよりbyte列を検証してみればいいジャマイカ。
人間の髪の毛が黒かったのが金髪になったとかの変化なら面白いけど
どうせ単に画像生成失敗してるだけだろ?
1度にGETできるサイズは10KB程度だったりする部分じゃない?

151:148
05/03/11 14:05:31
byte列で確認したところ、エミュと実機では値が違いました。
画像サイズは5KBほどなのでサイズは問題ないと思うのですが・・



152:デフォルトの名無しさん
05/03/11 15:06:05
3DのVアプリを作成してみたいので、勉強するための書籍やサイトを教えてください。

153:デフォルトの名無しさん
05/03/11 15:11:00
>>152
URLリンク(www.google.com)

154:150
05/03/11 15:46:09
>>148
じゃあアレだ。エンコードかかってるんだ。
自分の場合servlet経由でjpeg送るとき、octet-streamでうまくいってるから、
.htaccessとかでそのファイルにこんなMIMEタイプ指定すればいいと思う。

>>152
3Dはまずツールが高いので手を出しにくいと思う。とりあえずここは読んどけ。
URLリンク(www.saturn.dti.ne.jp)

155:152
05/03/11 18:40:21
>>154
どもです。

156:デフォルトの名無しさん
05/03/12 07:05:40
アプリタイトルを全角にすると???となってしまいます
どうすれば全角文字のタイトルが付けれるのでしょうか?

157:デフォルトの名無しさん
05/03/12 08:42:30
>>156
UTF-8で保存
XPのメモ帳なら保存時に指定できる

158:デフォルトの名無しさん
05/03/12 09:01:54
>>157
できましたー。ありがとー

159:デフォルトの名無しさん
05/03/13 11:41:28
RecordStoreに自身のjarを保存するにはどうすればいいですか?
createImageでjar内のpngが読み出せるのだから方法があると思うのですがうまくいきません

160:デフォルトの名無しさん
05/03/13 14:23:23
>159
何のために?


161:デフォルトの名無しさん
05/03/13 20:06:12
>>159
目的のjarをサーバに置いといてダウンロードしてRecordStoreに格納すれば?
それをやったところで>>160が言う通りだけど

「createImageでjar内のpngが読み出せる」ことを引き合いに出してる意味がわからない
「RecordStoreに自身のjarを保存(しようと)する」ことと何の関連があるの?

162:159
05/03/13 22:08:30
>>160
>>161

根本的に何か間違ってるみたいですね
createImageのようにjar内にデータファイルを格納して
プログラムから読み出したいのです

163:デフォルトの名無しさん
05/03/13 22:22:15
>>162
質問の仕方が悪いと思うんだが…
どういう手順でどういう結果が欲しいのか
順を上げて書いてくれないとアドバイスしようがないと思われ。
RecordStore内のjarを読み出したいって言いたいの?

164:159
05/03/13 22:54:48
>>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) {}
 }
}

こんな風になってます


165:163
05/03/13 23:19:42
>>164
RecordStore関係なくないかw
リソースへのInputStreamはgetClass().getResourceAsStream()から
取得できるはずだけど…
jar内まで読み出せるかはわかんね。
っていうかjar内にjarを格納するのはどうかと思うが…

166:159
05/03/13 23:47:02
>>165
in = getClass().getResourceAsStream()で無事開きました!!!
ありがとうございます

RecordStoreは全然関係ないのでしたか・・・・orz

167:デフォルトの名無しさん
05/03/14 00:04:42
単にjarの中のファイルを読み込みたかっただけかYO!
今すぐMIDPの入門書買って来い

168:161
05/03/14 00:05:33
ようするに質問は
 「ビルドしたときにjarに入れたgame.datというファイルをプログラム内で読み込みたい
  どうやればいいか」
ということだったのだな。
そして
 「jarに入れたpngはcreateImageで読み込めるけどgame.datは読み込み方が分からない」
ということを伝えたかったのだな。>>163=165乙。

169:デフォルトの名無しさん
05/03/14 05:20:06
>>128
今まで意識してなかったけど、
MIDP-1.0の時からユーザー定義の属性には
「MIDlet-」から始まる名前は付けられない仕様ですよ??
だから「MIDlet-OCL~」は別にボダ独自ではないのかも

170:デフォルトの名無しさん
05/03/14 07:32:30
年齢高くて未経験者は採りづらい。
ってか、スキルに自信あるなら、未経験でも経験者だって嘘ついてもばれないので
実際、面接とか受けるときは、ばれない嘘はついてもよし。
一応、応援してるのでがんばってはみろ。

171:170
05/03/14 07:32:52
ごめん誤爆った。

172:デフォルトの名無しさん
05/03/14 13:13:42
スレリンク(appli板:623番)
>V603SHではアプリ1回の起動ごとのレコードストアに書き込むデータが約40kbyte以下
>でないと終了時にエラーが出てしまう。
これって本当ですか?100KBくらいレコードストア使ってるけどCPさんから連絡ないよ?

173:デフォルトの名無しさん
05/03/15 00:03:34
レコードストアってどのくらいのサイズまでいけますか?

174:デフォルトの名無しさん
05/03/15 00:05:45
>>173
>>2

175:デフォルトの名無しさん
05/03/15 10:05:18
先輩方こんにちは。いつもお世話になります。
RecordStore は「任意のnバイトから、nバイト読み込む」のはムリっすか?
(docomo の spad ライクに)。
100K のデカイrecordstoreに任意にアクセスしたいのですが、
丸ごとbyte[]に読んで、いじって、書き戻す、しかないでしょうか。ヒープが不安。



176:デフォルトの名無しさん
05/03/15 11:18:53
>>175
レコード作る時点で区切っといたら?そこがスクラッチとの違いで利点じゃない?
多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
ファイル毎にレコード作れば特にバイト長とか気にしなくていいし楽だと思うよ。
あと、デカイのはレコードストアじゃなくてレコードでしょ?ミス?マジボケ?

177:デフォルトの名無しさん
05/03/15 12:27:23
>>176
>多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
そんな感じです。
結合済みの 100K のバイナリをHttpでダウンして保存、
各ファイルはヘッダのアドレス情報を元にアクセスしてます。
(DoJa から移植なので今のところはこうなってます。)
>レコード作る時点で区切っといたら?
上記の部分を書き直さずに(マクロとか)で済むと幸せだなあ、と。
リニアにアクセスできないものか、と。

Http から落とした時点で別のレコードにして保存するのも考えてみます。
レスありがとう。

178:デフォルトの名無しさん
05/03/15 20:02:08
ボダでの半透過方法を教えて下さい

179:デフォルトの名無しさん
05/03/15 20:09:20
>>178
JSCL1.2以上だったらcom.j_phone.util.GraphicsUtilを使おう。
getPixelで色を取得し、色をミックスした後にsetPixelする。遅いのでお勧めできない。

180:デフォルトの名無しさん
05/03/15 20:36:21
BMP限定になるけどTexture使ったほうがはやいよ

181:デフォルトの名無しさん
05/03/17 08:45:25
今まで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 個

183:デフォルトの名無しさん
05/03/17 23:20:49
current directoryとは何かから説明しないといけない時代になったのか。

184:デフォルトの名無しさん
05/03/17 23:52:03
Vアプリですから・・・

185:デフォルトの名無しさん
05/03/18 00:19:44
>>182
まずはWindowsのコマンドプロンプトの使い方を調べ。
これじゃC:\がカレントパスだから
C:\*.javaが見つからないと怒られている。

186:デフォルトの名無しさん
05/03/18 00:19:57
>>182
そのエラーの場合で一番簡単な回避方法
C:\に*.javaをおきましょう

187:デフォルトの名無しさん
05/03/18 07:04:10
>>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…としないとだめなのね。
みなさまありがとうございました、解決できました。

189:デフォルトの名無しさん
05/03/20 00:53:44
Vアプリでファイル読み込みをしているんですが、大きいファイルで落ちてしまい困っています。
エミュ上のメッセージボックスには
Uncaught exception java/lang/OutOfMemoryError
とあります。
StrageConnectionを開き、サイズを取得、その後空きメモリを調べて
2KBほど余裕があった場合にサイズ分メモリ確保しているのですが落ちてしまいます。
落ちない場合もあります;;
try~catchで囲んでも例外をキャッチできませんし、newの戻り値のnullチェックの前に落ちます。
これ、なんとかなりますか?

190:デフォルトの名無しさん
05/03/20 01:26:07
>>189
OutOfMemoryErrorって言われてんだから2KBじゃなくて
もっと残りメモリに余裕を持たせればいいだけじゃない。

191:デフォルトの名無しさん
05/03/20 01:45:50
>>189
> サイズ分メモリ確保
C++とかじゃないんだし、正確に1KBたりとも誤差なしにメモリ確保とか不可能じゃないかと思うんだが。
OutOfMemoryErrorなんだから、おとなしくメモリ減らせ。
あと、catchするのは、例外(=Exception)じゃなくてエラー(Error)ね。

192:デフォルトの名無しさん
05/03/20 02:03:06
>>190>>191
2KBは間違いで、200KBでした。なんでこれだけ余ってるのに確保できないんですかね。
サイズ分って言うのはファイルサイズ分ってことです。
すいません、例外じゃなくてエラーなんですね;;勉強不足でした。
エラーをキャッチしたところ落ちることはなくなりました。
ありがとうございました。

193:デフォルトの名無しさん
05/03/20 02:11:07
補足。
(空きメモリ) - (ファイルサイズ) が204800B以上のときでも
ファイルサイズ分確保できないことがあるってことです。
でも、落ちないようにできたのでよかったです。どうもでしたm(_ _ )m

194:デフォルトの名無しさん
05/03/20 23:31:01
通信で取得したXMLを扱いたいんですが、MIDP用のXMLパーサってあるんでしょうか?

195:デフォルトの名無しさん
05/03/21 00:27:45
>>194
URLリンク(www.nilab.info)

196:デフォルトの名無しさん
05/03/21 02:17:35
>>194
URLリンク(developers.sun.com)

197:194
05/03/21 11:47:40
>>195-196
トンクスです。

198:デフォルトの名無しさん
05/03/21 23:42:46
あげ

199:デフォルトの名無しさん
05/03/28 00:33:58
3Gまだぁ?(・∀・ )っ/凵 ⌒☆チンチン

200:デフォルトの名無しさん
05/03/28 18:03:37
else if とswitchってどっちが効率的なんでしょうか?

201:デフォルトの名無しさん
05/03/28 19:52:13
容量的にも速さ的にもelse if
できればifオンリー
けど作り方によってはswitchの方が便利なときもあるかも

202:200
05/03/28 22:41:21
>>201
どもです。勉強になりました。

203:デフォルトの名無しさん
05/03/29 05:53:27
>>201
速さはswitchのほうがいいんでない?
とくに数字が連続してる時はテーブルジャンプになるし

204:デフォルトの名無しさん
05/03/29 07:01:30
switchの中身はelse if

205:デフォルトの名無しさん
05/03/29 13:05:30
容量重視→if オンリー
速度重視→else if

こんなかんじでいい?

206:デフォルトの名無しさん
05/03/29 13:52:53
>>205
あと処理コスト一定重視→switch(ただしcase値が連番のときのみ)

207:デフォルトの名無しさん
05/03/29 19:40:56
なるほろ。処理コスト一定重視とかもあるのね。

208:デフォルトの名無しさん
05/03/29 22:12:38
>>204
違うだろ。
case値が連番のときはtableswitchで
ジャンプテーブル作ってくれるからelse ifで一個ずつ
比較するより速いはず。
連番でなくても
The Java virtual machine specifies that the table of the lookupswitch instruction must be sorted by key
so that implementations may use searches more efficient than a linear scan.

URLリンク(java.sun.com)
ここの7.10 Compiling Switchesでも読んどけ

209:デフォルトの名無しさん
05/03/30 01:32:34
一番見やすい奴でいいんじゃないの?
初期機種のアプリなんかもう作らないでしょ

210:デフォルトの名無しさん
05/03/30 12:12:45
700iが30KBだよ

211:デフォルトの名無しさん
皇紀2665/04/01(金) 12:12:04
EZアプリで日本語(UTF-8)のプロジェクト名にするとコンパイルはできるんですがエミュでは動かない

212:デフォルトの名無しさん
int 2ch =05/04/01(金) 20:06:10
>>211
うんそうだね。ガイドにちゃんと制限書いてるしね。で?

213:デフォルトの名無しさん
int 2ch =05/04/02(土) 00:28:59
3Gの仕様公開キタ━━━(゚∀゚)━━━ !!!!!

214:デフォルトの名無しさん
int 2ch =05/04/02(土) 00:50:49
ちょっと見た感じだと
MIDxlet-APIの項目をjadに追加すればいいのかな

215:デフォルトの名無しさん
int 2ch =05/04/02(土) 01:01:51
 ・新機能導入の手引き2004
  ~3GC型端末編~ Ver1.1.0

を見るといろいろ変わってるねえ。


216:デフォルトの名無しさん
int 2ch =05/04/02(土) 01:13:03
読み進めていくとorzになるね。
画面の同期とか・・・

217:デフォルトの名無しさん
int 2ch =05/04/02(土) 01:27:45
塚さ、ストレージコネクションでのアクセスを推奨するfile:///mc/以下のパスって
SHがOther Documents
NがOther Files
と違うんだが作り分けなきゃいかんの?

218:デフォルトの名無しさん
int 2ch =05/04/02(土) 08:16:27
MIDP-2.0の日本語版リファレンスって公開されてる??

219:デフォルトの名無しさん
int 2ch =05/04/02(土) 08:30:07
俺の記憶には無い

220:デフォルトの名無しさん
int 2ch =05/04/02(土) 11:47:03
jadファイルを書き換えるだけでとりあえずは動くのですか???

221:デフォルトの名無しさん
int 2ch =05/04/02(土) 12:14:20
クラスファイル C:\JSCL122_SDK101\lib\jscl.jar(com/j_phone/ui/FEPControl.class) は不正です。

クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。

削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。

import com.j_phone.ui.FEPControl;


3GでBuildしなおそうと思ったらこんなエラーが・・助けてください・゚・(つД`)・゚・

222:デフォルトの名無しさん
int 2ch =05/04/02(土) 13:30:41
やっぱり通信でエラー出るなぁ・・・<3G

223:デフォルトの名無しさん
int 2ch =5年,2005/04/02(土) 17:09:32
MIDlet-Permissions:
とか追加しなきゃダメなのか。面倒だな。

224:デフォルトの名無しさん
05/04/02 19:14:01
KEY_NUM2とUPがかぶってやがる・゚・(つД`)・゚・

225:デフォルトの名無しさん
05/04/02 20:38:47
エミュだと通信できるけど
端末だと通信できん・・・

226:デフォルトの名無しさん
05/04/03 15:08:32
3G開発環境を作成したが、うまくコンパイルが通らない。

StringBuilderというクラスなんか使用していないのに、
コンパイルすると「ファイル java\lang\StringBuilder.class が見つかりません。」
とかいうエラーが出てきやがる・・・。

StringBuilder.classファイルがどこかにないか探してみたけど、
「cldcapi11.jar」にも「midpapi20.jar」にも「stubclasses_JSCL.zip」にも
入っていません。もう手の打ちようがないので誰か解決方法を教えて下さい。


227:デフォルトの名無しさん
05/04/03 16:00:49
>>226
漏れは2Gの開発環境(JSCL1.2.2)でMANIFESTとJADだけを変えたらうまくいったよ。
エミュレータだけ3G用を使ってる。

228:226
05/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
エラーが発生するようになったので。


229:デフォルトの名無しさん
05/04/03 18:02:30
3Gで通信に成功した人いる?

230:デフォルトの名無しさん
05/04/03 18:48:29
3GでStorageConnectionに成功した人はいますか?

231:デフォルトの名無しさん
05/04/03 20:30:56
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


232:デフォルトの名無しさん
05/04/03 21:12:26
>>231
MIDlet-1はなぜかjadにかかないとだめ

233:232
05/04/03 21:13:18
ごめんなんでもない

234:デフォルトの名無しさん
05/04/03 21:14:00
>>231
2GのときにつくったのだったらMIDP-1.0なんじゃ?

235:231
05/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
05/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
05/04/03 23:29:10
やっぱり受信しようとしても
nullしか帰ってこねぇ・・・

通信はしてるみたいだけどなぁ・・・

238:デフォルトの名無しさん
05/04/04 04:07:19
>>231
Hello Worldだけのソフトにしてはでかいなぁ

239:デフォルトの名無しさん
05/04/04 09:26:28
3Gのエミュって画面でかすぎで等幅フォントじゃないんですが
どこで変更できるのでしょうか?
あとレコードストアのファイルはどこに保存されているのですか?

240:デフォルトの名無しさん
05/04/04 18:25:48
ブラウザアプリ作っているんですが、基本的な所で引っかかってしまったので質問です。

HttpConnectionて串に接続するのってどうすればいいんでしょうか?
APIドキュメント見たりググったりしたけどいい資料が見つかりませんでした。

APIドキュメント読むと接続先とパスをまとめてStringで指定している様なので、普通の方法では無理なんでしょうか?

やはり中間鯖自分で書いて別の方法でURL渡すしかないのかなorz
何かいい方法があったら教えてください。

241:デフォルトの名無しさん
05/04/04 19:25:41
串っていうか、DL元の鯖としか通信できんし

242:デフォルトの名無しさん
05/04/04 20:09:46
3GでStorageConnection#list()を使うと
フォルダの最後に'/'がついてないのはなぜ?

243:デフォルトの名無しさん
05/04/04 21:28:35
言われるがままにRuntime更新したらエミュで動かなくなった orz

244:デフォルトの名無しさん
05/04/04 21:36:31
>>241
そんな事はないぞ・・・制限はキャリア毎にまちまちだが。
そも、240は自分で串立てるの前提で話してないか?中間鯖自分で作る様な事にも言及してるし。

>>240
MIDPの話なら無理。Dojaなら可能。

245:デフォルトの名無しさん
05/04/04 21:44:21
3GCについて質問です。
StorageConnectionを使用しようと思ったのですが、
どうもUntrushed Domainをつけられてしまっているようで使えません。
Trushed Domainにするにはどうすればよいのでしょうか?

246:デフォルトの名無しさん
05/04/05 00:02:08
>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
05/04/05 00:18:12
>>246
Trustedでした。訂正thx。
PKIによる認証メカニズムとかPDFにありますが、どうやればいいのかさっぱりですね。
しかし今頃まで待たせといてこんなとは・・・

248:デフォルトの名無しさん
05/04/05 00:36:00
URLリンク(www.nokia.co.jp)
端末は、.JAD ファイル内で MIDlet-Jar-RSA-SHA1 属性を検出すると、認証および権限付与プロシージャを開始します。
認証中に、端末は、.JAD ファイル内の属性 MIDlet-Certificate-<n>-<m> に記述された証明書チェーンを読みます。
ここで、n と m は証明書チェーンを示す番号です。
MIDlet 証明書をいずれかのルート証明書で確認できた場合、端末は、証明書から公開鍵を抽出し、それを使って .JAR ファイルの署名を計算します。そして、それをルート証明書に割り当てられた保護ドメインと比較します。
.JAD ファイル内の MIDlet-permissions attribute で要求された 1 つ以上の権限が保護ドメインにない場合、インストールは失敗し、続行は許可されません。

249:デフォルトの名無しさん
05/04/05 18:49:50
通信できない・・・
やはり認証キーが必要な機能は無理なのだろうか?

250:デフォルトの名無しさん
05/04/06 15:24:45
3GCの話題の中、低レベルな質問ですいません。
vアプリをテスト鯖にupしようとしたところ
「ADFの内容に問題があります。」
という審査メッセージとともに拒否されてました。
これはjadやマニフェストが間違ってるということでいいんですか?

251:デフォルトの名無しさん
05/04/06 15:26:46
>>250
Yes

252:デフォルトの名無しさん
05/04/06 15:35:38
>>251
サンクス
upできた本のサンプルと比べても何が悪いのかわからずorz

253:デフォルトの名無しさん
05/04/06 15:43:53
>>252
jarファイルをupして3秒まってからjadファイルをUPしてる?
同時にやるとはじかれる場合がある。

254:デフォルトの名無しさん
05/04/06 16:23:41
>>253
それは知ってたのでその点は大丈夫です。

eclipse(voda公式プラグイン有)で作成したjar,jadをupしていたんですが、
試しにWTKで作成jar,jadを作成してupしてみたところ無事通過しました。
お騒がせしました。

原因は不明ですが、こんな初歩でやる気を失わずに済んでよかったヽ(゚∀゚)ノ

255:デフォルトの名無しさん
05/04/06 17:02:08
3G開発環境更新されました。
ダウンロード直前まで行かないと更新されていることがわからない、、、

256:デフォルトの名無しさん
05/04/06 17:08:15
>>255
情報乙です。
ボダのやつこっそりバグ直したのかw

257:デフォルトの名無しさん
05/04/06 17:17:42
>>254
2つのjadを見比べてどこが違ってるのか調べればいい。
で、何が違ってたのか報告してくれると他の人が参考にできる。

258:デフォルトの名無しさん
05/04/06 17:19:09
新しいの入れたら、ビルドでエラーでるのはなくなった。

259:デフォルトの名無しさん
05/04/06 17:25:38
Utilities>Sign MIDlet>Sign MIDlet Suite
でjadファイルを選択すると、
MIDlet-Certificate-1-1:
MIDlet-Jar-RSA-SHA1:
の項目が追加されたけど、これで通信できるかな?

260:デフォルトの名無しさん
05/04/06 20:19:52
PreferencesツールのSecurityタブのSecurity domainをtrustedにしたら
ファイルアクセスできるようになったのですが、
こんな対応でいいのかな。
なんかよくわかりません。

261:デフォルトの名無しさん
05/04/06 20:38:16
>>260
それはこのアプリがTrustedである状態だとしてエミュレートしてるだけでしょ。

実機では相変わらずUntrusted・・・orz

262:デフォルトの名無しさん
05/04/06 23:05:48
>254
eclipse のプロジェクトの bin ディレクトリのじゃなく
プロジェクトのディレクトリの jad ファイルを使ってたって
オチじゃないよね?

というか報告ヨロ。


263:デフォルトの名無しさん
05/04/06 23:12:00
eclipseでビルドしたやつはjadとMFに下のやつが挿入されるけど
挿入されない方法はありますか?

Manifest-Version: 1.0
Ant-Version: Apache Ant *.*.*
Created-By: **** (Sun Microsystems Inc.)

264:254
05/04/06 23:49:33
>>262
流石にそれはないですw

今eclipseでビルド、jadやら変更したのをupしてみたら、
審査は通ったものの携帯でダウンロード完了とともに
「データが不正なためダウンロードできません」

jad,MFをいろいろいじったり、WTKでビルドしたりeclipseでビルドしたり
したので、最初審査に通らなかった理由は確認できない&訳分からなくなってきた。
なんかもうぬるぽ

265:262
05/04/07 00:23:49
私はテスト用で審査を通らなかったことは無かったんだが、
(Shift-JIS でも何故か通った)
V602SH でダウンロードできるアプリが
V601T や V602T で同じく
「データが不正~」
と言われたな。jar ファイルのダウンロードの前だが。

そこから jad ファイルが悪い(MANIFEST は jar に入ってるから)と予想して、
結局、jad 込みで内容が公開されているアプリと比較して、
書かれている項目、書かれていない項目をできるだけそろえて
(項目の順番、さらに項目とパラメーターの間のスペースまで)
それで公開したら動くようになった。
自分でも、どこが悪かったのか分からない。


266:265
05/04/07 00:24:43
追記。
Shift-JIS で jad 書いてしまったときは、
当然 jar はダウンロードできんかった。


267:デフォルトの名無しさん
05/04/07 01:18:45
>263
1行目と3行目は難しいんじゃないかなぁ。単純にjarでまとめても入る内容だし。
2行目は漏れもウザイと思ったんで、いろいろ調べたが
結局、antのjarタスクに属性いっこ足して、消せるように改造した。
……で、ここでその改造したソース(せめてパッチだけでも)あれば良かったんだがなくした、スマソorz
ま、まぁ、正直ソース取ってくるのと、ソースからantビルドする方が
コードに手を加える時間より圧倒的に長かった覚えがあるから、ちょこちょこっと書き換えて
差し替えればOKだYo (と逃げる)

268:デフォルトの名無しさん
05/04/07 01:37:21
>>267
結局1行目と3行目は難しいんですか・・・orz

アプリゲットだと「一行目がMIDlet-ではありません。」エラーが出るから
いちいち手で消してます (T 3 T)

269:デフォルトの名無しさん
05/04/07 01:45:23
SOAP-RPCのライブラリでメジャーなのあるのですか?

270:デフォルトの名無しさん
05/04/07 02:05:37
何度もすいませんが、J2MEでメジャーなDBというはあるのでしょうか?

271:デフォルトの名無しさん
05/04/07 07:51:33
>>259
これやってみたけど
不正なデータになる・・・。

272:デフォルトの名無しさん
05/04/07 13:22:09
>>271
俺も不正なデータになった。
Vodafoneがキーを配布するまで無理なのか?

273:デフォルトの名無しさん
05/04/07 22:48:04
>268
ん? ……そう言えば、漏れがやってたときは、jadは純正ツールに任せず、
jarのサイズ計ってそれ書き出して、MANIFEST.MFを追記してjadこさえるツール書いて
それでやってたような記憶が……
「1行目が~」はそれでなんとかならんかな。
参考になるかわからんが、そのツールのソースはあるんで、うpろだとか分かるならうpするけど。
// てか、漏れのターゲットはあうだったんで、もしボダの話だったら話が食い違ってるかもでスマソpart2。

274:268
05/04/08 00:11:11
>>273
jadファイルに書き込まれるのは純正ツール(Zentek謹製)のせいでした。
こっちのAntTask使ったらjadに余計なものはかかれなくなりました。どもです。
URLリンク(www.nilab.info)

275:デフォルトの名無しさん
05/04/08 14:52:54
下らん事でスマンが、

MANIFEST.MF → エントリポインタなどの実行環境のメタ情報
***.jad → jarファイルの情報

って認識でいいのかね。
重複した情報を毎回書いてると、なんじゃこらと思えるようになってきてな。


276:デフォルトの名無しさん
05/04/08 21:41:57
調べてはいるのですが中々よくわからないので質問します。
V702NKって電波強度とか取得できるのですか?

277:デフォルトの名無しさん
05/04/09 06:14:32
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エミュレーター側の設定の問題のような気がしますが、
色々いじってみるものの、改善されません。
どなたか原因の分かる方はいらっしゃいませんでしょうか?

278:デフォルトの名無しさん
05/04/09 09:26:13
>>277
MIDlet-PermissionsやらTrusted/Untrustedやらの詳細が
SDKドキュメントになくてまだかなり苦労していますが、
以下をやるとSecurityExceptionは出なくなりました。

[スタート]-[プログラム]-[JSCL 1.2.2 SDK 1.0.1]-[Preferences]
からtrustedモードに変更

実機持ってないのでわからないが、実機側でアプリ毎に
trustedと設定するところがあるんじゃないかと推測中

279:デフォルトの名無しさん
05/04/09 10:48:13
P6型のVアプリを3Gに移植中です。P6型エミュレータでは
画面いっぱいに表示されていた画像が、3Gエミュレータでは
なぜか右端と下端何ドットか余る状態で画像が表示されます。

これは3Gエミュレータの解像度が元々320×260以上あるから
でしょうか?それとも何か設定をしないと、画面いっぱいに
画像等を表示する事ができないのでしょうか?



280:デフォルトの名無しさん
05/04/09 11:18:47
Trustedは実機で設定するとかじゃないよ
信頼できる署名だからね

281:デフォルトの名無しさん
05/04/09 12:11:59
>>280
え?え?
一般作者ではTrustedにすることはできない?
つまりJSCL1.2.2でもStorageConnectionは使えないってこと?


282:デフォルトの名無しさん
05/04/09 12:59:20
通信も無理か・・・

283:デフォルトの名無しさん
05/04/09 23:31:47
んーーと、Trustedが必要なアプリを実機で走らすのは今のところ不可能。
(通信、データフォルダなど)
ってことでOK?
オレはドキュメント読むだけで、まだ何もやってないんだけどね。

MIDxlet-API
MIDxlet-Resident
MIDxlet-ScreenSize
MIDlet-Permissions
を追加すればおしまいかと思ってたのに。

284:277
05/04/10 04:53:45
>278さん
ありがとうございます!
とりあえずエミュレータ上からは、ストレージへのアクセスが出来ました。
実機は持ってないので試せませんが、後の方々のレスを読む限りじゃ、・・・(ぽかーん)・・・って感じですね。

この縛りは正直キツいです…。
作ったのが無駄になる可能性がっ。

285:デフォルトの名無しさん
05/04/10 13:53:21
Vアプリのテスト鯖にうpしたものを改良して差し替えたいときは
普通に削除してうpしなおすだけでいいんですか?
登録したアプリを差し替えるのは面倒な手順を踏むようですが・・・

286:デフォルトの名無しさん
05/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
05/04/13 16:15:28
補足だが、パッケージは
import com.j_phone.io.*;
import javax.microedition.io.*;
で組み込んでる。
i-appliからの移植で、画面周り以外は殆ど変更してない。
ロードできないってんだから、もしかするとエミュレータでは動かせないのかも知れんな。
動作した!って奴居る?


288:デフォルトの名無しさん
05/04/13 20:11:42
はいimportの説明好きな人出番ですよ、と↓

289:デフォルトの名無しさん
05/04/13 23:16:41

    ,,-‐、______,-''三ヽ     し
   ( ミ,,-―――-- 、丿     ら
   /::/   U        `ヽ     ん
  /:/   (;;;;;;;;;)ノ ハU(;;;;;;;;;)U ヽ    が
 /:/ U  i||| -     l - lli   i     な
 |;|         、__丿     U i   !!!
 ||      U   ,ニ,ニ、      i.    
 |::|   U     | |  ̄ | |  U <三三
三三>       U l iエエ,i      人   
 |:::::::::ヽ、______ー___,,-'':::::
 |::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

290:デフォルトの名無しさん
05/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を作成
------------------
です。
よろしくお願いします。


291:デフォルトの名無しさん
05/04/13 23:18:55
とりあえずExceptionをcatchすれば?

292:290
05/04/13 23:40:46
>>291
返答ありがとうございます。
自己解決しました。。。
原因はエミュバージョンの相違にあった様です。
V-appli_SDK_121 ---> V-appli_SDK_122
にしたらガンガンに音が出ました。
*.spf って 1.2.2 からなのでしょうか?

質問してわずか数分で解決する私って、、、
2日間はなんだったのでしょう、、、orz

ありがとうございました。


293:デフォルトの名無しさん
05/04/14 18:12:48
解決したからよかったけど、1.2.1でもspf対応してるぞ。

294:デフォルトの名無しさん
05/04/14 22:42:28
>>287
興味わいたから俺もヴォダホンで作ってみたが、動くぞ。
その様子じゃクラスパスも通してるだろうし、別の所の問題じゃねーの?

295:294
05/04/14 23:48:36
あ、WTKエミュでは動かんぞ。
解ってるだろうけど。


296:デフォルトの名無しさん
05/04/16 12:38:23
もう16日だけど3Gで通信できたかたはいます?

297:デフォルトの名無しさん
05/04/16 17:55:05
622 名前:非通知さん@アプリ起動中[sage] 投稿日:2005/04/16(土) 17:49:56 ID:YXzZgnwq
某ブログでは4月下旬から3GC端末に対応予定。
7月下旬をめどに作者向けに署名付きアプリに対応予定だとさ。

7月下旬..orz

298:デフォルトの名無しさん
05/04/17 11:45:25
MIDP2.0でバイブレータの制御って出来ます?
もし出来るならVSCLを使わないで済ませたいので、、

299:デフォルトの名無しさん
05/04/17 11:58:15
つjavadoc

300:デフォルトの名無しさん
05/04/17 12:04:13
>>299
日本語版javadocあるの?

301:デフォルトの名無しさん
05/04/17 12:19:57
英語ぐらい読め

302:デフォルトの名無しさん
05/04/17 12:24:10
ググレ厨が24時間貼り付いてるスレはここデツカ?

303:デフォルトの名無しさん
05/04/17 12:37:34
英語なんて読めるか氏ね

304:デフォルトの名無しさん
05/04/17 12:49:02
そうも堂々と開き直られるとなんか気持ちいいな

305:デフォルトの名無しさん
05/04/17 15:27:39
>>298
漏れが見たところ無いみたいだけど。

306:デフォルトの名無しさん
05/04/18 02:55:35
>漏れが見たところ無いみたいだけど。
嘘書くなよ。
MIDP2.0でバックライトの点滅は
Display#flashBacklight()
バイブレーションの制御は
Display#vibrate()


307:デフォルトの名無しさん
05/04/18 05:47:42
「漏れが見たところ」って書いてんだから嘘じゃないだろ
>305が見落としたってだけの話

308:298=300=302=305
05/04/18 09:20:21
>>306
おー!そんな所にあったのか。ありがとうございます。完全に見落としてました。
色々とお騒がせしました。

309:デフォルトの名無しさん
05/04/18 15:58:46
コマンド(ソフトキー)の表示(消去)のみしたいんだけど
iアプリのsetSoftLabelみたいなものはありますか?

310:デフォルトの名無しさん
05/04/18 17:04:31
質問です。
Vアプリで機種ID(固体識別番号)を取得したいのですが、
取得するメソッドはありますか?
調べてみたのですが、それらしきものがなかったので、どなたか知っている方
ご教授ください。

311:デフォルトの名無しさん
05/04/18 20:41:33
au phase3対応エミュどこか落とせるとこないですか?


312:デフォルトの名無しさん
05/04/18 21:02:30
ない。

313:311
05/04/18 22:00:43
ぁぅ
やっぱりauはjavaをなかったことにする気なんですね…



314:デフォルトの名無しさん
05/04/18 22:04:49
>>311
少なからず持ってる人はいるんだから頼んでみるといい。俺も持ってるがアップはしたくない。
でも誰かが前どっかにうぷしてたな

315:311
05/04/19 00:37:08
メアドさらしてみます。
よろしくお願いします。

316:デフォルトの名無しさん
05/04/21 12:43:37
>>315は手に入れることが出来たのだろうか?


317:311
05/04/21 23:23:46
連絡ナッシングです。よろしくお願いします。

318:デフォルトの名無しさん
05/04/21 23:27:41
再配布は可なのだろうか・・・

319:デフォルトの名無しさん
05/04/21 23:44:54
(2)お客様は、本ソフトウェアを第三者に配布(ウエブサイトにアップロードさせること、雑誌、書籍等に添付すること等を含みます。)、レンタル、リース、貸与、譲渡および再度使用許諾することはできません。

320:デフォルトの名無しさん
05/04/22 17:06:43
MIDP1.0搭載Vodafone端末ではVアプリからのHTTPS通信は
出来ないのでしょうか?ご教授下さい。

321:デフォルトの名無しさん
05/04/22 22:29:28
V-appli_gaiyou に書いてあるんじゃないかなあ。


322:デフォルトの名無しさん
05/04/23 00:24:09
3Gは糞やね。
docomoからの移植が簡単だったから喜んでたら、エミュは実機と違い
すぎるわ、実機でのテストができないわ、端末かアプリの不具合の
どちらのバグかわからないわで最悪だ・・

vodaがぜんぜんやる気ねぃのがわかる。

323:デフォルトの名無しさん
05/04/23 23:17:07
実機でのテストができない、ってのは?

324:デフォルトの名無しさん
05/04/24 06:51:52
>>323
まだコンテンツアグリゲータから256k以上のアプリはダウンロード許可が降りない


325:デフォルトの名無しさん
05/04/24 17:29:46
学習リモコン作ってみようかと思ったんだけど赤外線の受信を感知する関数が無いのね・・・・残念

326:デフォルトの名無しさん
05/04/24 17:48:52
AACプレイヤー作ってみようかと思ったけどAACをデコードする関数がないのね・・・・残念

327:デフォルトの名無しさん
05/04/24 18:19:56
>>326
作れよw

328:デフォルトの名無しさん
05/04/24 21:42:39
>>320
漏れも知りたい。
誰か知らないですか?

329:デフォルトの名無しさん
05/04/24 21:49:50
>>327
デコードできても音出せないポ

330:デフォルトの名無しさん
05/04/24 22:30:57
それは問題だな・・・・

331:デフォルトの名無しさん
05/04/25 00:50:19
やっと、Vodafone もアプリから HTTPS できるようになったんで
802SH で HTTPS までできたのはいいが、UserAgent に UNTRUSTED 1.0 とか
でてきてしまう。これじゃ、端末の特定どころか機種も判別できないよ。
これも Domain の関係か・・・

332:デフォルトの名無しさん
05/04/25 15:24:34
やっぱVアプリのHTTPS通信は3Gからなんですかねぇ

333:デフォルトの名無しさん
05/04/25 20:43:13
なあ・・・。

P6までの概要.pdf の制約、制限に書いてある
「Vアプリ実行時のSSL通信機能は提供しない」
っていうのがまさにそういうことだと思ってたんだが・・・。



334:デフォルトの名無しさん
05/04/25 23:49:27
モーションコントロールでよっぱでも作るか

335:デフォルトの名無しさん
05/04/26 13:50:01
>>325
とりあえず、別の学習リモコンで受け取ったデータを
配布すればよくない?学習リモコンがセーフなら
バイナリデータ配ってもよさそうなもんだが・・・
あー、それとも学習はべつの用途か?

336:デフォルトの名無しさん
05/04/26 13:54:15
>>332,333
だな。
以前エミュでも実機でも試してみたが
どっちもだめだったよ。

337:デフォルトの名無しさん
05/04/26 14:12:29
>>335
学習リモコンを所有してるならわざわざアプリ作る必要が無いわけだが

338:デフォルトの名無しさん
05/04/26 19:15:29
通信は夏までおあずけ

339:335
05/04/28 01:38:20
>>337
確かに・・・

340:デフォルトの名無しさん
05/05/03 12:10:21
すいませんデバッグができなくて困っているので
助けていただきたいのですが。
Vアプリの勉強をポチポチ始めていまして
eclipse2.1.3+V-appli_SDK_122でボーダフォンの
マニュアル通り設定したつもりです。

デバッグでリモートjavaアプリケーションをやると
「リモートVMに接続できませんでした。接続は拒否されました」
と、エラーになります。

ちょっと前までちゃんと動いていたのに、あれこれやっているうちに
動かなくなってしまいました。

どの設定あたりに問題がありそうでしょうか。よろしくお願いいたします。

341:デフォルトの名無しさん
05/05/03 19:13:52
FW

342:340
05/05/04 02:06:56
自己解決しました。やり方がまずかったようです。
実行した後(エミュレータを立ち上げつつ)、デバッグさせるということ
だったんですね。

ですが、イニシャライズまわりの動きが見えないわけですが、
これはSystem.out.printするしかないのでしょうか。。。

343:デフォルトの名無しさん
05/05/05 00:31:00
>>342 リモートVMの起動オプションでリモートデバッガが接続するまで
実行を停止するのがある。

344:デフォルトの名無しさん
05/05/05 01:19:21
Vアプリ作成の参考書を買いに行こうと思ったけど、まったく本屋においてませんでした
(数年前はあったのに、、)iアプリはかろうじてありましたけど。
Vアプリを勉強された方は、Javaアプレット等のゲーム開発本で勉強→Vのドキュメント見て検討・作成
という流れなのでしょうか?
もしよい参考書やサンプルが充実しているサイトがあればご教授お願いします

345:デフォルトの名無しさん
05/05/05 01:27:34
追記:私がほしかったのは、こういう動作をさせたいときはこのメソッドを使って
こう書いてね、というやつです(「Java500の極意」、とかそういうサンプル集)

346:デフォルトの名無しさん
05/05/05 01:28:21
>>344
こことかどうかな?
URLリンク(www.saturn.dti.ne.jp)

わざわざJ2MEの本は買う必要ないと思うよ

347:340
05/05/05 02:20:05
>>343 レスありがとうございます。

すいません、そのオプションはどこにありますでしょうか。
一通り見たつもりなのですが、それらしきものがなく
(または意味がわかっていない可能性の方が高そう)

お手数おかけします。。。

348:デフォルトの名無しさん
05/05/05 03:05:12
>私がほしかったのは、こういう動作をさせたいときはこのメソッドを使って
>こう書いてね、というやつです
参考にするのが目的でもそこまでの内容は求めなくていいだろう。
そこを自分で考えてこそのプログラミングだし、写すだけならコピペ作業員だし。
・・・とか言うのはおやじの説教ですかそうですか。

349:>344
05/05/05 10:59:16
>346 ありが㌧参考にします。
>348 ヽ(`Д´)ノ ウワァンかけだしだから仕方ないと思って。
servletとかJSPなら書いたことあるけどゲームは完全に始めてなんですよ

350:デフォルトの名無しさん
05/05/05 10:59:39
定石ってのはあると思う。startAppの扱いとか。

351:デフォルトの名無しさん
05/05/05 11:05:47
>>348
BASICとか多少プログラミング言語をかじったことのある人が
JAVAをあまり理解しなくても、アプリを作りたいという人が多いのも事実。


352:デフォルトの名無しさん
05/05/05 21:19:25
最初はコピペから始めるだろ
1行ずつ増やしたり消したり変更したり
そうやって覚えたが


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch