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

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

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

1 ::03/12/08 13:49
J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。

前スレ:
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/

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

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

>>2あたりにリンク集


2 ::03/12/08 13:50
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 :デフォルトの名無しさん:03/12/08 18:28
3

4 :デフォルトの名無しさん:03/12/08 18:38
MIDP2.0やったことありますか?

5 :デフォルトの名無しさん:03/12/08 20:04
質問。
HttpConnectionでCGIにアクセスしたときに、サーバー側CGIで環境変数は拾える?
HTTP_REMOTE_HOSTとか。

6 :デフォルトの名無しさん:03/12/09 01:44
MIDPだけで何ができるのやら・・

7 :デフォルトの名無しさん:03/12/09 10:15
>> 6
MIDP2.0 なら、キャリア拡張仕様が無くても、かなりのことができるよ。
そして、JTWIなら...。

やめとこ、守秘義務が...。


8 :デフォルトの名無しさん:03/12/09 15:42
VodafoneのP5型にてVアプリの作成中なのですが、
MailTransportListener
の使い方が・・・いまいちわかりません。
もしよかったら、サンプルのある場所等ご存知でしたらお教えください。


9 :デフォルトの名無しさん:03/12/09 21:54
MIDPで年・月・日・曜日の習得ってどうやってやるんだ?
時間はできたんだけどなぁ・・・・

10 :デフォルトの名無しさん:03/12/09 22:06
java.util.Calendar クラス


11 :デフォルトの名無しさん:03/12/09 22:14
>>10
サンクス

12 :デフォルトの名無しさん:03/12/10 21:00
SmafPlayer player=new SmafPlayer();
smafData=new SmafData("/he.mmf");
player.setData(smafData);
player.play(true);

これで再生するとリピート再生になってしまうのですが、
解決方法を教えてください。。
*細かいところは省略してます。

13 :デフォルトの名無しさん:03/12/10 21:15
>player.play(true);
player.play(false);
または
player.play(1);
にする。

カッコの中はboolean指定で繰り返し再生の有無。
数値で繰り返し回数。

14 :デフォルトの名無しさん:03/12/10 21:37
>>13
レスサンクス。

が。また問題が発生。
再生を終了したら
player.stop(); を実行するようにするには
どうすればよいのでしょぅか?

いままでは
if(c==he){
if(select==0){player.play(false);select = 1;}
else{player.stop();select = 0;}
}
でボタンを再び押せば停止って感じだったんだけど、
player.play(false); で再生したら止まるようになったので・・・

15 :デフォルトの名無しさん:03/12/10 21:39
ezアプリなんですが、
アプリを実機で動かし、http通信をすると下記のようなresponseがきます。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta http-equiv="Cache-Contorol" content="max-age=0" forua="true"/></head>
<card><p>リクエストされたページは表示できません。</p></card>
</wml>

GETで、サーバ側のCGIが動きDBからデータをとってくるはずなのですが・・・
エミュレーターでのHTTP通信だと問題はありません。

なにかご存知の方いらっしゃいましたら教えてください。

16 :デフォルトの名無しさん:03/12/10 23:16
>>14
MediaPlayerListenerを使えばいいのでは。

>>15
詳しくはわからないけど、エミュレータは、直接サーバに通信してるんじゃないかと。
実機だと、KDDIのサーバを経由するので、エラーチェックとかに
引っかかってると思う。

ドキュメントによると、WMLとかHDMLは送信できないとか、いろいろ制限があるみたいだけど。

17 :デフォルトの名無しさん:03/12/11 20:27
>>16
インタフェースを2つ以上実装するにはどうすれば・・・

implements MediaPlayerListener,CommandListener,Runnable
だとエラーになるし・・・

18 :デフォルトの名無しさん:03/12/11 23:29
implements MediaListener, TimerListener, Runnable
で普通に通ってるけど。


19 :デフォルトの名無しさん:03/12/11 23:46
インターフェースのすべてのメソッドを実装してる?

20 :デフォルトの名無しさん:03/12/12 13:47
>>15
16が書いているようにKDDIのサーバを経由するので、使えるデータタイプが
制限されてます。CGI で出してるデータの Content-type がなにになって
いるか調べてみてください。テキストだと text/plain、バイナリだと
application/octet-stream にしとくのが無難かと。

21 :デフォルトの名無しさん:03/12/12 16:44
16, 20の方ありがとうございます。
データをhdmlのタグで包んで返さないといけないとかそういうことでは、
ないんですね。

