[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/05 20:01 / Filesize : 291 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CLDC+MIDP+携帯電話用Javaスレッド part 4



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

前スレ:
CLDC+MIDP+携帯電話用Javaスレッド part 3
pc5.2ch.net/test/read.cgi/tech/1091798483/


過去スレ
携帯JAVAのスレッド
pc2.2ch.net/test/read.cgi/tech/1011977260/(DAT落ち)

CLDC+MIDP+携帯電話用Javaスレッド part 2
pc5.2ch.net/test/read.cgi/tech/1070858996/


--
Java一般に関しては:
【初心者】Java質問・相談スレ51【大歓迎】
pc5.2ch.net/test/read.cgi/tech/1091770298/

NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 6
pc5.2ch.net/test/read.cgi/tech/1091286071/

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

29 名前:デフォルトの名無しさん [05/02/22 21:12:44 ]
>>27
ログを見るとアクセスのタイミングがずっと同じなんです。
(セッションIDで確認しています)人間の手でやるには少し
無理があります。ほぼ24時間動いてますし・・・。

30 名前:デフォルトの名無しさん [05/02/22 21:16:48 ]
>>28
サブスクライバIDを利用して対策をしたところ、一時期アクセスが
減ったのですが少しすると対処されたのか同じようにアクセスされる
ようになりました。
サブスクライバIDも、Ezアプリの中で設定でき詐称できるようです。

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

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

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

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

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

33 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [05/02/23 06:30:44 ]
>>33
いや、まぁ確かにそうなんですけども

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

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



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

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

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

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

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

43 名前:43 mailto:sage [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 mailto:sage [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 mailto:sage [05/02/23 19:38:06 ]
連投すみません。zipとかjarとかは関係なくてただ設定が間違ってただけでした。

46 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [05/02/24 04:48:59 ]
>>47
話聞いてる限り、プログラム側のバグじゃないかと思えてきてしまう。
マルチスレッド考えずに値をいじってるとか。

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

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

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

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

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

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


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



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

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

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



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

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

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

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

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

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

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


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

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




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



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


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

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

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

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

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

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

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

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


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


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



78 名前:76 mailto:sage [05/02/27 14:56:04 ]
>>77
他のスレも見てみます。

↓それと、GCに関して詳しく書いてあるページもありました。
www.netgene.co.jp/java/technicalTerms.html


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


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

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

82 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/02/28 15:30:48 ]
>対処方法
1.訳す
2.意味を考える
3.調べる
これで解決

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

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

86 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [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 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/02/28 20:45:40 ]
俺クラス12個も作ってた ora


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

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

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

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

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

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



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

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

101 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/03/01 21:58:03 ]
ここは>>83-92をコピペすべきか?

106 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [05/03/01 22:38:30 ]
>>101
なるほど。レスありがとうございます。

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

112 名前:デフォルトの名無しさん mailto:sage [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) mailto:sage [05/03/01 23:09:27 ]
>>113
やっぱりね(同一人物件と解凍の両方の意味で)。
jarコマンドの最後が classes/ になってるけど / いらないんじゃないか?
「〜を追加中です」の部分が本来のフォルダ名(classes/test.classとか)に比べ
何か(ていうか / ./ の部分)多いから、変にフォルダ構造が出来たんだと思う。

115 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/03/02 13:20:10 ]
なぜ自分で試そうとしない?

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

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

121 名前:デフォルトの名無しさん mailto:sage [05/03/02 23:36:30 ]
■2005/02/02 (水) の日記参照
www.diary.ne.jp/user/25178/

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

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

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

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

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

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

126 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/03/05 08:26:00 ]
>>127
両方入ってるならコンパネのJavaPlug-inで使うランタイム1.4を指定してやれば?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<291KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef