CLDC+MIDP+携帯電話用 ..
[2ch|▼Menu]
2:デフォルトの名無しさん
04/08/06 22:22
調べものはまず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:デフォルトの名無しさん
04/08/06 23:43
>>1
乙。


AUのPhase3.0対応のエミュレーターまだ〜?
まぁ、出ても激遅で使えんのでしょうが。

4:デフォルトの名無しさん
04/08/07 00:13
>3
噂によると出ていることは出ているらしい。
ただ、Phase3.0自体こけたも同然の仕様なので、一般には配布されてないそうな。
あうと契約を結んだベンダーにはこっそり配布されるらしいが、
遅い早い以前に描画がメチャクチャでどーしよーもないとか……

5:デフォルトの名無しさん
04/08/07 01:32
へぇ。あうJAVAは破綻ぎみか・・

6:デフォルトの名無しさん
04/08/07 01:57
>>2
URLリンク(www.dp.j-phone.com)

URLリンク(developers.vodafone.jp)

Jぽんが残るのはUAくらいか。


7:デフォルトの名無しさん
04/08/07 03:50
Ezアプリについてなんですが
public SpriteImage(byte[] data)
で指定するdataってどんなフォーマットなんでしょうか?

ezアプリプログラミングガイドみても
URLリンク(www.mascotcapsule.com)
2Dスプライとについてはここみろって書いてあるのに
リンク先には3Dの情報しか見つからない

8:デフォルトの名無しさん
04/08/07 04:03
>>1にリンクされたJava総合スレッドは、重複スレッドのようなので、
こちらのほうをつかってください。

【初心者】Java質問・相談スレ51【大歓迎】
スレリンク(tech板)l50

Javaスレッドについては、案内用のwikiもあるので
次スレッドをたてるときのリンク先としては、こちらのほうがいいかもしれません。
URLリンク(www.wikiroom.com)

また、よろしかったら携帯用Java関連スレッドのテンプレなどにも、
どうぞ、このwikiをご利用ください。


9:デフォルトの名無しさん
04/08/07 06:30
>>7
そのサイトの「MascotCapsuleツールの配布」→「Micro3D Tools (Win専用)フリー」→
「マニュアル」欄の「2Dスプライト プログラミングガイド」をダウンロードすれば多分解決。

10:デフォルトの名無しさん
04/08/07 12:42
>>6
そろそろUAからも消えるらしい・・・

11:デフォルトの名無しさん
04/08/07 21:43
>>9
ありがとうございます
Windows BMP なんですね