22 :デフォルトの名無しさん:03/12/12 18:20
EzWebアプリのダウンロードすると
ダウンロードデータが正しくありません。
と表示されてうまくダウンロードできないのですが
どうすればいいでしょうか。

htmlの中身
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>au</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta name="vnd.up.markable" content="false"/>
</head>
<body>
Hello<hr>
<object data="Hello.kjx" type="application/x-kjx" copyright="no" standby="download">
<param name="disposition" value="devkdj2" valuetype="data"/>
<param name="size" value="2337" valuetype="data"/>
<param name="title" value="Hello" valuetype="data"/>

</object>
</body>
</html>



23 :デフォルトの名無しさん:03/12/12 18:24
>>18.19
サンクス。
メゾットが抜けてただけでした・・・。。

24 :デフォルトの名無しさん:03/12/13 18:26
特定の機種以外はHDML+CGIでないとダウンロードできない。

ezgetというCGIがおすすめ。

25 :デフォルトの名無しさん:03/12/13 19:10
1つのみ選択可能のリストを表示し、
選ばれたら確認画面→それをレコードに保存するには
どうすればいいのでしょぅか?

26 :デフォルトの名無しさん:03/12/13 20:00
>>25
List→Alert→RecordStore

27 :25:03/12/13 21:35
Listを
public void paint(Graphics g)
で表示出来ない・・・

ってかオプションとか使わないとダメとか?

28 :デフォルトの名無しさん:03/12/14 00:42
ListはCanvasと同じようにDisplayにsetCurrentして表示。


29 :デフォルトの名無しさん:03/12/17 12:47
前スレが読みたいです…

30 :名無しさん:03/12/17 18:08
pngファイルの色変更ってプログラムで、できますか?
容量制限の関係で、ファイルを沢山もてません。
具体的には、1パターンの人間の画像をjarに入れておいて
服の色、頭の色違いで何パターンか元ネタから、プログラム内で生成し、
レコードストアに入れておきたいのですが。

やり方や、サンプルなどご存知の方がいらっしゃいましたら教えてください。

31 :デフォルトの名無しさん:03/12/17 19:08
>>30
ttp://jasrv.com/mob_e/tips/index.html
ttp://tech.millto.net/~pngnews/kndh/PngSpec1.2/PNGcontents.html
ttp://www.aya.or.jp/~sanami/peace/memorial/code21-30.html#CODE26

この辺。

32 :デフォルトの名無しさん:03/12/18 07:32
>>29
ttp://www.rarul.com/k-tai/java/1011977260.zip

33 :デフォルトの名無しさん:03/12/18 12:19
>>32
ありがとうございます。

34 :デフォルトの名無しさん:03/12/22 19:36
.jar を逆コンパイルする方法ってある?

35 :34:03/12/22 19:46
追加で、AU用のkjxファイルです。
ソースファイルが消えてしまったので・・・・

36 :デフォルトの名無しさん:03/12/22 19:52
> ソースファイルが消えてしまったので・・・・
アキラメレ


KJXカッター
ezplusの実行形式KJXファイルを簡単にJADファイルとJARファイルに戻せる

jarはzipと同じなので、適当なツールで伸張

Java逆コンパイラ(沢山あるからググれ)にかける


37 :デフォルトの名無しさん:03/12/22 23:00
int mode = 0;
で定義したものを
レコードストアから呼び出したものに置き換えたいのだが、

RecordStore rs=RecordStore.openRecordStore("test",false);
byte[] b=rs.getRecord(1);
まで呼び出したまではいいのだが、
modeにどうやって置き換えればいいんだ・・・

38 :デフォルトの名無しさん:03/12/22 23:16
>>37

キャストしる。

mode = (int)b[0];

もしくは記録したのが4バイトなら

mode = ((int)b[0] << 24) | ((int)b[1] << 16) | ((int)b[2] << 8) | (int)b[3];

こんな感じ。

39 :デフォルトの名無しさん:03/12/22 23:18
>>37
mode = (((b[0] & 0xff) << 24) | ((b[1] & 0xff) << 16) | ((b[3] & 0xff) << 8) | (b[4] & 0xff));

とかでよかったっけ?

40 :38:03/12/22 23:19
間違い。

((int)b[0] << 24) & ((int)b[1] << 16) & ((int)b[2] << 8) & (int)b[3];

41 :37:03/12/22 23:31
>>38
サンクス!

