5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

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

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


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

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


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

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

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

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

Java 2 Platform, Micro Edition (J2ME)
http://java.sun.com/j2me/
Reference Documentation(仕様書やAPIリファレンス)
http://java.sun.com/j2me/docs/
J2ME Wireless Toolkit
http://java.sun.com/products/j2mewtoolkit/

EZアプリ技術情報
http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
Vアプリ技術情報(Vodafone Developers Support Site)
http://www.dp.j-phone.com/dp/


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

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


4 :デフォルトの名無しさん:05/02/19 16:19:40
>>1
http://developers.vodafone.jp/dp/


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

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

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

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

6 :追加案:05/02/19 18:38:46
EZアプリ(BREW(R))については:
BREW(Binary Runtime Environment for Wireless) 3
http://pc5.2ch.net/test/read.cgi/tech/1096006023/

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バイト列→テクスチャ作れたよ。
http://www.kk.iij4u.or.jp/~kondo/bmp/

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に関して詳しく書いてあるページもありました。
http://www.netgene.co.jp/java/technicalTerms.html


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 (水) の日記参照
http://www.diary.ne.jp/user/25178/

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

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

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
dクス

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
ttp://www.google.com/

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

>>152
3Dはまずツールが高いので手を出しにくいと思う。とりあえずここは読んどけ。
ttp://www.saturn.dti.ne.jp/~npaka/mascotcapsule/index.html

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
http://hobby7.2ch.net/test/read.cgi/appli/1104378383/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
http://www.nilab.info/resource/project/tibi/

196 :デフォルトの名無しさん:05/03/21 02:17:35
>>194
http://developers.sun.com/techtopics/mobility/midp/articles/parsingxml/

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

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

62 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)