12:6
04/08/08 02:28
>>10
そうなのか。
なら、JSCLもVSCLになったり・・・・ヽ(`Д´)ノ ウワァン

13:デフォルトの名無しさん
04/08/08 06:32
Vで質問です。
StorageConnectionを使って作ったInputStreamでInputStreamReaderを作るとなんか変です。
ちゃんと文字が読めません。(System.out.printlnすると□ばかりに化ける)
開きたいファイルをそのままjarに入れておいて、getResourceAsStreamから作ったInputStreamだとちゃんと読めます。
原因何かないでしょうか。JSCL1.2対応のエミュで実行しています。


StorageConnection conn = (StorageConnection)Connector.open( "file://"+textfile);
InputStream in = conn.openInputStream();
//in=getClass().getResourceAsStream(filename)だと読める
InputStreamReader reader = new InputStreamReader( in, "SJIS");
char[] buf = new char[8192];
reader.read(buf);
System.out.println( new String(buf));


14:デフォルトの名無しさん
04/08/08 09:00
textfileがパスを含んでないとして
"file:///ms/"+textfile
とやるんじゃない?

15:13
04/08/08 16:17
>>14
いや、パスが違うとかそういうレベルじゃないです・・・
InputStreamReader使わずにInputStreamから直接byteで読み込んでStringに変換するとうまくいってるわけです。
素直に、InputStreamReaderを回避するしかないんだろうか。。

16:14
04/08/08 16:53
>いや、パスが違うとかそういうレベルじゃないです・・・
だってtextfileやfilenameの文字列が具体的に書いてないから分からないじゃない。

17:デフォルトの名無しさん
04/08/08 22:35
>>13
文字エンコーディングがおかしくなってそうだけど。
なんでだろ。

忘れてなけりゃ、あした調べとく。

18:13
04/08/08 23:32
>>17
元のテキストはShift_JISです。
getResourceAsStreamから読む場合やInputStreamからbyte読んでnew String(byte[],String)する場合は
SJISコンバータで読めてます。

new InputStreamReader(InputStream)の方のコンストラクタ使ったりUTF-8コンバータにしたりもしてみたんですが
やっぱダメでした。デフォルトのエンコーディング指定だとSJIS指定時と同じ感じに、UTF-8の場合は完全に化け化けな文字になりました。

InputStreamからbyteで読み込んで変換する方法でうまくいってるんで、とりあえずこっちで対処することにします。


19:デフォルトの名無しさん
04/08/09 23:40
ダライアス難しいよなぁ。
easyでもきつい。
故意に死んで球かせぐ必要あり?

20:デフォルトの名無しさん
04/08/10 00:00
ごめん、誤爆です誤爆w;Vodafoneのダライアスの話

21:デフォルトの名無しさん
04/08/10 15:33
アプリゲットに開発者として登録しようと思うんですけど、
HelloWorldプログラムみたいな、明らかにふざけてるだろ、っていうプログラムは審査に引っかかりますか?
あ、公開ではなくテスト領域の方へのうpです。

22:デフォルトの名無しさん
04/08/10 15:55
テストには審査無いはずです。

23:デフォルトの名無しさん
04/08/10 16:51
審査っつぅか
JADとJAR(MANIFEST)がマッチしてかつ必要な情報書き込まれてるか
機械的にチェックするだけなんで
エローワールドでもハローC#でも通りまする。

24:デフォルトの名無しさん
04/08/10 18:05
>>21
FTPで必要なファイルをアップロード
→機械的なチェックのみ。
→作者宛にダウンロードのためのURLがメールで送られてくる。

これにかかる時間はだいたい30秒。

25:17
04/08/11 02:56
>>18=13
おそくなってごめん。
StorageConnectionから生成したInputStreamで、InputStreamReaderを
生成すると、やはり文字エンコーディングがおかしくなってるね。

解決策は、InputStreamReaderを使わない。ってことになる。


26:デフォルトの名無しさん
04/08/11 03:03
>>22-24
おお、サンキュです!
機械チェックだけだったんですね。早速登録してみます。

27:13
04/08/11 03:11
>>25
どうもありがとうございます。
やはり再現しましたか・・・ここはInputStreamからbyte読み込んで処理することにします。
余裕があれば実機でも試してみることにします。


28:17
04/08/11 03:37
>>27
試すまでもなく、実機も同じ動作になるよ。
だって、.....。

#守秘義務のため、これ以上は言えない。


29:デフォルトの名無しさん
04/08/11 20:37
携帯アプリの開発でソースレベルデバッグは出来ないんですかね?

30:デフォルトの名無しさん
04/08/11 21:51
ふつうにできる

31:デフォルトの名無しさん
04/08/12 04:28
Vアプリのスプライト処理で質問です。
以前、C4でACanvasを使ってゲームを作っていたのですが、
同様の手順でP5対応のアプリを作成したら、ものすごく遅くなりました。
P用にSpriteCanvasを使用するよう変更しても、遅いままです。

Sprite機能を使わず、drawImageで過去座標キャラを背景で消し、
書き直すという処理にしたら速度が出るようになりました。

一般にP5でのSprite処理は重い物なのでしょうか?
それとも効果的な使い方があるのでしょうか?

32:デフォルトの名無しさん
04/08/12 09:51
>>30
どうやってやるんですか?
探してもそれらしいものが見当たらないのですが。

33:デフォルトの名無しさん
04/08/12 18:53
Vアプリの2Dスプライトって、任意の角度での回転や
拡大縮小はできるんでしょうか。
資料読んだところ、90度単位でしか回転できなさそうですが……。

ひょっとしてMicro3Dで板ポリ作って表示しなきゃいけないのでしょうか?



34:デフォルトの名無しさん
04/08/12 21:56
>>33
90度単位の回転と左右反転のみだね。
拡大縮小もなさそう。
というか、8*8固定だし。

35:33
04/08/13 01:31
>34さん
そのようですね。

ezplusのPhase3.0でならSplite2Dでできるようなんですけどねぇ。

ありがとうございます。







36:デフォルトの名無しさん
04/08/13 18:18
KJX作成ツールでKDDIのサンプルソースそのままコンパイルすると

CreateProcess:
c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath
c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3

とか出てきてKJXが出来ないんですけれども理由がわかんないです。。。

37:デフォルトの名無しさん
04/08/13 18:22
HelloWorld.javaのソース貼ってちょ。

38:デフォルトの名無しさん
04/08/13 18:26
ああ、ごめん貼らなくていいや。そのままなのね。


39:デフォルトの名無しさん
04/08/13 18:46
と思ったけどやっぱり貼ってちょ。

40:デフォルトの名無しさん
04/08/13 18:47
一応はりますね
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet implements CommandListener{
Command exitCommand;
Display display;

public HelloWorld(){
display = Display.getDisplay(this);
exitCommand = new Command("Exit",Command.SCREEN,2);
}
public void startApp(){
TextBox textbox = new TextBox("HelloWorld","Hello World!",256,0);
textbox.addCommand(exitCommand);
textbox.setCommandListener(this);
display.setCurrent(textbox);
}

public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command command,Displayable screen){
if(command==exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}



41:デフォルトの名無しさん
04/08/13 18:49
それとエラーの全文です

compile start...
c:\jdk1.3.1\bin\javac -encoding SJIS -g:none
-d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
-bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar
-classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java
build failed. exception:java.io.IOException: CreateProcess:
c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath
c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3


42:デフォルトの名無しさん
04/08/13 18:57
MIDPかなんかのパスがまちがっとる。
c:\J2MEWTK\lib\midpapi.zip
ほんとにこんなもんあるけ?

43:デフォルトの名無しさん
04/08/13 19:03
>>42
あります・・・
それを解凍して中身をみたら

com
java
javax

ってフォルダが入っていてその下にいろいろ入ってました。

44:デフォルトの名無しさん
04/08/13 19:15
ほんとにjavaのバージョンは1.3.1だか?

45:デフォルトの名無しさん
04/08/13 19:22
javaのバージョンが間違っていたので全部直しました。
全てのフォルダを確認しながら設定しました。

それでも動きません。。

javac path c:\j2sdk1.4.2_04\bin\javac
jar path c:\j2sdk1.4.2_04\bin\jar
preverifypath c:\WTK104\bin\preverify
other after process path java -jar c:\ezplusTools\Tools\CmdTool\KJXArchiver.jar -c
                 %PROJDIR%\bin\%PROJ%.jad %PROJDIR%\bin\%PROJ%.jar %PROJDIR%\bin\%PROJ%.kjx
class path C:\WTK104\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar

46:デフォルトの名無しさん
04/08/13 19:26
今のエラーメッセージだしてみるとよか。
パス貼られても確かめようないぞなw

47:デフォルトの名無しさん
04/08/13 19:28
あと、設定なおしたらKJXは再起動。反映しなかったりしる。

48:デフォルトの名無しさん
04/08/13 19:31
なんていうのは嘘で。。。
プロジェクトの設定も直さないとダメぽ。


49:デフォルトの名無しさん
04/08/13 19:41
あう開発のちうい点

@パスは間違えるな!
Aプロジェクト名はエントリのクラス名にしとけ!
B環境を直すときはデフォルトの環境だけでなくプロジェクトの環境も直せ!
Cパスは間違えるなってば!

できたべ?>>45

50:デフォルトの名無しさん
04/08/13 19:41
現在のエラーです
プロジェクトは最初から作り直しました・・・・


compile start...
c:\jdk1.3.1\bin\javac -encoding SJIS -g:none
-d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
-bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar
-classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java
build failed. exception:java.io.IOException: CreateProcess: c:\jdk1.3.1\bin\javac
-encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
-bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses
C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3

51:デフォルトの名無しさん
04/08/13 19:42
エラー時に1.3.1のディレクトリが表示されるちうことは
デフォルトの環境は直したけどこのプロジェクトの環境は元のまま
ちうことだべ。

52:デフォルトの名無しさん
04/08/13 19:43
ほらな〜。

53:デフォルトの名無しさん
04/08/13 19:47
プロジェクトの設定直しました・・・
すいません。でも動きません(ノД`)ノ