>>37に書き忘れたんだが、
書き込むときの int mode→byte[] bにする場合は
どうすれでいいのでしょぅか?

42 :38:03/12/23 00:00
>>41

byte[0] = (byte)((mode >>> 24) & 0xFF);
byte[1] = (byte)((mode >>> 16) & 0xFF);
byte[2] = (byte)((mode >>> 8) & 0xFF);
byte[3] = (byte)(mode & 0xFF);

43 :デフォルトの名無しさん:03/12/23 00:06
>>42
byte の b は何処へいった?(w

int mode = 0;
だから1バイトじゃないのか?

44 :デフォルトの名無しさん:03/12/23 00:12
>>43
そーゆーことをやってると、読み込むときに苦労する。

45 :デフォルトの名無しさん:03/12/23 00:34
昔のベーシックのPAINT命令のような
塗りつぶしを実装したいのだが
どのような方法が考えられますか?

俺が考えてみたのは
画面上の座標をチェックしながら
境界線となる色が見つかったら
その範囲内に直線を引いていく
というようなものだったのだが、画面上の
ドットを拾う方法がわからず・・・・

もう一つ考えたのは、配列(描画する大きさ分)
上に画面上のドットの色を保存しておいて
配列をチェックしつつ線を引いていく(塗りつぶす)
この方法で出来そうなのだが、そうするとLINE命令のような描画を
再現することができない(こともないとは思うが)

どんなカンジの処理をしたいかというと、
20年位前のAVGのような画面描画処理です。
サラトマ、スターアーサー、はーりぃふぉっくすみたいな。
線がちゃかちゃか描画されて、そのごとろい塗りつぶしが行われる。
そんなかんじの。


46 :デフォルトの名無しさん:03/12/23 01:44
>>45 こことか参考にしる
http://lee.phys.titech.ac.jp/~yasutake/PaintArea.html

47 :デフォルトの名無しさん:03/12/23 01:56
>>46
う〜ん・・・
そこは、すでに昨日みたです。
塗りつぶしの方法については、まあ
いろんなアルゴリズムあるし、
高速である必要はないです。今回。
あえて、遅い方がらしさがでるようなきがするので・・・・
ぐぐってはみたんです、その上での質問です。

おそらく、わざとそんな昔のしょぼい描画を再現するなんて
需要ないだろうし、紹介している人もいないとは思います。
ですので、MIDPに詳しい方に方法として、どんなものが考えられるか
質問してみたのです。
ちなみに、MIDPのアンオフィシャルのAPIリファレンスのサイトと
MIDP解説本を参考に自分なりに考えてはみました。
JAVA SEでは、画面上のドットを取得するメソッドがあるみたいですが
MIDPのみでそのようなメソッドはないようですし、
見た目だけでも似た感じにできれば。。。と思っています。
長文の上、文章がへたですいません。
ならびに45さんありがとうございます。


48 :45:03/12/23 01:57
ごめんなさい。
お礼は46さんですた・・・。


49 :37:03/12/23 10:52
>>42
書き込みの部分だが、

RecordStore rs=RecordStore.openRecordStore("test",true);
/*
ここにint modeの変換する処理・・・@
*/
if (rs.getNumRecords()==0) {
rs.addRecord(b,0,b.length);
} else {
rs.setRecord(1,b,0,b.length);
}
rs.closeRecordStore();
と書いてあるだが、
@に>>42をいれても文ではありません。とエラー。
うーん・・・ヨクワカラソ・・・

50 :デフォルトの名無しさん:03/12/23 11:22
>>49
byte[0] を b[0]に…

43 名前:デフォルトの名無しさん[sage] 投稿日:03/12/23 00:06
>>42
byte の b は何処へいった?(w

51 :デフォルトの名無しさん:03/12/23 11:28
>>47
遅くしたいなら、ゆっくり描画すればいいのでは?
アルゴリズムはそこに出てるような感じでしょ
(スキャンラインシードフィルね)

52 :デフォルトの名無しさん:03/12/23 14:51
>>35
一度削除したものを復活させるソフトがあるからそっちを試してみたらいいと思われ。

ttp://www.vector.co.jp/soft/win95/util/se192983.html

53 :デフォルトの名無しさん:03/12/23 23:31
そのうち「携帯パソコン上でIP電話」ってのが主流になるよ 

54 :デフォルトの名無しさん:03/12/24 01:54
>>47
MIDP1.0では、Imageの pixelを取り出すことはできない。
そのうち出てくる MIDP2.0なら出来たと思う。

それから、EZアプリとVアプリのAPIでは、
Imageのpixel取れたと思うので、確認してみれば?


55 :デフォルトの名無しさん:03/12/24 02:02
>>49
シンタックスエラーになってあたりまえ。
もう一度Javaの基礎を勉強しなおした方が良いかと。

50さんの指摘以外に、">>>" とかもエラー。
そんなのJavaにはありません。


56 :37:03/12/24 07:33
>>55
というか大体自分なりに書き換えて
成功したのでOKという方向で。

57 :デフォルトの名無しさん:03/12/24 08:03
>>55
「>>>」を知らんのか?
それは、もう一度Javaの基礎を勉強し直した方がよいかと。




・・まぁオレも使わんけど。


58 :デフォルトの名無しさん:03/12/24 11:17
">>>"を知らんやつはJava初心者。

59 :デフォルトの名無しさん:03/12/24 17:42
初心者です。ケテスタください

60 :デフォルトの名無しさん:03/12/24 19:40
たすてけ?

61 :デフォルトの名無しさん:03/12/24 21:00
Vアプリの説明欄って書き込めないの?
本見たけど書いてなかったので・・・

62 :デフォルトの名無しさん:03/12/24 21:29
MIDlet-Descriptionのことかね?

UTF-8で書けば説明の項目に出るよ

63 :デフォルトの名無しさん:03/12/24 21:32
>>61
何の本を読んだのか知らんが。
説明欄というのが、端末のプロパティから参照できるやつのことなら、
MIDlet-Description

64 :デフォルトの名無しさん:03/12/24 23:31
>>62.63
レスサンクス

ちなみに
「携帯JAVAアプリケーション開発ガイド」
という本。

65 :デフォルトの名無しさん:03/12/25 04:09
携帯アプリ板
http://news6.2ch.net/appli/

66 :デフォルトの名無しさん:03/12/28 03:21
Vアプリで着信を受けてバイブレータ動かすことってできないの?
setDeviceActiveだとドキュメントにあると折りエラー...。

V601SHでメール作成画面等にあるときに着信音が鳴らない
(バイブレータも動かない)のをVアプリで補おうと思ったんだが...。

67 :66:03/12/28 03:23
ぁ、「着信」ってのはメール着信のことです。


68 :デフォルトの名無しさん:03/12/28 07:38
>>66
メール作成画面時は常駐アプリが動いていなくて(一時停止)
そもそもイベントを取得できないと思うが。

69 :デフォルトの名無しさん:03/12/28 11:16
>>66
設定で変更できるんじゃない?

70 :66:03/12/28 18:56
>>68
P5型でのみ使える MIDlet-Resident: S でいけるんじゃないかと
思っているんですが。ダメかしら。

>>69
それができないんですよ。取説にも書いていませんし、一応携帯板で
質問してみたんですが、やっぱりできなって話です。


71 :デフォルトの名無しさん:03/12/28 19:08
>>70
継続起動待受アプリってやつだね。
こいつは、端末が折り畳まれていても実行され続ける、というだけのはず。
つまり、折り畳まれていても実行されている以外は、普通に実行されている状態と何ら変わらないのでは。

72 :66:03/12/28 20:26
>>71
そーゆーことですか。ありがとうございます。
となると、>>68 さんの言うように、なんにしろ目的は達成できそうに
ありませんね。

調べないでこの端末を買ったのが悪いんですが、ちと困ったな。

73 :デフォルトの名無しさん:03/12/29 17:08
P5型のアプリでカメラの起動方法がいまいち分からないのですが
どうやればいいんでしょぅか・・・

74 :デフォルトの名無しさん:03/12/29 17:58
>>73
・CameraConnection camera = Connector.open("camera:");
・いろいろ設定メソッドを呼び出す
・camera.capture();キャプチャする


75 :73:03/12/29 18:37
レスサンクス。
あと、P5用のパッケージがコンパイルで弾かれるんだけど
どうすればいいんだろう。。
いままで↓
javac -bootclasspath c:\J-PHONE-SDK\stubclasses.zip *.java -target 1.1
でコンパイルしてたけど
c:\J-PHONE-SDK\stubclasses.zipを使わなければいいだけ?

76 :デフォルトの名無しさん:03/12/29 18:57
>>75
P5用のstubclasses.zipを使ってる?

77 :73:03/12/29 19:57
>>76
サンクス。
P4のままでした(汗

ってかカメラの起動〜保存までの書き方が分からない・・・。
誰かサンプルとか教えてください。。。

78 :デフォルトの名無しさん:04/01/01 19:40
httpで収得した文字列が
info= 0,1,2,3,4,5,6,7,8
だとして、
, で区切ったものを別々の変数?に分けるにはどうすれば・・・
例えば
a[2] → 2
a[3] → 3
のような形に・・。

79 :デフォルトの名無しさん:04/01/03 01:48
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用

80 :デフォルトの名無しさん:04/01/03 08:59
まず言い出しっぺが頑張ってください。

81 :デフォルトの名無しさん:04/01/03 12:56
info= 0,1,2,3,4,5,6,7,8
をsplitを使って , で分割するには
どのように書けばいいんでしょぅか?

82 :38:04/01/03 16:24
>>81

@ 現在位置を保持
A String#indexOf()で","の位置を取得
B Aで取得したところまでをString#substring()で抜き出す。
C Aで取得した位置に移動
D @に戻る

を文字列の終わりまで繰り返す。


83 :82:04/01/03 16:24
名前に辺なのはいっちまった。

84 :デフォルトの名無しさん:04/01/03 18:38
>>81
vbsですが、
info = "0,1,2,3,4,5,6,7,8"
result = Split(info,",")

これで result(LBound(result))〜result(UBound(result))に値が入ります。

85 :81:04/01/03 20:00
>>82
レスサンクス。
indexOF()で、もし , が無かったとき(-1)
にそこで処理を停止するに、
if文を使おうとしたのだが、
演算子 != は int,java.lang.String に適用できません。
と言われました。。

じゃあ何にすれば良いんだよと・・・・・

86 :81:04/01/03 20:06
ちなみにVodafone用のアプリです。。

87 :デフォルトの名無しさん:04/01/03 20:58
>>85
コード片書いてちょ

88 :デフォルトの名無しさん:04/01/03 21:46
>>85
コードは正直だ、おまいが悪い。
エラーになる部分のコード晒してみ。

89 :81:04/01/03 22:36
private String info1="未収得";

public void commandAction(Command c,Displayable s) {
if (c==soft1) {
info1=readText(url1);
int i0 = info1.indexOf(",");
if(i0 != "-1"){ // ここの部分でエラー
W01 = info1.substring(0,i0);
    }
repaint();
}
public void paint(Graphics g) {
g.drawString(W01,0,80,g.LEFT|g.BOTTOM);
}

かなり省略してますが。。
readText(url1);は 0,19,41,0.02,0.07,0.10 という文字列が返ってきます。
それを , で分割してW01,W02,W03・・という感じで入れたいのです・・。

90 :デフォルトの名無しさん:04/01/03 22:37
どうして "-1" なんて書くのか、まったく想像もつかない。


91 :デフォルトの名無しさん:04/01/03 22:46
>>89
うはぁ・・・・脱帽

92 :81:04/01/03 22:58
あっ。
perlと混ざって種。
スマソ。。

93 :デフォルトの名無しさん:04/01/03 23:06
>if(i0 != "-1"){ // ここの部分でエラー

何で""が付いてんの?

> readText(url1);は 0,19,41,0.02,0.07,0.10 という文字列が返ってきます。

バイナリデータで返すように作ったら?
固定小数点でいいならゲタはかせて整数にすればいいし

94 :デフォルトの名無しさん:04/01/03 23:22
Perlでも"-1"なんてことしないよ・・・

95 :デフォルトの名無しさん:04/01/03 23:38
>>81 はアホでFA

96 :デフォルトの名無しさん:04/01/07 20:16
うひょ

97 :デフォルトの名無しさん:04/01/10 09:46
Vアプリで ResourceOperatorクラス のjavadocが見たいのですが
どこに乗っているかご存知の方いませんか?
Javadoc(P5)には無いみたい

ちなみにclassの中を直接見ると
com/j_phone/media/ResourceOperatorになってました


98 ::04/01/10 09:51
すまん、Javadoc(C4)にあったよ(恥
P5から使える機能化と思ってた

99 :デフォルトの名無しさん:04/01/10 11:34
補足しておくとV601SHではResourceOperatorがサポートされていないので
P5用のStorageConnection等の代替クラスを利用するノダ。

100 ::04/01/10 13:08
>>99
StorageConnectionすげー
"フォルダ名/"にアクセスできるじゃん
でもP5型JSCL 1.2しか使えないんじゃなぁ

ちと勉強してみます

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

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

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)