KJXのコンソールに出力されたメッセージです。。。

C:\ezplusTools\Tools\CmdTool>c:\j2sdk1.4.2_04\bin\java -jar CmdTool.jar
java.io.IOException: CreateProcess: c:\jdk1.3.1\bin\javac -encoding SJIS -g:none
-d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:
\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezp
lusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdToo
l\project\HelloWorld\src\HelloWorld.java error=3
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)
at jp.co.aplix.micro.toolbar.model.Project.exec(../src/model/Project.jav
a:322)
at jp.co.aplix.micro.toolbar.model.Project.access$100(../src/model/Proje
ct.java:13)
at jp.co.aplix.micro.toolbar.model.Project$Builder.run(../src/model/Proj
ect.java:373)

54:デフォルトの名無しさん
04/08/13 19:47
めにうの
<tool>のdefault env...が全体の環境、
<Project>のedit envがこのプロジェクトの環境だべさ。

もうちっとだ。ガンガレ


55:デフォルトの名無しさん
04/08/13 19:48
('A`)えー・・


56:デフォルトの名無しさん
04/08/13 19:50
javacんとこ1.3.1て書いてあるジャン

57:デフォルトの名無しさん
04/08/13 19:51
プロジェクト一回全部消して作り直したら動きました
大変ありがとうございました、助かりました!


58:デフォルトの名無しさん
04/08/13 19:53
よかたね(○´ー`○)なっちもよろこんでるべさ

59:デフォルトの名無しさん
04/08/13 22:49
>>3,4
 Phase3エミュは一般にも一瞬だけ公開されましたよ。一般でも一部の人は持ってます。
 確か携帯アプリ板でちょっとだけアップしてくれた人もいました。
エミュの速度はVodaのP5エミュと大差ありません。安定性はVodaのほうが上な気がします。
でも、KJX作成ツールからダブルクリックでエミュに行けるのが便利です。
遅いPCでやると画面の更新が変になって崩れます。

60:デフォルトの名無しさん
04/08/15 06:41
Phase3の開発キットならここにあるぞ。
URLリンク(eseuta.mine.nu)

61:デフォルトの名無しさん
04/08/15 13:35
おお、ほんとだ。何故こんな所に・・。

62:名無しさん@Vim%Chalice
04/08/15 21:39
大きな画像を読み込むとき読み込み完了前に
データにアクセスしてNullPointerExceptionとなります。

読み込み完了まで待機したいのですがどうすればいいのでしょうか?

au Phase2.5です。

63:デフォルトの名無しさん
04/08/15 21:50
img1=null;
img1に画像読み込み;
while(img1==null){ }//空ならずっと何もしないで繰り返す
どっかでこういうの見かけて、ずっと真似してるんだけど、これで効果あるのかな?


64:デフォルトの名無しさん
04/08/15 22:16
>62
より堅い手を使うとすれば適当なオブジェクトでsynchronize掛けるとか。
まぁ、Phase2.5機なら、「読み込み中」「描画中」のフラグで管理しても
問題ないと思うが。

65:デフォルトの名無しさん
04/08/15 22:52
createImageってブロックされるんとちゃう?
それとも違う話かえ?
>>62の画像は
ほったらかしてからアクセスすると見れる画像なわけかい?
読み込み自体失敗してないかい?

66:デフォルトの名無しさん
04/08/16 16:25
mainclass.java、 subclass_1.java、 subclass_2.java
と言うファイルがあってmainclass.javaでは

public class mainclass extends MIDlet {
 public void startApp(){
  subclass_1 s1 = new subclass_1(this);
  Display.getDisplay(this).setCurrent(s1);
 }
 public void pauseApp(){}
 public void destroyApp(boolean b){}
}
とやってsubclass_1を動かしています
そしてsubclass_1からsubclass_2へ画面の制御を完全に移したくて
subclass_1のコマンドアクションでCurrentに表示されるクラスを変えたいのですが

public void commandAction(Command c,Displayable s){
if(c==next){
  subclass_2 s2 = new subclass_2(this);
  Display.getDisplay(this).setCurrent(s2);
 }
}

とすると
シンボルを解決できません。
シンボル: コンストラクタ MainMenu (Intro)
場所 : MainMenu の クラス
MainMenu m = new MainMenu(this);
javax.microedition.lcdui.Display の getDisplay(javax.microedition.midlet.MIDlet) は (subclass_1) に適用できません。
Display.getDisplay(this).setCurrent(s2);
となってしまいs2のクラスを表示できません、どうすればいいんでしょうか・・・

67:デフォルトの名無しさん
04/08/16 17:37
getDisplay(this)に何が入っているでしょうか、てことです。
mainclassで呼んだgetDisplay(this)のthisはmainclass、
subclass_1のコマンドアクションで呼ばれたgetDisplay(this)のthisは
subclass_1が入っておる、と。
そりゃーJavacも悲鳴あげます。
mainclassを入れてあげて。

68:デフォルトの名無しさん
04/08/16 17:42
というか、Javacの報告を無視してはイクナイです。

69:デフォルトの名無しさん
04/08/16 17:49
ありがとうございます!
えっとMIDPのインスタンスのappをthisに入れたら動きました


subclass_2 s2 = new subclass_2(app);
Display.getDisplay(app).setCurrent(s2);

ちゃんとコンソールにでるjavacのメッセージを確認します。。。。

ありがとうございます!


70:デフォルトの名無しさん
04/08/16 18:06
よかたね。なっち(○´ー`○)もよろこんでるべさ。

71:デフォルトの名無しさん
04/08/16 19:09
新しくPC買いたいんだが、オススメある?
TVチューナー+アプリ作成しやすい奴。

72:デフォルトの名無しさん
04/08/17 05:32
>>71
広いディスプレイと打ちやすいキーボードがあれば、
あとはソフトウェア次第なんでどうでもいい。
あ、メモリは1GBね。

73:デフォルトの名無しさん
04/08/18 16:47
HttpConnection でネットに繋ごうとすると
IOException例外が発生して
詳細メッセージはout of service とだけ出ます。
これって何がいけないんでしょうか?
サンプルのソースでやってみてもどれも同じエラーが出てしまいます。
どなかた分かる方ご教授下さい。


74:デフォルトの名無しさん
04/08/18 18:21
環境かいてちょ

75:デフォルトの名無しさん
04/08/18 19:55
Win2K, LAN接続
J2SE 1.4.2_04
JSCL 1.07.00
WTK 1.04 preverifyのみ利用
.jad ファイルのMIDlet-Network は Y になってます。


76:デフォルトの名無しさん
04/08/18 21:34
うーん・・・
何のサンプル?
公式と手持ちの本のconnectionまわりのサンプルを
いくつかP5とc4のエミュで
試したけど失敗した例ないわ〜

公式マニュアル概要編によればout of serviceは
ネットワークサービスに問題がある場合とあるから
LAN環境とか串がどうとか、接続先とかそのあたりのことが問題なのでは
と妄想したけど。

ちなみにJSCL 1.07.00って何型の端末用?

77:デフォルトの名無しさん
04/08/19 00:54
>>76
知り合いから貰ったもので元々なんのサンプルかは分からないのですが
極めてシンプルなサンプルでただテキストフィールドに
入力されたURL(JPEG,PNGのファイルを指してる)に繋いで
その画像ファイルを表示するだけのものです。
URLはURLリンク(localhost)となってます。
なのでhttpサーバー起動してます。
試しにブラウザからこのURLにアクセスするときちんと表示されます。

LAN環境はWWWへはNATで繋いでいて
ファイアーウォールは使わず串も通してないです。

>ちなみにJSCL 1.07.00って何型の端末用?
P4型です、JavaDoc開いた時のブラウザのタイトルバー見たら
1.07.00 とあったので、あ、これかと思って書きました。


78:デフォルトの名無しさん
04/08/19 01:15
>>77
HTMLタグを表示するだけのよくあるやつだけど、
Apach入れてテストしてみたが問題なく動く。
ほんとに動いた実績のあるサンプルなんかね〜?
抵抗なければサンプルまとめてアップしてほすぃ。

このへんとかに。
URLリンク(namihei.zone.ne.jp)


79:デフォルトの名無しさん
04/08/19 09:11
>>78
すいません、質問しておいてなんなのですが
ちょっと諸事情あってアップは出来ないんです。
本当に特別な処理はなく
HttpConnection hcon = null;
hcon = ( HttpConnection )Connector.open( "URLリンク(localhost)", Connector.READ );
と普通にオープンしてByteArrayOutputStreamでバッファに書き込み
Image.createImageでイメージを作成、表示してるだけなんです。

ただApachと聞いてちょっと思い当たる節があるのですが
マニュアルのどこかにApach以外のサーバーとの接続保証はしない、
とあったような・・・
ちょっとApach試してみます、どうもです。

80:デフォルトの名無しさん
04/08/19 10:13
>>73
エミュレータはプロキシを使用しない場合は通信したいサーバのIPとポートを
JTProp.datのProxyとProxyPortに設定しておかないと通信できなかったような
気がしたけど、試してみましたか?


81:デフォルトの名無しさん
04/08/19 15:04
URLリンク(namihei.zone.ne.jp)
まぁこれあげといたから
これが動くかまず試してみるべし。
動くなら環境には問題ない、と。


82:デフォルトの名無しさん
04/08/19 15:47
質問させてください。
tempIはInteger型。
byte[] b = (tempI.toString).getBytes;
というコードで、

シンボルを解釈処理できません。
シンボル: 変数 toString
位置 : java.lang.Integer の クラス
byte[] b = (tempI.toString).getBytes;
^
compile failed
エラー 1 個

と、エラーが出てしまいます。
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.lang.*;
import java.util.*;
を読み込んでいるのですが、なにか足りないものでもあるのでしょうか?
コンパイルはezアプリ用のcmdToolを使ってます。

83:デフォルトの名無しさん
04/08/19 15:52
>>82
プロパティじゃなくてメソッドだから
byte[] b = (tempI.toString()).getBytes();
じゃなくて?


84:82
04/08/19 16:00
>>83
ありがとうございます。お陰様でできました。
多言語からJava乗り移ってきたけどつらいorz

85:デフォルトの名無しさん
04/08/20 10:01
携帯画像ファイルを取得して上にお絵かきして表示するアプリを作成しています。
vodafoneのC4、P4型(JSCL 1.0)でResourceOperatorで取得した画像データを
Imageクラスに読み込む方法を知りませんか?
MediaPlayerでは表示した上に描画できないようなので何か別の方法を知りませんか?


86:デフォルトの名無しさん
04/08/21 04:38
>>85
ちょっと前にオレがjavadocを熟読した感じでは、たぶん無理。
StorageConnection使え。。

ん〜、でも今読んでみた限りは、
データフォルダ上のJPEGをImageに変換できないような気がする。。PNGならできると思う。
つーことで、JPEGデコーダ頼んだ。

Image->JPEG(data[])はImageEncoderで
データフォルダ->JPEG/PNG(data[])はStorageConnectionで
PNG(data[])->ImageはImage#createImageで

↑素人のオレがJavadoc眺めて想像しているだけで、ホントにできるかどうかは知らん。

87:85
04/08/21 09:43
>>86
StorageConnectionはJSCL1.2からなのでC4、P4型では使えないです。
データフォルダからデータを取得するのはResourceOperatorしか無さそうで、
ResourceOperatorのデータはMediaPlayerでしか扱え無さそう。
何か方法は無いでしょうか?

ちなみにJSCL1.2でStorageConnectionを使えばデータフォルダのJPG、PNG
のどちらでもImageに読み込めます。


88:デフォルトの名無しさん
04/08/21 11:26
g.drawString("ぬるぽ",0,20,g.LEFT|g.BOTTOM);

89:デフォルトの名無しさん
04/08/21 11:37
>>87
方法は無い。
JSCL 1.0 の時代には、そのようなことは想定されていなかった。

90:デフォルトの名無しさん
04/08/21 11:38
ちなみに、方法がないのは著作権保護の理由があって、
保護されているファイルを読み取って送信するとか、そういう用途に使えないようにするため。

91:デフォルトの名無しさん
04/08/21 13:29
>>88
g.drawString("ガッ",0,40,g.LEFT|g.BOTTOM);

>>89
画像データの上に描画して表示したいだけだったら、MediaPlayerのpaintをオーバーライド
すれば実現できないのかな?


92:デフォルトの名無しさん
04/08/21 16:00
俺もちょびっと調べてみたけど
どうもC4・P4ではできそうにない。
それに近いことをしてるアプリって存在するのだろうか。

93:デフォルトの名無しさん
04/08/21 16:18
>>91
javadoc見たけどC4型のMediaPlayerはCanvasからの派生ではないので無理。
P4型はできるかもしれない…

94:デフォルトの名無しさん
04/08/21 16:32
以下のようなコードは
ネットワーク上のファイルに書き込みだよね?
うまく書き込めないんんだけど
なぜかわかる人いる?

環境は
MIDP1.x系全般のエミュ、
ローカルサーバで実行して
レスポンスコードは200

hc = (HttpConnection)Connector.open("URLリンク(localhost)");
os = c.openOutputStream();
os.write(data);
os.close();
res = hc.getResponseCode();
hc.close();

95:デフォルトの名無しさん
04/08/21 17:28
そんなんでネットワーク上のファイルに書きこめたら
((((;゚Д゚))))ガクガクブルブル

96:デフォルトの名無しさん
04/08/21 17:36
え、違うのか!?www

ごめんよかったら教えてちょ

97:デフォルトの名無しさん
04/08/21 17:49
>>96
サーバーにHTTPリクエストを送ってるんでしょ?
「ネットワーク上のファイルに書き込み」は
サーバー側の仕事。

98:デフォルトの名無しさん
04/08/21 17:58
あああ、なんとなく納得。

99:86
04/08/22 06:14
WebDAVなら直接書いたりできるんだろうか。。
まぁオレには関係ないか・・


>>87
ちょいと裏技になるんだが、
ACanvas(SpriteCanvas)でのフレームバッファの転送は、
ACnavas(SpriteCanvas)が画面として設定されていないときにもできる。

つまり、com.j_phone.media.MediaPlayerを画面に設定しつつ、
裏でflush(drawFrameBuffer)とかすれば重ねて表示できる。

まぁ表示したところで、表示後ごにょごびょしたものをImageなりbyteなりで取得できないんで、
>85 の目的のお絵かき用には使えないと思う。

100:デフォルトの名無しさん
04/08/23 01:42
SH53で
20x20のチップ敷き詰めてループまわすと
FPS10で限界チック。
早くするために君ならどうする?

101:デフォルトの名無しさん
04/08/23 03:21
処理速度の速い端末が出るのを待つ

102:デフォルトの名無しさん
04/08/23 03:59
SpriteCanvas使ったらはやくなるもんかい?

103:デフォルトの名無しさん
04/08/23 12:43
>>100
チップをでかくする。

104:デフォルトの名無しさん
04/08/23 19:32
/***001.java
public class 001 extends MIDlet {
static MIDlet current;

/** コンストラクタ */
public 001() {
current=this;
main canvas=new main();
Form form=new TextFieldForm();
Display.getDisplay(this).setCurrent(canvas);
Thread thread=new Thread(canvas);
thread.start();
}
/***main.java
class main extends Canvas implements CommandListener, Runnable {
public void commandAction(Command c,Displayable s) {
if (c==soft2) {
Display.getDisplay(this).setCurrent( from );
repaint();
}
}
}

105:デフォルトの名無しさん
04/08/23 19:33
/***TextFieldForm.java
/** テキストフィールド(フォーム) */
class TextFieldForm extends Form implements CommandListener {
public void commandAction(Command c,Displayable s) {
if (c==soft2) {
Display.getDisplay(this).setCurrent(canvas);
repaint();
}
}
}

でmainからTextFieldFormへの切り替えはできたのだがその逆ができない・・
教えてエロイ人!

106:デフォルトの名無しさん
04/08/23 20:46
>>105
TextFieldFormクラスの
Display.getDisplay(this).setCurrent(canvas);
のcanvasってどっから来るのさ。

107:デフォルトの名無しさん
04/08/23 23:16
>>106
書き換え忘れです・・・。
そこの部分をなんと書けばいいのだろうか・・・


108:デフォルトの名無しさん
04/08/24 00:36
何か所か出てくるDisplay.getDisplay(this).setCurrent(…);
のthisがそれぞれ何を指しているか考えれば誤りに気付くと思う。

109:デフォルトの名無しさん
04/08/24 01:40
>>108
Display.getDisplay(001.current).setCurrent(form);
Display.getDisplay(001.current).setCurrent(canvas);
にしたところ、thisのところのエラーは無くなったけど
setCurrentのところが分からない・・・

110:デフォルトの名無しさん
04/08/24 02:09
オブジェクト指向が理解できていない様子。
formとcanvasのインスタンスはどのクラスが保持しているのか考えてみて。

111:デフォルトの名無しさん
04/08/24 02:39
>>109
基本的なJavaの決まりごとをおさらいするのも必要だと思うよ。
よくわからないまま動いても応用きかないから
つまづいてばかりでかえって遠回りかも。
あわてずにガンガッテ。

となっち(○´ー`○)さんがおっしゃっています。。。

112:デフォルトの名無しさん
04/08/24 10:42
vodafoneのVSCL2.0ではStorageConnectionは無いのでしょうか?
せっかくJSCL1.2で携帯内部データが使えるようになったのに
VSCL2.0からは使えなくなってしまうのでしょうか?


113:デフォルトの名無しさん
04/08/24 18:58
MIDPのhttp接続について質問させてください。最初にソースです。finallの処理は省略してますy
public String setHTTPConnection( String service, String dat, int len )
{
 String url = "URLリンク(localhost)";
 HttpConnection con = null;
 InputStream in = null;
 try{
  con = (HttpConnection)Connector.open(url,Connector.READ,true);
  con.setRequestMethod(HttpConnection.GET);
  in = con.openInputStream();
  int length = (int)con.getLength();
  if(length<0) {
   ByteArrayOutputStream _o = new ByteArrayOutputStream();
   byte[] buf = new byte[len];
   int t = 0;
   while((t=in.read(buf))!=-1){
    _o.write(buf,0,t);
   }
   _o.close();
   str = new String(_o.toByteArray());
  }else{
   byte[] buf = new byte[length];
   in.read(buf);
   str = new String(buf);
  }
 } catch(Exception e){}
 return str;
}


114:デフォルトの名無しさん
04/08/24 19:02
>>113の関数にURLを渡して
サーバーのphpで処理をして返り値を取る関数を作りたいのですが
httpに接続が全く出来ません。。。

ADFのOtherKeyWordには

MIDlet-X-AllowURL-1: URLリンク(localhost)

と設定してあります。

どなたか有効な対処法ご存知でしたらお願いします。

115:デフォルトの名無しさん
04/08/24 20:04
DB系のプログラムって具体的にどういったものでしょうか。


116:113
04/08/24 20:06
調べてみたところ

con = (HttpConnection)Connector.open(url, Connector.READ, true);

の時点で

java.lang.NullPointerException

が帰ってきてしまいます。

サンプルどおりに作ったんですけども・・・

117:デフォルトの名無しさん
04/08/24 22:17
>115
まずその「DB」が何の略語かはっきりさせれ。
脊髄反射で「データベース」の略語と思いそうだが
いくらなんでもJDBCドライバ同梱してDBとやりとりするようなアプリを
携帯向けに作るとは思えんし。つーかJ2MEで使えるのかJDBC。

118:デフォルトの名無しさん
04/08/24 22:25
|つーかJ2MEで使えるのかJDBC。
CDCなら聞いたことあるが、CLDCはしらんな。

119:104
04/08/25 00:48
Form form;
main canvas;
を追加したらコンパイル出来たのだが切り替わらない・・・。


うーむよく分からない・・・・
誰か教えてくれぇー・・・・

120:デフォルトの名無しさん
04/08/25 02:40
>>104
なっち(○´〜`○)は
あなたのためになるのか悩みながらも
>>104のソースに手をいれました。
ソースは長いので
切り替え処理と関わりのない部分をはぶき、
ラウンジに貼り付けました。
自分のソースとの違いを
他の人がしてくれたレスを見ながら
考えてみてください・・・
ソースに自分なりにコメントをつけたりすると
理解の役にたちます。

ガンガレ。超ガンガレ。
URLリンク(do.sakura.ne.jp)

121:M
04/08/25 15:26
public class test extends MIDlet {
public static MIDlet mid;
public test(){
Display.getDisplay(this).setCurrent(new TestCanvas("0"));
}

class TestCanvas extends Canvas implements Runnable, CommandListener{
public TestCanvas(String pt){
mt_Select = pt;
}
TestCanvas a1 = new TestCanvas("1");
Display.getDisplay(test.mid).setCurrent(a1);
}

細かい処理は削らしてもらいましたけど、
今、a1 への表示切替で困っています。
Display.getDisplay(test.mid).setCurrent(a1);
が悪いのは何となくわかってるのですが、
どのように書けば良いかわかりません。

どなたかヘルプお願いします。
同じようなネタあったけど...(汗)

エラーは...
Uncaught exception java/lang/NullPointerException
at com.jblend.display.DisplayManager.getDisplay(+13)
at javax.microedition.lcdui.Display.getDisplay(+4)
destroy Old Emulator....

By M

122:デフォルトの名無しさん
04/08/25 16:41
class TestCanvas …{


}

123:デフォルトの名無しさん
04/08/25 16:46
122は書き途中で送信しちゃったミス

>>121
class TestCanvas extends …{

TestCanvas a1 = new TestCanvas(…);
}
クラス定義の中で自分自身を生成しちゃってるのがダメ。
a1はTestCanvasクラスの定義の外でnewして引数で渡すなり何なりして。

124:104
04/08/25 17:54
皆様のおかけで無事動くようになりました!
特になっち(○´ー`○)さんアリガト!(´▽`)

125:デフォルトの名無しさん
04/08/25 18:14
>121
test.midにtestのインスタンスをセットする文が見あたらないが
ここへカキコするときに省略しただけ?

126:デフォルトの名無しさん
04/08/25 21:55
g.drawString("ぬるぽ",0,20,g.LEFT|g.BOTTOM);
って書いてもガッされないのは仕様ですか??

127:デフォルトの名無しさん
04/08/25 21:58
>126
>88-91

128:デフォルトの名無しさん
04/08/25 23:18
(○´д`○)ウーム・・
Javaの入門書とか読まないで
MIDPはじめちゃうものなのかしら。

129:M
04/08/26 18:37
public class test extends MIDlet {
 public static MIDlet mid;
 public static TestCanvas sc1;

 public test(){
  SetCanvas sc1 = new SetCanvas("1");
  mid = this;
  Display.getDisplay(this).setCurrent(new TestCanvas("0"));
 }
}

class TestCanvas extends Canvas implements Runnable, CommandListener{
 public TestCanvas(String pt){
  mt_Select = pt;
 }
 Display.getDisplay(test.mid).setCurrent(test.sc1);
}

変更かけてみたんですけど、やっぱりうまくいかないようで...
ご教授をお願いします...m(._ .)m

by M

130:デフォルトの名無しさん
04/08/26 19:12
>>129
厳しいこと言うけど、現時点の知識でソースをいじくり回しても無駄でしょう。
先にJavaの基本的な文法や構文の書き方を修得してください。
変数の有効範囲とかが理解できてないようだから、仮に今の問題を解決
してもらってもこの先何度もつまずくと思う。

131:デフォルトの名無しさん
04/08/26 19:31
>>129
急がば回れ。
まずはJavaの基礎からだ!

がんばれ

132:104
04/08/26 20:08
たびたびすみません。

/*main.java*/
static int test=0;
/*TextFieldForm.java*/
textField=new TextField("Test",main.test,150,TextField.URL);

のとき、main.testの値を変えてもテキストフィールドに反映されません。。
テキストフィールドを更新?するにはどうやったらいいのでしょぅか?

133:デフォルトの名無しさん
04/08/26 20:32
よくわからんがset〜ってメソッドがあるんじゃないの?
APIリファレンスを熟読してくれ

134:デフォルトの名無しさん
04/08/26 20:53
staticで宣言してるからじゃないの?

135:デフォルトの名無しさん
04/08/26 21:32
パッケージ java.net は存在しません。
import java.net.*;

と言われたが
携帯のjavaにはjava.net.URLEncoder
ってないのか?

無いのならURLエンコードする方法はないのか??

136:デフォルトの名無しさん
04/08/26 22:23
あうだとcom.jblendあたりにURLエンコーダがあった希ガス。
KDDIプロファイルのAPI docをご覧あれ。

137:デフォルトの名無しさん
04/08/26 22:36
Javaの基礎を飛ばしてMIDPをはじめるのは別にいい。
ただ、そこから出てくる困難を俺らに押し付けるのはハッキリ言って迷惑。
困ってる人は助けてあげたいけど、何ていうか努力の跡が見えん。
実際に、1時間ぐらい分かりやすい説明考えて教えてやっても
五分くらいで「できました!でも次は〜が・・」みたいな奴がいる。
しかもその五分を「いろいろやってみたけど」とか言いやがる。
相手の時間より自分の時間を大事にするような奴は最低だと思うが・・。

>>104
まず、TextField( String , int , int , int ) はおかしくねーか?
とりあえず textField.setString( "NEW_TEXT"); とかやってみ。

>>129
104で、ものすごい近い事やってるとか思わなかったか?

138:デフォルトの名無しさん
04/08/27 01:20
ボダホンだと
com.j_phone.io.URLEncoder
これかのぅ

139:デフォルトの名無しさん
04/08/28 00:19
VアプリがMIDP2.0準拠の1M容量になるという話。
ちょっとITmediaの妄想入ってるのかも。
スレリンク(appli板:294番)

なっち(○´ー`○)デシタ

140:デフォルトの名無しさん
04/08/28 00:43
>>139
> JSCLはオプション扱いとなるため
>112 の話とつながったか。
つまり、JSCLはいったん全部葬り去られる可能性大か。んで、MIDP2.0へと。


141:デフォルトの名無しさん
04/08/28 01:08
ドコモもMIDP2.0にして欲しいな

142:デフォルトの名無しさん
04/08/28 03:57
最近Vアプリの開発をやり始めましたが、
Vアプリエミュレータ(P5)を直接起動する方法が
分かりづらくて結構手こずってしまった・・・。
とりあえず
「emulator.exe -classpath ○○.jar
-Xdescriptor:○○.jad」
で直接起動できる事は分かりましたが、
これで起動すると、アプリで描画する領域が
Vアプリエミュレータの携帯ディスプレイ領域
からはみ出してしまいます。(エミュレータ側の
Displayサイズ設定が変わってしまうから?)
何かいい解決策はないでしょうか?


143:なっち(○´ー`○)
04/08/28 03:59
MIDP2.0のリファレンス見てたんだけど
3D関係はないのかな?
結局は国内外の各キャリアが
それぞれ独自にAPI追加したんじゃ
国際標準の迫力にかけるねぇ


144:なっち(○´ー`○)
04/08/28 06:34
>>142
emulatorは起動されたディレクトリに
参照できるmachine.profileが存在しない場合に
デフォルトの設定で起動されるみたいなので
こんなバッチファイルで起動するのはどうでしょか・・

[run.bat]
copy C:\V-appli_SDK_121\bin\machine.profile
C:\V-appli_SDK_121\bin\emulator.exe -Xdescriptor:test.jad

正当な手段は>>146が教えてくれる見込みです。

145:デフォルトの名無しさん
04/08/28 11:24
>>144
情報サンクス!
少し邪道な手段ですが、machine.profileを
あらかじめemulatorを起動するディレクトリに
コピペして解決しました。


146:デフォルトの名無しさん
04/08/28 12:54
>>143
Mobile 3D Graphics API for J2ME がオプション規格としてあるそうな。
J2ME Wireless Toolkit 2.2を落としてみるといろいろデモが入っているよ。

147:なっち(○´ー`○)
04/08/28 14:36
>>146
お〜・・・・そうなのね
さっそく落として見ます


148:デフォルトの名無しさん
04/08/28 15:23
Vアプリのエミュレータ起動すると、
起動時のフラッシュ(っていうのかな?タイトルロゴみたいな) が「最前面」で表示されるのどうにかならないですかね。

起動が遅いんで、その間ブラウザを見ようとしても「最前面」にしつこく出てきて、
しかもキーのフォーカスも奪っていくものだから、起動完了するまで待たされる罠。

OS:Windows2000
JDK:J2SDK 1.4.2_05
エミュレータ:P5型の最新

オレだけかな、この現象?

149:なっち(○´ー`○)
04/08/28 16:06
>>148
WinXP、AthlonXP 2200+(1.80GHz)、256MB RAM環境だと
スプラッシュウィンドウの表示は1秒未満だから気にならないみたい。
>>142のまねっこするか、パソコン買い換え・・

>>146
Mobile 3D Graphicsのサンプル見てみました。
エミュで見る限りは重い感じだけど
オプションも導入すれば
大抵のことはMIDP2.0で出来ちゃうってことだね〜

150:デフォルトの名無しさん
04/08/28 17:13
>>148
スプラッシュウィンドウってそういうもの(それが当たり前)だから放っておくしかない。
起動が遅いアプリ(Vエミュに限らず一般的に)が、起動完了まで画面に何も出ないと
ユーザーは「あれ?起動してるのかな?固まってるのかな?」と不安になるので、
ただいま起動中ですよ、の印代わりに1枚絵の画面を出しておく。
そしてアプリ本体が起動すれば消える。
これがスプラッシュ(ぱしゃっと水がはねる→現れてすぐ消えるの意味)ウィンドウの役目。
アプリの作りでスプラッシュウィンドウからフォーカス外せたり最前面から後ろへ回せたり
できないようにしてあるなら、ユーザーはどうしようもない。

151:デフォルトの名無しさん
04/08/28 21:40
>>149-150
スプラッシュウインドウでしたねw

やはりどうしようも無いんですねぇ--;
我慢します。ありがとうございました。

152:デフォルトの名無しさん
04/08/29 02:39
>>139
その記事は妄想ではないですよ。

アプリは国内外問わずに流通されるようになる。のかなぁ。




153:デフォルトの名無しさん
04/08/29 16:55
>>139
ただ、ライブラリがMIDP準拠のとか、
Vオリジナルとか出来ちゃって動作検証で泣くカモ知れない。

1Mアプリやるからには定額制導入するだろうケドも、
テスト面倒と思われ。

154:なっち(○´ー`○)
04/08/29 18:00
キャリア・端末でマチマチになっちゃうと
国際標準である意味が曖昧になるよね。
完全準拠であうとがんばってくれたら
市場活性化すると思うんだけど。
あうはどうなんだっけ、Javaとは決別の方向性なのかな。

155:デフォルトの名無しさん
04/08/29 19:02
URLリンク(www.itmedia.co.jp)
にあるような JSRが導入されれば、互換性もある程度は保証されるかも。
でも、今年でる端末に互換性を求めるのは難しいかも...。



156:デフォルトの名無しさん
04/08/29 19:41
auはJAVA捨て。今売られてるもの以降は出ない。
アプリ目的でキャリア換えする人は少ないから、BREWがよっぽどこけない限り、
JAVAを積極的にやろうとは思わないはず。
BREWにして困るのはCPだけだし。

157:なっち(○´ー`○)
04/08/29 23:58
なるほど。ということは、
docomoはDojaで制約がないので好きにできる。
auはBREWでパフォーマンスを追及できる。
VodafoneはMIDP2.0とJSRで自らに足かせ。


・・・ん?

158:155
04/08/30 02:01
足かせ じゃなくて、コンテンツの流通市場が広がる。
と好意的に解釈しなくちゃ。

同じアプリを世界中にバラまけるようになるはずだし...。


159:デフォルトの名無しさん
04/08/30 20:40
HttpConnection con = null;
con = (HttpConnection)Connector.open(url);

この時点で例外が投げられるってのはどういう場合に考えられますか。

ADFの設定の

MIDlet-Network: Y

MIDlet-X-AllowURL-1: URLリンク(localhost)

は書いてあります。

ブラウザでURLにアクセスするとちゃんと見れます

160:デフォルトの名無しさん
04/08/30 21:59
>>159
例外の内容を書かないのはなぜ?

161:デフォルトの名無しさん
04/08/30 22:02
すいませんでした、エラーの内容を書きます。


catch(Exception e){
System.out.println("HTTP接続に失敗しました");
System.out.println(e);


HTTP接続に失敗しました
java.lang.SecurityException: access denied

162:デフォルトの名無しさん
04/08/30 22:15
>>160
例外の内容を書いたのに答えが無いのはなぜ?

163:デフォルトの名無しさん
04/08/30 22:27
それが分からないから質問してるんですけども

164:デフォルトの名無しさん
04/08/30 22:33
access denied って言われたって

ブラウザから全く同じアドレスで確認できる

ADF設定は上に書いたとおりに行っている

その上でエラーになるので質問をしているんです。

165:デフォルトの名無しさん
04/08/30 22:51
MIDlet-X-AllowURL-1: URLリンク(localhost)
この意味判ってる?

MLでも聞いてるみたいだが‥

166:なっち(○´ー`○)
04/08/31 00:36
質問者本人のレスかわからないけど
例外を教えてやったんだから
答えろって態度はおかしくないかい?
実行環境すら書いてないし。

例外が
java.lang.SecurityException: access denied
とわかっていれば、
この場合はezplusエミュで
MIDlet-X-AllowURL-1属性とマッチしないホストへ
接続を試みているのではないか、
早い話、接続先のURLがおかしいのではないか、
なんて見当もつけられるけど。


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

4900日前に更新/320 KB
担当:undef